前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务项目:尚融宝(44)(核心业务流程:借款申请(1))

微服务项目:尚融宝(44)(核心业务流程:借款申请(1))

作者头像
一个风轻云淡
发布2022-11-15 15:08:45
2550
发布2022-11-15 15:08:45
举报
文章被收录于专栏:java学习java

一、借款人申请借款

1、需求描述

 2、相关数据库表

二、具体步骤

 step1:借款人点击“我要借款”

step2:展示借款信息填写页面 

step3:借款人填写信息并提交

step4:展示等待审核页面

5、平台审核

6、显示审批结果

未通过 

通过 

一、获取借款额度

1、实现思路

(1)获取借款人积分 

(2)根据积分获取借款额度,借款人每次借款不能超过借款额度

2、Controller

BorrowInfoController

代码语言:javascript
复制
@Api(tags = "借款信息")
@RestController
@RequestMapping("/api/core/borrowInfo")
@Slf4j
public class BorrowInfoController {

    @Resource
    private BorrowInfoService borrowInfoService;

    @ApiOperation("获取借款额度")
    @GetMapping("/auth/getBorrowAmount")
    public R getBorrowAmount(HttpServletRequest request) {
        String token = request.getHeader("token");
        Long userId = JwtUtils.getUserId(token);
        BigDecimal borrowAmount = borrowInfoService.getBorrowAmount(userId);
        return R.ok().data("borrowAmount", borrowAmount);
    }
}

2、Service

接口:BorrowInfoService

BigDecimal getBorrowAmount(Long userId);

实现:BorrowInfoServiceImpl

代码语言:javascript
复制
@Service
public class BorrowInfoServiceImpl extends ServiceImpl<BorrowInfoMapper, BorrowInfo> implements BorrowInfoService {

    @Resource
    private UserInfoMapper userInfoMapper;

    @Resource
    private IntegralGradeMapper integralGradeMapper;

    @Override
    public BigDecimal getBorrowAmount(Long userId) {

        //获取用户积分
        UserInfo userInfo = userInfoMapper.selectById(userId);
        Assert.notNull(userInfo, ResponseEnum.LOGIN_MOBILE_ERROR);
        Integer integral = userInfo.getIntegral();

        //根据积分查询借款额度
        QueryWrapper<IntegralGrade> queryWrapper = new QueryWrapper<>();
        queryWrapper.le("integral_start", integral);
        queryWrapper.ge("integral_end", integral);
        IntegralGrade integralGradeConfig = integralGradeMapper.selectOne(queryWrapper);
        if(integralGradeConfig == null){
            return new BigDecimal("0");
        }
        return integralGradeConfig.getBorrowAmount();
    }
}

二、借款入口前端

pages/user/borrower.vue

代码语言:javascript
复制
<NuxtLink to="/user/apply" v-if="borrowerStatus === 2">
  <el-button style="margin-top:20px;" type="success">
    我要借款
  </el-button>
</NuxtLink>

三、借款申请

1、页面

pages/user/apply.vue

2、获取下拉列表

methods中定义

代码语言:javascript
复制
    //初始化下拉列表的数据
    initSelected() {
      //还款方式列表
      this.$axios
        .$get('/api/core/dict/findByDictCode/returnMethod')
        .then((response) => {
          this.returnMethodList = response.data.dictList
        })

      //资金用途列表
      this.$axios
        .$get('/api/core/dict/findByDictCode/moneyUse')
        .then((response) => {
          this.moneyUseList = response.data.dictList
        })
    },

created中调用 

代码语言:javascript
复制
  created() {
    
    //初始化下拉列表
    this.initSelected()
  },

3、获取借款额度

methods中定义

代码语言:javascript
复制
    //获取借款额度
    getBorrowAmount() {
      this.$axios
        .$get('/api/core/borrowInfo/auth/getBorrowAmount')
        .then((response) => {
          this.borrowAmount = response.data.borrowAmount
        })
    },

created中调用 

代码语言:javascript
复制
  created() {
    //获取借款额度
    this.getBorrowAmount()
      
    //初始化下拉列表
    ......
  },

4、判断借款额度

借款人每次借款不能超过借款额度

代码语言:javascript
复制
  watch: {
    'borrowInfo.amount'(value) {
      if (value > this.borrowAmount) {
        let _this = this
        this.$alert('您的借款额度不足!', {
          type: 'error',
          callback() {
            _this.borrowInfo.amount = _this.borrowAmount
          },
        })
      }
    },
  },
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、借款人申请借款
    • 1、需求描述
      •  2、相关数据库表
      • 二、具体步骤
        • 5、平台审核
          • 6、显示审批结果
          • 一、获取借款额度
            • 1、实现思路
              • 2、Controller
                • 2、Service
                • 二、借款入口前端
                • 三、借款申请
                  • 1、页面
                    • 2、获取下拉列表
                      • 3、获取借款额度
                        • 4、判断借款额度
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档