发布时间:2022-11-29 15:32:04 文章来源:互联网
微博 微信 QQ空间

认清现实,放弃幻想,准备斗争一、后端实现

认清现实,放弃幻想,准备斗争一、后端实现

认清现实,放下幻想,准备战斗

一、后端实现 1、实现思路

借款人提交贷款时,必须判断借款人账户绑定状态和借款人信息审批状态。只有这两个身份都确立了,他才能借钱。这两种状态都列在成员资格表中。

目标:将用户在贷款申请表中填写的数据保存在borrow_info数据库表中

2.枚举

借用信息状态枚举

NO_AUTH(0, "未提交"),

CHECK_RUN(1, "检查中"),

CHECK_OK(2, "批准"),

CHECK_FAIL(-1, "验证失败"),

;

状态(0:未提交,1:审核中借款服务申请表,2:通过借款服务申请表,-1:未通过)

3.控制器

借用信息控制器

@ApiOperation("提交借款申请")
@PostMapping("/auth/save")
public R save(@RequestBody BorrowInfo borrowInfo, HttpServletRequest request) {
    String token = request.getHeader("token");
    Long userId = JwtUtils.getUserId(token);
    borrowInfoService.saveBorrowInfo(borrowInfo, userId);
    return R.ok().message("提交成功");
}

4.服务

接口:BorrowInfoService

void saveBorrowInfo(BorrowInfo borrowInfo, Long userId);

实现:BorrowInfoServiceImpl

@Override
public void saveBorrowInfo(BorrowInfo borrowInfo, Long userId) {
    //获取userInfo的用户数据
    UserInfo userInfo = userInfoMapper.selectById(userId);
    //判断用户绑定状态
    Assert.isTrue(
        userInfo.getBindStatus().intValue() == UserBindEnum.BIND_OK.getStatus().intValue(),
        ResponseEnum.USER_NO_BIND_ERROR);
    //判断用户信息是否审批通过
    Assert.isTrue(
        userInfo.getBorrowAuthStatus().intValue() == BorrowerStatusEnum.AUTH_OK.getStatus().intValue(),
        ResponseEnum.USER_NO_AMOUNT_ERROR);
    //判断借款额度是否足够
    BigDecimal borrowAmount = this.getBorrowAmount(userId);
    Assert.isTrue(
        borrowInfo.getAmount().doubleValue() <= borrowAmount.doubleValue(),
        ResponseEnum.USER_AMOUNT_LESS_ERROR);
    //存储数据
    borrowInfo.setUserId(userId);
    //百分比转成小数
    borrowInfo.setBorrowYearRate( borrowInfo.getBorrowYearRate().divide(new BigDecimal(100)));
    borrowInfo.setStatus(BorrowInfoStatusEnum.CHECK_RUN.getStatus());
    baseMapper.insert(borrowInfo);
}

2.前端提交贷款申请

页面/用户/apply.vue

    //提交借款申请
    save() {
      // this.submitBtnDisabled = true
      this.$$axios
        .$$post('/api/core/borrowInfo/auth/save', this.borrowInfo)
        .then((response) => {
          this.active = 1
        })
    },

另一视角

换一换