微服务项目:尚融宝(41)(核心业务流程:借款额度审批)

该博客主要介绍了如何在Java后端通过扩展实体类、Controller、Service和Mapper来实现借款信息列表的关联查询和展示。在BorrowInfo类中添加扩展字段,Controller中创建接口并调用Service,Service利用DictService获取数据字典的文本内容,Mapper负责SQL查询,最终将字典值转换为文本返回给前端。
摘要由CSDN通过智能技术生成

认清现实,放弃幻想,准备斗争 

借款信息列表

需求

一、后端实现

1、扩展实体对象

列表的结果需要关联查询,数据字典的数据也需要展示对应的文本内容而不是值,除了定义VO的方式,我们也可以使用扩展实体类的方式 

在BorrowInfo类中扩展以下字段

//扩展字段
@ApiModelProperty(value = "姓名")
@TableField(exist = false)
private String name;

@ApiModelProperty(value = "手机")
@TableField(exist = false)
private String mobile;

@ApiModelProperty(value = "其他参数")
@TableField(exist = false)
private Map<String,Object> param = new HashMap<>();

2、Controller

添加 AdminBorrowInfoController

@Api(tags = "借款管理")
@RestController
@RequestMapping("/admin/core/borrowInfo")
@Slf4j
public class AdminBorrowInfoController {

    @Resource
    private BorrowInfoService borrowInfoService;

    @ApiOperation("借款信息列表")
    @GetMapping("/list")
    public R list() {
        List<BorrowInfo>  borrowInfoList = borrowInfoService.selectList();
        return R.ok().data("list", borrowInfoList);
    }
}

3、Service

接口:BorrowInfoService

List<BorrowInfo> selectList();

实现:BorrowInfoServiceImpl 

@Resource
private DictService dictService;

@Override
public List<BorrowInfo> selectList() {
    List<BorrowInfo> borrowInfoList = baseMapper.selectBorrowInfoList();
    borrowInfoList.forEach(borrowInfo -> {
        String returnMethod = dictService.getNameByParentDictCodeAndValue("returnMethod", borrowInfo.getReturnMethod());
        String moneyUse = dictService.getNameByParentDictCodeAndValue("moneyUse", borrowInfo.getMoneyUse());
        String status = BorrowInfoStatusEnum.getMsgByStatus(borrowInfo.getStatus());
        borrowInfo.getParam().put("returnMethod", returnMethod);
        borrowInfo.getParam().put("moneyUse", moneyUse);
        borrowInfo.getParam().put("status", status);
    });

    return borrowInfoList;
}

4、Mapper

接口:BorrowInfoMapper

<select id="selectBorrowInfoList" resultType="com.atguigu.srb.core.pojo.entity.BorrowInfo">
    SELECT
    bi.*,
    b.name,
    b.mobile
    FROM
    borrow_info AS bi
    LEFT JOIN borrower AS b ON bi.user_id = b.user_id
    WHERE bi.is_deleted = 0
</select>

 BorrowInfoStatusEnum.getMsgByStatus

   @Override
    public String getNameByparantDictAndValue(String dictCode,Integer value) {
        QueryWrapper<Dict> wrapper = new QueryWrapper<>();
        wrapper.eq("dict_code",dictCode);
        Dict dict = baseMapper.selectOne(wrapper);
        if(dict==null){
            return "";
        }
        wrapper=new QueryWrapper<>();
        wrapper.eq("parent_id",dict.getId())
                .eq("value",value);
        Dict dict1 = baseMapper.selectOne(wrapper);
        if (dict1==null){
            return  "";
        }
        return  dict1.getName();
    }

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个风轻云淡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值