From 3e904a292c877ca1e4d52efbc6acff65cb54c31f Mon Sep 17 00:00:00 2001 From: "=.*" <17638147107@163.com> Date: Fri, 14 Jun 2024 15:29:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=9C=9F=E5=95=86=E6=88=B7=E5=92=8C?= =?UTF-8?q?=E5=88=86=E6=9C=9F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chushang/controller/LoanController.java | 61 +++++++++ .../com/chushang/domin/dto/LoanApproval.java | 41 ++++++ .../com/chushang/domin/dto/LoanFormData.java | 62 +++++++++ .../domin/entity/LoanAduitEntity.java | 79 +++++++++++ .../com/chushang/domin/entity/LoanEntity.java | 125 ++++++++++++++++++ .../chushang/domin/query/LoanFormQuery.java | 51 +++++++ .../java/com/chushang/domin/vo/LoanData.java | 42 ++++++ .../java/com/chushang/domin/vo/LoanVO.java | 49 +++++++ .../com/chushang/mapper/LoanAduitMapper.java | 9 ++ .../java/com/chushang/mapper/LoanMapper.java | 15 +++ .../chushang/service/ILoanAduitService.java | 15 +++ .../com/chushang/service/ILoanService.java | 21 +++ .../service/impl/LoanAduitServiceImpl.java | 19 +++ .../service/impl/LoanServiceImpl.java | 99 ++++++++++++++ 14 files changed, 688 insertions(+) create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanApproval.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanFormData.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanAduitEntity.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanEntity.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanData.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanAduitMapper.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanAduitService.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanAduitServiceImpl.java create mode 100644 chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java new file mode 100644 index 0000000..71c2554 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java @@ -0,0 +1,61 @@ +package com.chushang.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.common.core.web.AjaxResult; +import com.chushang.domin.dto.LoanApproval; +import com.chushang.domin.entity.LoanEntity; +import com.chushang.domin.query.LoanFormQuery; +import com.chushang.service.ILoanService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; + +@RestController +@RequestMapping("/loan") +public class LoanController { + + + @Autowired + private ILoanService iLoanService; + + +// /** +// * 提交表单数据 +// */ +// @PostMapping("/submit") +// public void submitFormData(@RequestBody @Validated LoanFormData formData) { +// iLoanService.submitFormData(formData); +// } + + /** + * 查询表单 + */ + @PostMapping("/find") + public Page queryLoan(@RequestBody LoanFormQuery query) { + return iLoanService.queryLoan(query); + } + + + /** + * 查询表单 + */ + @PostMapping("/data") + public Page data(@RequestBody LoanFormQuery query) { + return iLoanService.queryData(query); + } + + + /** + * 审批 + */ + @PostMapping("/approval") + public AjaxResult approval(@RequestBody @Validated LoanApproval approval) { + return AjaxResult.success(iLoanService.approval(approval)); + } +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanApproval.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanApproval.java new file mode 100644 index 0000000..a9067f0 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanApproval.java @@ -0,0 +1,41 @@ +package com.chushang.domin.dto; + +import lombok.Data; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.DecimalMin; +import javax.validation.constraints.Digits; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +public class LoanApproval implements Serializable { + + /** + * 主键 + */ + @NotNull(message = "id不能为空") + private Long id; + + /** + * 跟进状态 + */ + @NotNull(message = "审批状态不能为空") + @Range(max = 3, min = 2, message = "审批状态只能选择审批通过或审批拒绝") + private Integer status; + + /** + * 放款金额 + */ + @Digits(integer = 9, fraction = 2, message = "申请金额格式不正确") + @DecimalMin(value = "0.00", message = "申请金额不能是负数") + private BigDecimal loanAmount; + + /** + * 拒绝原因 + */ + @Size(max = 310, message = "房屋地址不能超过310个字符") + private String denialReason; +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanFormData.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanFormData.java new file mode 100644 index 0000000..44196d7 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/dto/LoanFormData.java @@ -0,0 +1,62 @@ +package com.chushang.domin.dto; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +public class LoanFormData implements Serializable { + + /** 业务员id */ + @NotNull(message = "业务员id不能为空") + private Long userId; + + /** 渠道id */ + @NotNull(message = "渠道id不能为空") + private Long channelId; + + /** 渠道名称 */ + @NotEmpty(message = "渠道名称不能为空") + @Size(max = 127, message = "渠道名称不能超过127个字符") + private String channelName; + + /** 提交人姓名 */ + @NotEmpty(message = "提交人姓名不能为空") + @Size(max = 127, message = "提交人姓名不能超过127个字符") + private String authorName; + + /** 提交人联系方式 */ + @NotEmpty(message = "提交人联系方式不能为空") + @Size(max = 127, message = "提交人联系方式不能超过127个字符") + private String authorPhone; + + /** 客户姓名 */ + @NotEmpty(message = "客户姓名不能为空") + @Size(max = 127, message = "客户姓名不能超过127个字符") + private String customerName; + + /** 客户手机号 */ + @NotEmpty(message = "客户手机号不能为空") + @Size(max = 63, message = "客户手机号不能超过63个字符") + private String customerPhone; + + /** 申请金额 */ + @Digits(integer = 9, fraction = 2, message = "申请金额格式不正确") + @DecimalMin(value = "0.00", message = "申请金额不能是负数") + @NotNull(message = "申请金额不能为空") + private BigDecimal applicationAmount; + + /** 房屋地址 */ + @NotEmpty(message = "房屋地址不能为空") + @Size(max = 310, message = "房屋地址不能超过310个字符") + private String houseAddress; + + /** 房屋面积 */ + @NotEmpty(message = "房屋面积不能为空") + @Size(max = 63, message = "房屋面积不能超过63个字符") + private String houseArea; +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanAduitEntity.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanAduitEntity.java new file mode 100644 index 0000000..f4fa54d --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanAduitEntity.java @@ -0,0 +1,79 @@ +package com.chushang.domin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chushang.common.mybatis.base.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 借贷业务数据表 实体类。 + * + * @author mybatis-flex-helper automatic generation + * @since 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "loan_aduit") +@Builder +public class LoanAduitEntity extends BaseEntity { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 贷款id + */ + @TableField(value = "load_id") + private Long loadId; + + /** + * 跟进状态 1 待审核 2 审核成功 3 审核拒绝 + */ + @TableField(value = "status") + private Integer status; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 审批人id + */ + @TableField(value = "approver_id") + private Long approverId; + + /** + * 审批人姓名 + */ + @TableField(value = "approver_name") + private String approverName; + + /** + * 审批时间 + */ + @TableField(value = "approver_time") + private LocalDateTime approverTime; + + /** + * 拒绝原因 + */ + @TableField(value = "denial_reason") + private String denialReason; + + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanEntity.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanEntity.java new file mode 100644 index 0000000..7e85949 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/entity/LoanEntity.java @@ -0,0 +1,125 @@ +package com.chushang.domin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.chushang.common.mybatis.base.BaseEntity; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 借贷业务数据表 实体类。 + * + * @author mybatis-flex-helper automatic generation + * @since 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "loan") +@Builder +public class LoanEntity extends BaseEntity { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 用户id + */ + @TableField(value = "user_id") + private Long userId; + + /** + * 渠道id + */ + @TableField(value = "dept_id") + private Long deptId; + + /** + * 渠道名 + */ + @TableField(value = "channel_name") + private String channelName; + + /** + * 表单编号 + */ + @TableField(value = "form_number") + private String formNumber; + + /** + * 提交人姓名 + */ + @TableField(value = "author_name") + private String authorName; + + /** + * 提交人手机号 + */ + @TableField(value = "author_phone") + private String authorPhone; + + /** + * 提交时间 + */ + @TableField(value = "submission_time") + private LocalDateTime submissionTime; + + /** + * 客户姓名 + */ + @TableField(value = "customer_name") + private String customerName; + + /** + * 客户手机号 + */ + @TableField(value = "customer_phone") + private String customerPhone; + + /** + * 申请金额 + */ + @TableField(value = "application_amount") + private BigDecimal applicationAmount; + + /** + * 房屋地址 + */ + @TableField(value = "house_address") + private String houseAddress; + + /** + * 房屋面积 + */ + @TableField(value = "house_area") + private String houseArea; + + /** + * 跟进状态 1 待审核 2 审核成功 3 审核拒绝 + */ + @TableField(value = "status") + private Integer status; + + /** + * 放款金额 + */ + @TableField(value = "loan_amount") + private BigDecimal loanAmount; + + /** + * 拒绝原因 + */ + @TableField(value = "denial_reason") + private String denialReason; + + + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java new file mode 100644 index 0000000..0bc71a2 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java @@ -0,0 +1,51 @@ +package com.chushang.domin.query; + +import cn.hutool.core.date.DatePattern; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.time.LocalDateTime; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class LoanFormQuery { + + /** 编号 */ + private String formNumber; + + /** 时间区间 */ + @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN) + private List submissionTimes; + + /** 业务状态 */ + private Integer status; + + /** 提交人姓名/手机号 */ + private String author; + + /** 渠道名称 */ + private String channelName; + + /** 渠道ID */ + private Long channelId; + + /** 当前页 */ + protected Integer page; + + /** 每页显示条数 */ + protected Integer limit; + + public Page of() { + return Page.of(page, limit); + } +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanData.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanData.java new file mode 100644 index 0000000..feadddf --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanData.java @@ -0,0 +1,42 @@ +package com.chushang.domin.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +public class LoanData implements Serializable { + + /** + * 渠道名 + */ + private String channelName; + + /** + * 提交人姓名 + */ + private String authorName; + + /** + * 提交人手机号 + */ + private String authorPhone; + + /** + * 总开通量 + */ + private Integer totalOpenFlux; + + /** + * 总放款金额 + */ + private BigDecimal totalLoanAmount; + + /** + * 总交易金额 + */ + private BigDecimal totalTransactionAmount; +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java new file mode 100644 index 0000000..2ef2064 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java @@ -0,0 +1,49 @@ +package com.chushang.domin.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@NoArgsConstructor +public class LoanVO implements Serializable { + + /** + * 主键 + */ + private Long id; + + /** + * 渠道名 + */ + private String channelName; + + /** + * 提交人姓名 + */ + private String authorName; + + /** + * 提交人手机号 + */ + private String authorPhone; + + /** + * 总开通量 + */ + private Integer totalOpenFlux; + + /** + * 总房贷金额 + */ + private BigDecimal totalLoanAmount; + + /** + * 总交易金额 + */ + private BigDecimal totalTransactionAmount; + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanAduitMapper.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanAduitMapper.java new file mode 100644 index 0000000..9e2747b --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanAduitMapper.java @@ -0,0 +1,9 @@ +package com.chushang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chushang.domin.entity.LoanAduitEntity; + +public interface LoanAduitMapper extends BaseMapper { + + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java new file mode 100644 index 0000000..8b289dd --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java @@ -0,0 +1,15 @@ +package com.chushang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chushang.domin.entity.LoanEntity; +import com.chushang.domin.query.LoanFormQuery; +import com.chushang.domin.vo.LoanVO; + +import java.util.List; + +public interface LoanMapper extends BaseMapper { + + +// List queryDataList(LoanFormQuery loanFormQuery); + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanAduitService.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanAduitService.java new file mode 100644 index 0000000..d75b928 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanAduitService.java @@ -0,0 +1,15 @@ +package com.chushang.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.domin.dto.LoanApproval; +import com.chushang.domin.dto.LoanFormData; +import com.chushang.domin.entity.LoanAduitEntity; +import com.chushang.domin.entity.LoanEntity; +import com.chushang.domin.query.LoanFormQuery; + +public interface ILoanAduitService { + + void insertAduit(LoanAduitEntity loanAduitEntity); + + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java new file mode 100644 index 0000000..e6a02c6 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java @@ -0,0 +1,21 @@ +package com.chushang.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.domin.dto.LoanApproval; +import com.chushang.domin.dto.LoanFormData; +import com.chushang.domin.entity.LoanEntity; +import com.chushang.domin.query.LoanFormQuery; +import org.springframework.stereotype.Service; + +public interface ILoanService { + + void submitFormData(LoanFormData formData); + + Page queryLoan(LoanFormQuery query); + + Page queryData(LoanFormQuery query); + + boolean approval(LoanApproval approval); + + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanAduitServiceImpl.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanAduitServiceImpl.java new file mode 100644 index 0000000..0ed23e2 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanAduitServiceImpl.java @@ -0,0 +1,19 @@ +package com.chushang.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chushang.domin.entity.LoanAduitEntity; +import com.chushang.mapper.LoanAduitMapper; +import com.chushang.service.ILoanAduitService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class LoanAduitServiceImpl extends ServiceImpl implements ILoanAduitService { + + + @Override + public void insertAduit(LoanAduitEntity loanAduitEntity) { + baseMapper.insert(loanAduitEntity); + } +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java new file mode 100644 index 0000000..efe1bf5 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java @@ -0,0 +1,99 @@ +package com.chushang.service.impl; + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chushang.domin.dto.LoanApproval; +import com.chushang.domin.dto.LoanFormData; +import com.chushang.domin.entity.LoanAduitEntity; +import com.chushang.domin.entity.LoanEntity; +import com.chushang.domin.query.LoanFormQuery; +import com.chushang.mapper.LoanMapper; +import com.chushang.security.entity.po.SysDept; +import com.chushang.security.utils.SecurityUtils; +import com.chushang.service.ILoanAduitService; +import com.chushang.service.ILoanService; +import lombok.extern.slf4j.Slf4j; +import org.apache.logging.log4j.util.Strings; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Objects; + +@Slf4j +@Service +public class LoanServiceImpl extends ServiceImpl implements ILoanService { + + + @Autowired + ILoanAduitService iLoanAduitService; + + @Override + public void submitFormData(LoanFormData formData) { + + } + + + + + @Override + public Page queryLoan(LoanFormQuery query) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(Strings.isNotEmpty(query.getAuthor()), "author_name", query.getAuthor()); + queryWrapper.eq(!Objects.isNull(query.getStatus()), "status", query.getStatus()); + queryWrapper.eq(Strings.isNotEmpty(query.getChannelName()), "channel_name", query.getChannelName()); + queryWrapper.eq(Strings.isNotEmpty(query.getFormNumber()), "form_number", query.getFormNumber()); + if (!Objects.isNull(query.getSubmissionTimes()) && query.getSubmissionTimes().size() > 1) { + queryWrapper.between("submission_time", query.getSubmissionTimes().get(0), query.getSubmissionTimes().get(1)); + } + return baseMapper.selectPage(query.of(), queryWrapper); + } + + @Override + public Page queryData(LoanFormQuery query) { + + + return null; + } + + @Override + @Transactional + public boolean approval(LoanApproval approval) { + boolean flag = false; + if (approval.getStatus().equals(3) && StrUtil.isEmpty(approval.getDenialReason())) { + Assert.isTrue(false, "审批拒绝请注明原因"); + } else if (approval.getStatus() == 2 && approval.getLoanAmount() == null) { + Assert.isTrue(false, "审批通过请填写通过额度"); + } + LoanEntity loan = baseMapper.selectById(approval.getId()); + Assert.isTrue(loan != null && loan.getStatus() == 1, "表单不存在或已经审批过"); + loan.setDenialReason(approval.getDenialReason()); + loan.setStatus(approval.getStatus()); + loan.setLoanAmount(approval.getLoanAmount()); + + + LoanAduitEntity loanAduitEntity = new LoanAduitEntity(); + loanAduitEntity.setStatus(approval.getStatus()); + loanAduitEntity.setLoadId(loan.getId()); + loanAduitEntity.setApproverId(SecurityUtils.getUserId()); + loanAduitEntity.setApproverName(SecurityUtils.getUsername()); + loanAduitEntity.setDenialReason(approval.getDenialReason()); + try { + iLoanAduitService.insertAduit(loanAduitEntity); + baseMapper.updateById(loan); + flag = true; + } catch (Exception e) { + log.error(e.getMessage()); + flag = false; + } + return flag; + } +} + +