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


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

    借款信息列表

    需求

    一、后端实现

    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 param = new HashMap<>();

    2、Controller

    添加 AdminBorrowInfoController

    1. @Api(tags = "借款管理")
    2. @RestController
    3. @RequestMapping("/admin/core/borrowInfo")
    4. @Slf4j
    5. public class AdminBorrowInfoController {
    6. @Resource
    7. private BorrowInfoService borrowInfoService;
    8. @ApiOperation("借款信息列表")
    9. @GetMapping("/list")
    10. public R list() {
    11. List borrowInfoList = borrowInfoService.selectList();
    12. return R.ok().data("list", borrowInfoList);
    13. }
    14. }

    3、Service

    接口:BorrowInfoService

    List selectList();

    实现:BorrowInfoServiceImpl 

    1. @Resource
    2. private DictService dictService;
    3. @Override
    4. public List selectList() {
    5. List borrowInfoList = baseMapper.selectBorrowInfoList();
    6. borrowInfoList.forEach(borrowInfo -> {
    7. String returnMethod = dictService.getNameByParentDictCodeAndValue("returnMethod", borrowInfo.getReturnMethod());
    8. String moneyUse = dictService.getNameByParentDictCodeAndValue("moneyUse", borrowInfo.getMoneyUse());
    9. String status = BorrowInfoStatusEnum.getMsgByStatus(borrowInfo.getStatus());
    10. borrowInfo.getParam().put("returnMethod", returnMethod);
    11. borrowInfo.getParam().put("moneyUse", moneyUse);
    12. borrowInfo.getParam().put("status", status);
    13. });
    14. return borrowInfoList;
    15. }

    4、Mapper

    接口:BorrowInfoMapper

    1. <select id="selectBorrowInfoList" resultType="com.atguigu.srb.core.pojo.entity.BorrowInfo">
    2. SELECT
    3. bi.*,
    4. b.name,
    5. b.mobile
    6. FROM
    7. borrow_info AS bi
    8. LEFT JOIN borrower AS b ON bi.user_id = b.user_id
    9. WHERE bi.is_deleted = 0
    10. </select>

     BorrowInfoStatusEnum.getMsgByStatus

    1. @Override
    2. public String getNameByparantDictAndValue(String dictCode,Integer value) {
    3. QueryWrapper wrapper = new QueryWrapper<>();
    4. wrapper.eq("dict_code",dictCode);
    5. Dict dict = baseMapper.selectOne(wrapper);
    6. if(dict==null){
    7. return "";
    8. }
    9. wrapper=new QueryWrapper<>();
    10. wrapper.eq("parent_id",dict.getId())
    11. .eq("value",value);
    12. Dict dict1 = baseMapper.selectOne(wrapper);
    13. if (dict1==null){
    14. return "";
    15. }
    16. return dict1.getName();
    17. }

  • 相关阅读:
    【图像处理】用于图像分类的局部约束线性编码(Python代码实现)
    HTTP 报文详解
    充气泵绝压型压力传感器
    10.2 调试事件获取DLL装载
    Fiddler 安装及使用教程(移动端 App 抓包)
    工作流自动化助您以实用和创新的方式应对信息管理挑战
    MySQL常用函数(聚合函数)
    MATLAB 机械臂逆运动学进行轨迹控制建模
    js对象、类、面向对象编程
    JSP页面中page指令有哪些属性及方法可使用呢?
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126883004