分期商户和分期数据
This commit is contained in:
parent
228a4b755c
commit
3e904a292c
|
|
@ -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<LoanEntity> queryLoan(@RequestBody LoanFormQuery query) {
|
||||||
|
return iLoanService.queryLoan(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询表单
|
||||||
|
*/
|
||||||
|
@PostMapping("/data")
|
||||||
|
public Page<LoanEntity> data(@RequestBody LoanFormQuery query) {
|
||||||
|
return iLoanService.queryData(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批
|
||||||
|
*/
|
||||||
|
@PostMapping("/approval")
|
||||||
|
public AjaxResult approval(@RequestBody @Validated LoanApproval approval) {
|
||||||
|
return AjaxResult.success(iLoanService.approval(approval));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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<LocalDateTime> submissionTimes;
|
||||||
|
|
||||||
|
/** 业务状态 */
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/** 提交人姓名/手机号 */
|
||||||
|
private String author;
|
||||||
|
|
||||||
|
/** 渠道名称 */
|
||||||
|
private String channelName;
|
||||||
|
|
||||||
|
/** 渠道ID */
|
||||||
|
private Long channelId;
|
||||||
|
|
||||||
|
/** 当前页 */
|
||||||
|
protected Integer page;
|
||||||
|
|
||||||
|
/** 每页显示条数 */
|
||||||
|
protected Integer limit;
|
||||||
|
|
||||||
|
public <R> Page<R> of() {
|
||||||
|
return Page.of(page, limit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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<LoanAduitEntity> {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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<LoanEntity> {
|
||||||
|
|
||||||
|
|
||||||
|
// List<LoanVO> queryDataList(LoanFormQuery loanFormQuery);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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<LoanEntity> queryLoan(LoanFormQuery query);
|
||||||
|
|
||||||
|
Page<LoanEntity> queryData(LoanFormQuery query);
|
||||||
|
|
||||||
|
boolean approval(LoanApproval approval);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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<LoanAduitMapper, LoanAduitEntity> implements ILoanAduitService {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertAduit(LoanAduitEntity loanAduitEntity) {
|
||||||
|
baseMapper.insert(loanAduitEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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<LoanMapper, LoanEntity> implements ILoanService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ILoanAduitService iLoanAduitService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void submitFormData(LoanFormData formData) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<LoanEntity> queryLoan(LoanFormQuery query) {
|
||||||
|
|
||||||
|
QueryWrapper<LoanEntity> 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<LoanEntity> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue