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

一、后端开发

1、定义VO对象

service-core微服务,创建BorrowerVO

@Data
@ApiModel(description="借款人认证信息")
public class BorrowerVO {@ApiModelProperty(value = "性别(1:男 0:女)")private Integer sex;@ApiModelProperty(value = "年龄")private Integer age;@ApiModelProperty(value = "学历")private Integer education;@ApiModelProperty(value = "是否结婚(1:是 0:否)")private Boolean marry;@ApiModelProperty(value = "行业")private Integer industry;@ApiModelProperty(value = "月收入")private Integer income;@ApiModelProperty(value = "还款来源")private Integer returnSource;@ApiModelProperty(value = "联系人名称")private String contactsName;@ApiModelProperty(value = "联系人手机")private String contactsMobile;@ApiModelProperty(value = "联系人关系")private Integer contactsRelation;@ApiModelProperty(value = "借款人附件资料")private List<BorrowerAttach> borrowerAttachList;
}

2、定义枚举

BorrowerStatusEnum

数据库设计中对应认证状态status (0:未认证,1:认证中, 2:认证通过, -1:认证失败)

3、controller

service-core中在BorrowerController中定义接口方法

@Api(tags = "借款人")
@RestController
@RequestMapping("/api/core/borrower")
@Slf4j
public class BorrowerController {@Resourceprivate BorrowerService borrowerService;@ApiOperation("保存借款人信息")@PostMapping("/auth/save")public R save(@RequestBody BorrowerVO borrowerVO, HttpServletRequest request) {String token = request.getHeader("token");Long userId = JwtUtils.getUserId(token);borrowerService.saveBorrowerVOByUserId(borrowerVO, userId);return R.ok().message("信息提交成功");}
}

6、service

接口:BorrowerService 

void saveBorrowerVOByUserId(BorrowerVO borrowerVO, Long userId);

实现:BorrowerServiceImpl 

@Resource
private BorrowerAttachMapper borrowerAttachMapper;@Resource
private UserInfoMapper userInfoMapper;@Transactional(rollbackFor = Exception.class)
@Override
public void saveBorrowerVOByUserId(BorrowerVO borrowerVO, Long userId) {UserInfo userInfo = userInfoMapper.selectById(userId);//保存借款人信息Borrower borrower = new Borrower();BeanUtils.copyProperties(borrowerVO, borrower);borrower.setUserId(userId);borrower.setName(userInfo.getName());borrower.setIdCard(userInfo.getIdCard());borrower.setMobile(userInfo.getMobile());borrower.setStatus(BorrowerStatusEnum.AUTH_RUN.getStatus());//认证中baseMapper.insert(borrower);//保存附件List<BorrowerAttach> borrowerAttachList = borrowerVO.getBorrowerAttachList();borrowerAttachList.forEach(borrowerAttach -> {borrowerAttach.setBorrowerId(borrower.getId());borrowerAttachMapper.insert(borrowerAttach);});//更新会员状态,更新为认证中userInfo.setBorrowAuthStatus(BorrowerStatusEnum.AUTH_RUN.getStatus());userInfoMapper.updateById(userInfo);
}

二、前端整合

pages/user/borrower.vue 脚本

save() {// debuggerthis.submitBtnDisabled = truethis.$axios.$post('/api/core/borrower/save', this.borrower).then((response) => {this.active = 1})
},

一、获取借款人状态

1、BorrowerController

@ApiOperation("获取借款人认证状态")
@GetMapping("/auth/getBorrowerStatus")
public R getBorrowerStatus(HttpServletRequest request){String token = request.getHeader("token");Long userId = JwtUtils.getUserId(token);Integer status = borrowerService.getStatusByUserId(userId);return R.ok().data("borrowerStatus", status);
}

2、service

接口:BorrowerService

Integer getStatusByUserId(Long userId);

实现:BorrowerServiceImpl 

@Override
public Integer getStatusByUserId(Long userId) {QueryWrapper<Borrower> borrowerQueryWrapper = new QueryWrapper<>();borrowerQueryWrapper.select("status").eq("user_id", userId);List<Object> objects = baseMapper.selectObjs(borrowerQueryWrapper);if(objects.size() == 0){//借款人尚未提交信息return BorrowerStatusEnum.NO_AUTH.getStatus();}Integer status = (Integer)objects.get(0);return status;
}

二、前端开发

pages/user/borrower.vue 脚本

将this.initSelected()在this.getUserInfo()中调用

 methods中添加方法:

//获取借款人信息
getUserInfo() {this.$axios.$get('/api/core/borrower/auth/getBorrowerStatus').then((response) => {this.borrowerStatus = response.data.borrowerStatusif (this.borrowerStatus === 0) {//未认证this.active = 0//获取下拉列表this.initSelected()} else if (this.borrowerStatus === 1) {//认证中this.active = 1} else if (this.borrowerStatus === 2) {//认证成功this.active = 2} else if (this.borrowerStatus === -1) {//认证失败this.active = 2}})
}

将 data() 中 active的初始化值设置为null 

 active: null, //步骤

微服务项目:尚融宝(40)(核心业务流程:申请借款额度(3))相关推荐

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

    认清现实,放弃幻想,准备斗争 前端 1.创建页面组件 创建 src/views/core/borrow-info/list.vue <template><div class=&quo ...

  2. 微服务项目:尚融宝(53)(核心业务流程:投标(4))

    认清现实,放弃幻想,准备斗争 前端整合 投资 pages/lend/_id.vue //投资commitInvest() {//校验用户是否登录let userInfo = cookie.get('u ...

  3. 微服务项目:尚融宝(59)(核心业务流程:提现和还款(2))

    认清现实,放弃幻想,准备斗争 需求 放款成功后,会生成借款人的还款计划与出借人的回款计划,然后借款人按照还款计划日期操作还款即可. 参考<汇付宝商户账户技术文档>3.14还款扣款,处理业务 ...

  4. 微服务项目:尚融宝(1)(项目介绍)

    从今天开始做一个全栈项目,巩固学完的springcloud,复习之前学过的ssm mp redis MQ等知识点,拿下我的第二个项目 .技术栈中未掌握部署,计划到项目后期部署的时候,再自学一波 放弃幻 ...

  5. 【金融项目】尚融宝项目(三)

    5.管理平台前端搭建 5.1.搭建管理平台前端程序 5.1.1.vue-element-admin vue-element-admin是基于element-ui 的一套后台管理系统集成方案. GitH ...

  6. 【金融项目】尚融宝项目(十四)

    27.放款 27.1.需求介绍 27.1.1.平台放款 1.需求描述 标的募资时间到,平台会操作放款或撤标,如果达到放款条件则操作放款 说明:撤标过程与放款过程一致,处理业务相对简单,只是将出借金额返 ...

  7. 【金融项目】尚融宝项目(十六)

    31.RabbitMQ 31.1.整合Rabbit MQ发送短信 31.1.1.MQ服务器设置 1.访问MQ控制台 http://192.168.100.103:15672 2.创建用户 创建用户 s ...

  8. 【金融项目】尚融宝项目(十五)

    29.提现和还款 29.1.提现 29.1.1.需求 放款成功后,借款人可以申请提现. 参考<汇付宝商户账户技术文档>3.15用户申请提现 29.1.2.前端整合 pages/user/w ...

  9. 【金融项目】尚融宝项目(十)

    19.申请借款额度 19.1.需求介绍 19.1.1.借款人申请额度 1.需求描述 平台管理员根据借款人个人信息设置积分,通过积分规则借款人可以获取额度. 2.相关数据库表 19.1.2.具体步骤 s ...

  10. 【金融项目】尚融宝项目(四)

    6.Alibaba EasyExcel 6.1.EasyExcel简介 6.1.1.Excel导入导出的应用场景 6.1.1.1.数据导入 减轻录入工作量 6.1.1.2.数据导出 统计信息归档 6. ...

最新文章

  1. docker mysql总是退出_Docker提升测试效率之路
  2. IIS之Web服务器
  3. 端侧机器学习框架 Tensorlfow Lite
  4. 兴业银行网银签名控件官方版
  5. 计算机设置启动恢复出厂设置密码,bios怎么恢复出厂设置方法
  6. SQL Server 2008 R2的完全卸载
  7. 免费使用微软Azure进行文字转语音的三种方法!最自然接近人声的机器配音技术。
  8. linux恢复群晖数据,数据丢失的后悔药,群晖NAS备份方案详解
  9. 为什么程序员不需要MATLAB技能?
  10. 【HEVC】CTU,CU,PU,TU的划分
  11. map集合用于存储信息(映射关系)
  12. Stimulsoft.Report的代码实现功能自学整理(二)
  13. Python开发工具Spyder安装
  14. item_password-获得淘口令真实url接口,淘宝app短链接商品接口,1688商品淘口令url接口
  15. 蓝桥杯省赛 走方格(多种方法)
  16. 欢迎使用CSDN-markdown反向跟单可持盈利探讨
  17. 业务系统成功微服务化改造的实施步骤
  18. JVM#Java高墙之GC与内存分配策略
  19. 当PLSQL一直打不开怎么办
  20. PTA 习题5-2 使用函数求奇数和 (15分)

热门文章

  1. 装配式施工在建筑装修中的应用研究
  2. Hibernate中,mappedBy和注解@JoinColumn的对比
  3. 加装ssd固态硬盘基本要求
  4. 九宫格一条线连起来_9个圆圈用4条线连起来-九个点用四条线连接-数学-霍甲心同学...
  5. win10网络重置后,网卡驱动消失且装不上驱动的以及驱动带感叹号的解决办法
  6. Open vSwitch系列实验(三):Open vSwitch的VxLAN隧道网络实验
  7. prism Mac版医学绘图软件如何使用?prism使用教程
  8. 兆易创新携手合肥产投进军12英寸晶圆存储器
  9. 苹果自带输入法怎么换行_iPhone输入无法换行?这些办法解决你的问题
  10. 关于windows10升级