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

本文涉及的产品
云原生网关 MSE Higress,422元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务项目:尚融宝(45)(核心业务流程:借款申请(2))

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



412c650b66464cf9a46b9fe2864999b8.png


一、后端实现



1、实现思路


借款人提交借款要判断借款人账户绑定状态与借款人信息审批状态,只有这两个状态都成立才能借款,这两个状态都在会员表中


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


2、枚举


BorrowInfoStatusEnum


  NO_AUTH(0, "未提交"),
    CHECK_RUN(1, "审核中"),
    CHECK_OK(2, "审核通过"),
    CHECK_FAIL(-1, "审核不通过"),
    ;


状态(0:未提交,1:审核中, 2:审核通过, -1:审核不通过)


3、Controller


BorrowInfoController


@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、Service


接口: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);
}



二、前端



提交借款申请


pages/user/apply.vue


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



今日分享



晶体管

第二代计算机采用的主要元件是晶体管,称为晶体管计算机。计算机软件有了较大发展,程序语言也出现了Fortran,Cobol计算机高级语言,采用了监控程序,这是操作系统的雏形。

主要特点:

1、体积小,可靠性增强,寿命延长。

2、运算速度快。

3、提高了操纵系统适应性。

4、容量提高。

5、应用领域扩大。


相关文章
|
6月前
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
547 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
6月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
88 0
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
672 0
|
6月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
215 0
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
在微服务架构中,随着业务复杂度增加,项目可能需要调用多个微服务。为避免使用`@Value`注解逐一引入配置的繁琐,可通过定义配置类(如`MicroServiceUrl`)并结合`@ConfigurationProperties`注解实现批量管理。此方法需在配置文件中设置微服务地址(如订单、用户、购物车服务),并通过`@Component`将配置类纳入Spring容器。最后,在Controller中通过`@Resource`注入配置类即可便捷使用,提升代码可维护性。
93 0
|
10月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
519 6
|
10月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
242 1
|
9月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
642 71
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
12月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
12月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1