催收金额、导出列表数据筛选等催收模块以及客户小程序已贷款金额、能否贷款状态等客户小程序模块接口完善

master
river 4 years ago
parent 57bc5bb8de
commit a65fc3e428
  1. 3
      dq-financial-crms/src/main/java/com/daqing/financial/crms/model/response/ApplicationRecordResponse.java
  2. 15
      dq-financial-crms/src/main/java/com/daqing/financial/crms/service/impl/CustomerAppletServiceImpl.java
  3. 2
      dq-financial-crms/src/main/resources/bootstrap.properties
  4. 55
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/AlCollectionController.java
  5. 11
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/mapper/AlCollectionMapper.java
  6. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/request/AlCollectionListRequest.java
  7. 9
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/request/AlCollectionRequest.java
  8. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/request/DgLoanCommitteeConsiderRequest.java
  9. 70
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/AlCollectionListResponse.java
  10. 18
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/AlCollectionResponse.java
  11. 1
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/AlRepaymentCountRes.java
  12. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgComplianceInvestigationResponse.java
  13. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgLoanCommitteeConsiderInfoResponse.java
  14. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgLoanCommitteeConsiderResponse.java
  15. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgStatisticsExcelRefuseResponse.java
  16. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgStatisticsExcelResponse.java
  17. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgStatisticsListRefuseResponse.java
  18. 25
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgStatisticsListResponse.java
  19. 3
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/DgWorkConferenceResponse.java
  20. 8
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IAlCollectionService.java
  21. 198
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/AlCollectionServiceImpl.java
  22. 4
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgLoanNoticeServiceImpl.java
  23. 2
      dq-financial-guarantee/src/main/resources/bootstrap.properties
  24. 43
      dq-financial-guarantee/src/main/resources/mapper/guarantee/AlCollectionMapper.xml
  25. 4
      dq-financial-guarantee/src/main/resources/mapper/guarantee/AlRepaymentEntryMapper.xml
  26. 2
      dq-financial-hrms-auth/src/main/resources/bootstrap.properties
  27. 2
      dq-financial-hrms/src/main/resources/bootstrap.properties
  28. 3
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/ApplicationRecordPO.java
  29. 5
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/AlRepaymentEntry.java
  30. 3
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/DgLoanCommitteeConsider.java
  31. 76
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/AlCollectionListPO.java
  32. 6
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/DgStatisticsPO.java
  33. 3
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/DgStatisticsRefusePO.java
  34. 3
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/DgWorkConferencePO.java
  35. 48
      dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/CollectionConverter.java
  36. 2
      dq-govern-gateway/src/main/resources/bootstrap.properties

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -29,7 +30,7 @@ public class ApplicationRecordResponse implements Serializable {
private String amountWide;
@ApiModelProperty("申请额度")
private Double applyAmount;
private BigDecimal applyAmount;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("申请日期")

@ -37,6 +37,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
/**
@ -367,13 +368,15 @@ public class CustomerAppletServiceImpl extends ServiceImpl<CustomerAppletDao, Cu
*/
@Override
public Map getApplyMount() {
Double company = 0.00;
Map<String, Double> map = new HashMap<>();
// 这个是否填小数没有影响,主要要是看赋予或计算的值是否包含小数
BigDecimal company = new BigDecimal(0.00);
// Double company = 0.00;
Map<String, BigDecimal> map = new HashMap<>();
map.put("company", company);
// 个人类型暂时没有
map.put("personal", 0.00);
map.put("personal", new BigDecimal(0.00));
// 是否与业务正在申请中
map.put("underway", 0.00);
map.put("underway", new BigDecimal(0));
Integer customerId = this.getBaseMapper().getCustomerId(Integer.parseInt(this.getUserId()), 1);
// 如果查询不到认证信息,直接返回0.00
if (customerId == null) {
@ -383,7 +386,7 @@ public class CustomerAppletServiceImpl extends ServiceImpl<CustomerAppletDao, Cu
// 正在进行贷款数量
Integer count= this.getBaseMapper().businessUnderwayCount(companyId);
if (count > 0) {
map.put("underway", 1.00);
map.put("underway", new BigDecimal(1));
}
// 查询申请记录信息
List<ApplicationRecordPO> applicationRecordPOList = this.getBaseMapper().getApplyMount(companyId);
@ -391,7 +394,7 @@ public class CustomerAppletServiceImpl extends ServiceImpl<CustomerAppletDao, Cu
return map;
}
for (ApplicationRecordPO applicationRecordPO : applicationRecordPOList) {
company += applicationRecordPO.getApplyAmount() == null ? 0.00 : applicationRecordPO.getApplyAmount();
company = company.add(applicationRecordPO.getApplyAmount() == null ? new BigDecimal(0.00) : applicationRecordPO.getApplyAmount());
}
map.put("company", company);
}

@ -1,7 +1,7 @@
#服务名称
spring.application.name=dq-financial-crms
#配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=192.168.31.140:8848
spring.cloud.nacos.config.file-extension=yml
#redis配置
spring.redis.host=127.0.0.1

@ -1,8 +1,11 @@
package com.daqing.financial.guarantee.controller;
import com.daqing.financial.guarantee.model.request.AlCollectionListRequest;
import com.daqing.financial.guarantee.model.request.AlCollectionRequest;
import com.daqing.financial.guarantee.model.response.AlCollectionListResponse;
import com.daqing.financial.guarantee.model.response.AlCollectionResponse;
import com.daqing.financial.guarantee.model.response.MoreOverdueDetailResponse;
import com.daqing.financial.guarantee.service.IAlCollectionService;
import com.daqing.framework.domain.guarantee.AlCollection;
import com.daqing.framework.model.response.ResponseResult;
@ -12,6 +15,11 @@ import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
/**
* <p>
* 保后催收 前端控制器
@ -34,7 +42,8 @@ public class AlCollectionController {
@GetMapping("/list")
@ApiOperation(value = "催收管理列表", notes = "催收管理列表", response = AlCollectionResponse.class)
public ResponseResult list(@RequestParam("page") Integer page, @RequestParam("size") Integer size,
@ApiParam("客户编号/名称") String codeOrName, @ApiParam("状态") Integer status) {
@RequestParam(name = "codeOrName", required = false) String codeOrName,
@RequestParam(name = "status", required = false) Integer status) {
return ResponseResult.SUCCESS(alCollectionService.list(page, size, codeOrName, status));
}
@ -43,7 +52,7 @@ public class AlCollectionController {
*/
@PostMapping("/collection")
@ApiOperation(value = "催收", notes = "催收")
public ResponseResult collection(@RequestBody AlCollectionRequest alCollectionRequest) {
public ResponseResult collection(@RequestBody @Valid AlCollectionRequest alCollectionRequest) {
Boolean result = alCollectionService.collection(alCollectionRequest);
return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL();
@ -58,4 +67,46 @@ public class AlCollectionController {
return ResponseResult.SUCCESS(alCollectionService.overdueDetail(insuranceId));
}
/**
* 催收列表
*/
@PostMapping("/collection/list")
@ApiOperation(value = "催收列表", notes = "催收列表", response = AlCollectionListResponse.class)
public ResponseResult collectionList(@RequestBody AlCollectionListRequest alCollectionListRequest) {
return ResponseResult.SUCCESS(alCollectionService.collectionList(alCollectionListRequest));
}
/**
* 查看时的催收详情
*/
@GetMapping("/examine/detail")
@ApiOperation(value = "查看时的催收详情", notes = "查看时的催收详情", response = MoreOverdueDetailResponse.class)
public ResponseResult moreOverdueDetail(@RequestParam("id") Integer id) {
return ResponseResult.SUCCESS(alCollectionService.moreOverdueDetail(id));
}
/**
* 催收管理列表导出
*/
@ApiOperation(value = "催收管理列表导出", notes = "催收管理列表导出")
@GetMapping("/list/export/excel")
public ResponseResult listExportExcel(@RequestParam("insuranceIds") List<Integer> insuranceIds, HttpServletResponse response) throws IOException {
alCollectionService.listExportExcel(insuranceIds, response);
return ResponseResult.SUCCESS();
}
/**
* 催收列表导出
*/
@ApiOperation(value = "催收列表导出", notes = "催收列表导出")
@PostMapping("/collection/list/export/excel")
public ResponseResult collectionListExportExcel(@RequestBody List<Integer> ids, HttpServletResponse response) throws IOException {
alCollectionService.collectionListExportExcel(ids, response);
return ResponseResult.SUCCESS();
}
}

@ -3,9 +3,11 @@ package com.daqing.financial.guarantee.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.daqing.financial.guarantee.model.request.AlCollectionListRequest;
import com.daqing.financial.guarantee.model.response.MoreOverdueDetailResponse;
import com.daqing.financial.guarantee.model.response.OverdueDetailResponse;
import com.daqing.framework.domain.guarantee.AlCollection;
import com.daqing.framework.domain.guarantee.po.AlCollectionListPO;
import com.daqing.framework.domain.guarantee.po.AlCollectionPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -27,13 +29,16 @@ public interface AlCollectionMapper extends BaseMapper<AlCollection> {
IPage<AlCollectionPO> list(@Param("page") Page page, @Param("codeOrName") String codeOrName,
@Param("status") Integer status);
Boolean collection(@Param("collection") AlCollection alCollection);
// collection是个关键字,尽量不要用,特别是别名
Boolean collection(@Param("ac") AlCollection alCollection);
OverdueDetailResponse getOverdueDetailByInsuranceId(Integer insuranceId);
List<AlCollection> collectionList(String codeOrName);
MoreOverdueDetailResponse moreOverdueDetail(Integer id);
Integer getInsuranceIdById(Integer id);
IPage<AlCollectionListPO> collectionList(@Param("page") Page page, @Param("acr") AlCollectionListRequest alCollectionListRequest);
List<AlCollectionListPO> collectionListExcel(@Param("ids") List<Integer> ids);
}

@ -1,5 +1,6 @@
package com.daqing.financial.guarantee.model.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@ -23,9 +24,11 @@ public class AlCollectionListRequest implements Serializable {
@ApiModelProperty("size")
private Integer size;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("开始时间")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("结束时间")
private Date endTime;

@ -5,6 +5,9 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@ -22,15 +25,21 @@ public class AlCollectionRequest implements Serializable {
private Integer insuranceId;
@ApiModelProperty("催收方式:1->电话催收;2->上门/外访")
@Min(value = 1, message = "参数格式不正确")
@Max(value = 2, message = "参数格式不正确")
private Integer collectionMethod;
@ApiModelProperty("催收时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@NotNull(message = "请选择催收时间")
private Date collectionTime;
@ApiModelProperty("催收反馈")
@NotNull(message = "请输入催收反馈")
private String collectionFeedback;
@ApiModelProperty("附件")
@NotNull(message = "请上传催收附件")
private String enclosureFile;
}

@ -7,6 +7,7 @@ import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -30,7 +31,7 @@ public class DgLoanCommitteeConsiderRequest implements Serializable {
private String additionalItems;
@ApiModelProperty("贷款金额")
private Double loanMoney;
private BigDecimal loanMoney;
@ApiModelProperty("贷款期限")
private String loanTern;

@ -0,0 +1,70 @@
package com.daqing.financial.guarantee.model.response;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 催收列表返回类
*
* @auther River
* @date 2021/3/23 10:39
*/
@Data
@ToString
public class AlCollectionListResponse extends BaseRowModel implements Serializable {
@ExcelIgnore
@ApiModelProperty("id")
private Integer id;
@ExcelProperty(value = "客户编号", index = 0)
@ApiModelProperty("客户编号")
private String code;
@ExcelProperty(value = "客户名称", index = 1)
@ApiModelProperty("客户名称")
private String name;
@ExcelProperty(value = "逾期金额", index = 2)
@ApiModelProperty("逾期金额")
private BigDecimal overdueAmount;
@ExcelProperty(value = "逾期利息", index = 3)
@ApiModelProperty("逾期利息")
private BigDecimal overdueInterest;
@ExcelProperty(value = "其他费用", index = 4)
@ApiModelProperty("其他费用")
private BigDecimal otherExpenses;
@ExcelProperty(value = "逾期次数", index = 5)
@ApiModelProperty("逾期次数")
private Integer overduePeriods;
@ExcelProperty(value = "催收方法", index = 6)
@ApiModelProperty("催收方法")
private Integer collectionMethod;
@ExcelProperty(value = "催收人", index = 7)
@ApiModelProperty("催收人")
private String collectionUserName;
@ExcelProperty(value = "催收时间", index = 8)
@ApiModelProperty("催收时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date collectionTime;
@ExcelProperty(value = "催收反馈", index = 9)
@ApiModelProperty("催收反馈")
private String collectionFeedback;
}

@ -1,5 +1,9 @@
package com.daqing.financial.guarantee.model.response;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.daqing.framework.utils.excel.CollectionConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@ -15,41 +19,53 @@ import java.math.BigDecimal;
*/
@Data
@ToString
public class AlCollectionResponse implements Serializable {
public class AlCollectionResponse extends BaseRowModel implements Serializable {
@ExcelIgnore
@ApiModelProperty("id")
private Integer id;
@ExcelProperty(value = "客户编号", index = 0)
@ApiModelProperty("客户编号")
private String code;
@ExcelProperty(value = "客户名称", index = 1)
@ApiModelProperty("客户名称")
private String name;
@ExcelProperty(value = "联系电话", index = 2)
@ApiModelProperty("联系电话")
private String phone;
@ExcelProperty(value = "业务类别", index = 3)
@ApiModelProperty("业务类别")
private String type;
@ExcelProperty(value = "担保额度", index = 4)
@ApiModelProperty("担保额度")
private BigDecimal amount;
@ExcelProperty(value = "逾期期数", index = 5)
@ApiModelProperty("逾期期数")
private Integer overduePeriods;
@ExcelProperty(value = "逾期额度", index = 6)
@ApiModelProperty("逾期额度")
private BigDecimal overdueAmount;
@ExcelProperty(value = "逾期利息", index = 7)
@ApiModelProperty("逾期利息")
private BigDecimal overdueInterest;
@ExcelProperty(value = "所属部门", index = 8)
@ApiModelProperty("所属部门")
private String department;
@ExcelProperty(value = "催收次数", index = 9)
@ApiModelProperty("催收次数")
private Integer numberOfCollection;
@ExcelProperty(value = "还款状态", index = 10, converter = CollectionConverter.class)
@ApiModelProperty("状态,1->还款中;2->已逾期;3->已还清;4->已结项")
private Integer status;
}

@ -3,7 +3,6 @@ package com.daqing.financial.guarantee.model.response;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;
import java.io.Serializable;
import java.math.BigDecimal;

@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -45,7 +46,7 @@ public class DgComplianceInvestigationResponse extends BaseRowModel implements S
@ExcelProperty(value = "金额", index = 4)
@ApiModelProperty("金额")
private Double applyAmount;
private BigDecimal applyAmount;
@ExcelProperty(value = "期限", index = 5)
@ApiModelProperty("期限")

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -33,7 +34,7 @@ public class DgLoanCommitteeConsiderInfoResponse implements Serializable {
* 贷款金额贷审会意见
*/
@ApiModelProperty("贷款金额(贷审会意见)")
private Integer loanMoney;
private BigDecimal loanMoney;
/**
* 贷款期限贷审会意见

@ -12,6 +12,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -46,7 +47,7 @@ public class DgLoanCommitteeConsiderResponse extends BaseRowModel implements Ser
@ExcelProperty(value = "金额" , index = 4)
@ApiModelProperty("金额")
private Double applyAmount;
private BigDecimal applyAmount;
@ExcelProperty(value = "期限" , index = 5)
@ApiModelProperty("期限")

@ -9,6 +9,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -39,7 +40,7 @@ public class DgStatisticsExcelRefuseResponse extends BaseRowModel implements Ser
@ApiModelProperty("申请额度")
@ExcelProperty(value = "金额", index = 4)
private Double applyAmount;
private BigDecimal applyAmount;
@ApiModelProperty("申请期限")
@ExcelProperty(value = "期数", index = 5)

@ -9,6 +9,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -39,7 +40,7 @@ public class DgStatisticsExcelResponse extends BaseRowModel implements Serializa
@ApiModelProperty("申请额度")
@ExcelProperty(value = "金额", index = 4)
private Double applyAmount;
private BigDecimal applyAmount;
@ApiModelProperty("申请期限")
@ExcelProperty(value = "期数", index = 5)

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -39,7 +40,7 @@ public class DgStatisticsListRefuseResponse extends BaseRowModel implements Seri
@ApiModelProperty("申请额度")
@ExcelProperty(value = "金额",index = 4)
private Double applyAmount;
private BigDecimal applyAmount;
@ApiModelProperty("申请期限")
@ExcelProperty(value = "期数",index = 5)

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -22,49 +23,49 @@ import java.util.List;
public class DgStatisticsListResponse extends BaseRowModel implements Serializable {
@ApiModelProperty("业务编号")
@ExcelProperty(value = "业务编号",index = 0)
@ExcelProperty(value = "业务编号", index = 0)
private String businessCode;
@ApiModelProperty("客户姓名")
@ExcelProperty(value = "客户姓名",index = 1)
@ExcelProperty(value = "客户姓名", index = 1)
private String name;
@ApiModelProperty("客户联系方式")
@ExcelProperty(value = "联系电话",index = 2)
@ExcelProperty(value = "联系电话", index = 2)
private String phone;
@ApiModelProperty("业务类型")
@ExcelProperty(value = "产品类型",index = 3)
@ExcelProperty(value = "产品类型", index = 3)
private String businessType;
@ApiModelProperty("申请额度")
@ExcelProperty(value = "金额",index = 4)
private Double applyAmount;
@ExcelProperty(value = "金额", index = 4)
private BigDecimal applyAmount;
@ApiModelProperty("申请期限")
@ExcelProperty(value = "期数",index = 5)
@ExcelProperty(value = "期数", index = 5)
private String applyTime;
@ApiModelProperty("申请日期")
@ExcelProperty(value = "申请日期",index = 6)
@ExcelProperty(value = "申请日期", index = 6)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("完成任务节点id")
@ExcelProperty(value = "完成任务节点id",index = 8)
@ExcelProperty(value = "完成任务节点id", index = 8)
private Integer processId;
@ApiModelProperty("最新操作时间")
@ExcelProperty(value = "任务分配时间",index = 9)
@ExcelProperty(value = "任务分配时间", index = 9)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date operationTime;
@ApiModelProperty("提单人姓名")
@ExcelProperty(value = "提单人",index = 10)
@ExcelProperty(value = "提单人", index = 10)
private String employeeName;
@ApiModelProperty("部门")
@ExcelProperty(value = "所属部门",index = 11)
@ExcelProperty(value = "所属部门", index = 11)
private List<String> department;
}

@ -12,6 +12,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -46,7 +47,7 @@ public class DgWorkConferenceResponse extends BaseRowModel implements Serializab
@ExcelProperty(value = "金额", index = 4)
@ApiModelProperty("金额")
private Double applyAmount;
private BigDecimal applyAmount;
@ExcelProperty(value = "期限", index = 5)
@ApiModelProperty("期限")

@ -9,6 +9,10 @@ import com.daqing.financial.guarantee.model.response.OverdueDetailResponse;
import com.daqing.framework.domain.guarantee.AlCollection;
import com.daqing.framework.utils.PageUtils;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
* <p>
* 保后催收 服务类
@ -28,4 +32,8 @@ public interface IAlCollectionService extends IService<AlCollection> {
PageUtils collectionList(AlCollectionListRequest alCollectionListRequest);
MoreOverdueDetailResponse moreOverdueDetail(Integer id);
void listExportExcel(List<Integer> insuranceIds, HttpServletResponse response) throws IOException;
void collectionListExportExcel(List<Integer> ids, HttpServletResponse response) throws IOException;
}

@ -1,12 +1,18 @@
package com.daqing.financial.guarantee.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.daqing.financial.guarantee.feign.HrmsFeignService;
import com.daqing.financial.guarantee.mapper.AlCollectionMapper;
import com.daqing.financial.guarantee.mapper.AlRepaymentEntryMapper;
import com.daqing.financial.guarantee.model.request.AlCollectionListRequest;
import com.daqing.financial.guarantee.model.request.AlCollectionRequest;
import com.daqing.financial.guarantee.model.response.AlCollectionListResponse;
import com.daqing.financial.guarantee.model.response.AlCollectionResponse;
import com.daqing.financial.guarantee.model.response.MoreOverdueDetailResponse;
import com.daqing.financial.guarantee.model.response.OverdueDetailResponse;
@ -14,11 +20,15 @@ import com.daqing.financial.guarantee.service.IAlCollectionService;
import com.daqing.framework.domain.crms.response.CrmsCode;
import com.daqing.framework.domain.guarantee.AlCollection;
import com.daqing.framework.domain.guarantee.AlRepaymentEntry;
import com.daqing.framework.domain.guarantee.po.AlCollectionListPO;
import com.daqing.framework.domain.guarantee.po.AlCollectionPO;
import com.daqing.framework.domain.hrms.ext.EmployeeVO;
import com.daqing.framework.exception.ExceptionCast;
import com.daqing.framework.model.response.CommonCode;
import com.daqing.framework.model.response.ResponseResult;
import com.daqing.framework.util.RedisUtil;
import com.daqing.framework.utils.PageUtils;
import com.daqing.framework.utils.excel.ExcelUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -26,11 +36,11 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.net.URLEncoder;
import java.util.*;
/**
* <p>
@ -46,6 +56,9 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
@Autowired
private AlRepaymentEntryMapper alRepaymentEntryMapper;
@Autowired
private HrmsFeignService hrmsFeignService;
/**
* 催收管理列表
*
@ -53,12 +66,12 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
*/
@Override
public PageUtils list(Integer page, Integer size, String codeOrName, Integer status) {
if (page == null || size == null) {
if (page == null || page < 0 || size == null || size < 0) {
page = 1;
size = 10;
}
// 曾经逾期过的记录
IPage<AlCollectionPO> alCollectionList= this.getBaseMapper().list(new Page(page, size), codeOrName, status);
IPage<AlCollectionPO> alCollectionList = this.getBaseMapper().list(new Page(page, size), codeOrName, status);
// 复制分页信息
IPage<AlCollectionResponse> response = new Page<>();
BeanUtils.copyProperties(alCollectionList, response);
@ -73,9 +86,9 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
// 逾期次数
Integer overduePeriods = 0;
// 逾期额度
BigDecimal overdueAmount = new BigDecimal("0.00");
BigDecimal overdueAmount = new BigDecimal(0.00);
// 逾期利息
BigDecimal overdueInterest = new BigDecimal("0.00");
BigDecimal overdueInterest = new BigDecimal(0.00);
for (AlRepaymentEntry repayment : alRepaymentList) {
if (record.getId().equals(repayment.getInsuranceId())) {
overdueAmount = overdueAmount.add(repayment.getCurrentRepayment());
@ -111,11 +124,13 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
alCollection.setOverduePeriods((Integer) map.get("overduePeriods"));
// 当前催收用户
alCollection.setCollectionUser(Integer.parseInt(this.getUserId()));
// alCollection.setCollectionUser(2);
return this.getBaseMapper().collection(alCollection);
}
/**
* 催收详情
*
* @param insuranceId 保后id
*/
@Override
@ -131,7 +146,8 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
overdueDetailResponse.setOtherExpenses((BigDecimal) map.get("otherExpenses"));
overdueDetailResponse.setOverduePeriods((Integer) map.get("overduePeriods"));
// 还款记录
IPage<AlRepaymentEntry> iPage = alRepaymentEntryMapper.pageByCondition(new Page(), null, null, insuranceId);
overdueDetailResponse.setAlRepaymentEntryList(iPage.getRecords());
return overdueDetailResponse;
}
@ -140,7 +156,37 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
*/
@Override
public PageUtils collectionList(AlCollectionListRequest alCollectionListRequest) {
return null;
if (alCollectionListRequest.getInsuranceId() == null) {
ExceptionCast.cast(CommonCode.INVALID_PARAM);
}
// 分页参数
if (alCollectionListRequest.getPage() == null
|| alCollectionListRequest.getPage() < 0
|| alCollectionListRequest.getSize() == null
|| alCollectionListRequest.getSize() < 0) {
alCollectionListRequest.setPage(1);
alCollectionListRequest.setSize(10);
}
// 催收列表基本信息
IPage<AlCollectionListPO> alCollectionListPO = this.getBaseMapper().collectionList(new Page(alCollectionListRequest.getPage(), alCollectionListRequest.getSize()),
alCollectionListRequest);
// 创建返回分页类
Page<AlCollectionListResponse> iPage = new Page<>();
// 获取所有的用户id并远程转换成名称
if (alCollectionListPO.getRecords() != null && alCollectionListPO.getRecords().size() != 0) {
Integer[] userIds = new Integer[alCollectionListPO.getRecords().size()];
for (int i = 0; i < userIds.length; i++) {
userIds[i] = alCollectionListPO.getRecords().get(i).getCollectionUser();
}
ResponseResult<List<EmployeeVO>> result = hrmsFeignService.listEmpNameByUserId(userIds);
// 复制分页信息、拼装信息并返回
BeanUtils.copyProperties(alCollectionListPO, iPage);
if (result.getData() != null && result.getData().size() != 0) {
List<AlCollectionListResponse> response = this.jointName(alCollectionListPO.getRecords(), result.getData());
iPage.setRecords(response);
}
}
return new PageUtils(iPage);
}
/**
@ -163,18 +209,126 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
moreOverdueDetailResponse.setOtherExpenses(overdueDetailResponse.getOtherExpenses());
moreOverdueDetailResponse.setOverduePeriods(overdueDetailResponse.getOverduePeriods());
moreOverdueDetailResponse.setNumberOfCollection(overdueDetailResponse.getNumberOfCollection());
moreOverdueDetailResponse.setAlRepaymentEntryList(overdueDetailResponse.getAlRepaymentEntryList());
return moreOverdueDetailResponse;
}
/**
* 催收管理列表导出
*
* @param insuranceIds 保后id集合
*/
@Override
public void listExportExcel(List<Integer> insuranceIds, HttpServletResponse response) throws IOException {
IPage<AlCollectionPO> alCollectionList = this.getBaseMapper().list(new Page(), null, null);
// 返回数据集合
List<AlCollectionResponse> alCollectionResponsesList = new ArrayList<>();
// 还款记录信息
List<AlRepaymentEntry> alRepaymentList = alRepaymentEntryMapper.listAlRepayment();
// 拼装信息
List<AlCollectionPO> records = alCollectionList.getRecords();
for (AlCollectionPO record : records) {
AlCollectionResponse alCollectionResponse = new AlCollectionResponse();
// 逾期次数
Integer overduePeriods = 0;
// 逾期额度
BigDecimal overdueAmount = new BigDecimal(0.00);
// 逾期利息
BigDecimal overdueInterest = new BigDecimal(0.00);
for (AlRepaymentEntry repayment : alRepaymentList) {
if (record.getId().equals(repayment.getInsuranceId())) {
overdueAmount = overdueAmount.add(repayment.getCurrentRepayment());
overdueInterest = overdueInterest.add(repayment.getInterest());
overduePeriods++;
}
}
BeanUtils.copyProperties(record, alCollectionResponse);
alCollectionResponse.setOverdueAmount(overdueAmount);
alCollectionResponse.setOverdueInterest(overdueInterest);
alCollectionResponse.setOverduePeriods(overduePeriods);
alCollectionResponsesList.add(alCollectionResponse);
Iterator<AlCollectionResponse> iterator = alCollectionResponsesList.iterator();
// 迭代器遍历,删除不需要的数据
while (iterator.hasNext()) {
boolean flag = false;
// Iterator类的next( )方法在同一循环中不能出现两次,会导致最后一次的游标指向空值
AlCollectionResponse next = iterator.next();
for (Integer insuranceId : insuranceIds) {
if (null != next.getId() && next.getId().equals(insuranceId)) {
flag = true;
}
}
if (!flag) {
iterator.remove();
}
}
}
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
try {
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyExcel没有关系
String fileName = URLEncoder.encode("催收管理列表数据一览表", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
WriteSheet writeSheet = EasyExcel.writerSheet(0, "template").head(AlCollectionResponse.class).build();
excelWriter.write(alCollectionResponsesList, writeSheet);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* 催收列表导出
*
* @param ids 催收id集合
*/
@Override
public void collectionListExportExcel(List<Integer> ids, HttpServletResponse response) throws IOException {
// 导出的数据集合
List<AlCollectionListResponse> list = new ArrayList<>();
// 根据id查询出数据
List<AlCollectionListPO> alCollectionListPOS = this.getBaseMapper().collectionListExcel(ids);
if (alCollectionListPOS != null && alCollectionListPOS.size() != 0) {
Integer[] userIds = new Integer[alCollectionListPOS.size()];
for (int i = 0; i < userIds.length; i++) {
userIds[i] = alCollectionListPOS.get(i).getCollectionUser();
}
// 根据用户id查询用户姓名
ResponseResult<List<EmployeeVO>> result = hrmsFeignService.listEmpNameByUserId(userIds);
if (result.getData() != null && result.getData().size() != 0) {
// 转换用户id为姓名
list = this.jointName(alCollectionListPOS, result.getData());
}
}
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
try {
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyExcel没有关系
String fileName = URLEncoder.encode("催收列表数据一览表", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
WriteSheet writeSheet = EasyExcel.writerSheet(0, "template").head(AlCollectionListResponse.class).build();
excelWriter.write(list, writeSheet);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
private Map<String, Object> getOverdueConditionByInsuranceId(Integer insuranceId) {
List<AlRepaymentEntry> alRepaymentList = alRepaymentEntryMapper.listAlRepaymentByInsuranceId(insuranceId);
// 逾期金额
BigDecimal overdueAmount = new BigDecimal("0.00");
BigDecimal overdueAmount = new BigDecimal(0.00);
// 逾期利息
BigDecimal overdueInterest = new BigDecimal("0.00");
BigDecimal overdueInterest = new BigDecimal(0.00);
// 其他费用
BigDecimal otherExpenses = new BigDecimal("0.00");
BigDecimal otherExpenses = new BigDecimal(0.00);
for (AlRepaymentEntry alRepayment : alRepaymentList) {
overdueAmount = overdueAmount.add(alRepayment.getCurrentRepayment());
overdueInterest = overdueInterest.add(alRepayment.getInterest());
@ -200,4 +354,22 @@ public class AlCollectionServiceImpl extends ServiceImpl<AlCollectionMapper, AlC
}
return userId;
}
/**
* 将催收人id转换成催收人姓名并返回
*/
private List<AlCollectionListResponse> jointName(List<AlCollectionListPO> alCollectionListPO, List<EmployeeVO> employeeVO) {
List<AlCollectionListResponse> response = new ArrayList<>();
for (AlCollectionListPO collectionListPO : alCollectionListPO) {
AlCollectionListResponse alCollectionListResponse = new AlCollectionListResponse();
for (EmployeeVO employee : employeeVO) {
if (Objects.equals(collectionListPO.getCollectionUser().longValue(), employee.getId())) {
alCollectionListResponse.setCollectionUserName(employee.getName());
}
}
BeanUtils.copyProperties(collectionListPO, alCollectionListResponse);
response.add(alCollectionListResponse);
}
return response;
}
}

@ -151,7 +151,7 @@ public class DgLoanNoticeServiceImpl extends ServiceImpl<DgLoanNoticeMapper, DgL
String phone = businessCompany.getPhone();
String name = businessCompany.getName();
DgLoanCommitteeConsider loanCommitteeConsider = loanCommitteeConsiderMapper.selectOne(new QueryWrapper<DgLoanCommitteeConsider>().eq("business_id", businessId));
Integer loanMoney = loanCommitteeConsider.getLoanMoney();
BigDecimal loanMoney = loanCommitteeConsider.getLoanMoney();
String loanTern = loanCommitteeConsider.getLoanTern();
//添加数据到保后管理
AlInsuranceList alInsuranceList = new AlInsuranceList();
@ -161,7 +161,7 @@ public class DgLoanNoticeServiceImpl extends ServiceImpl<DgLoanNoticeMapper, DgL
alInsuranceList.setApplyTime(createTime);
alInsuranceList.setPhone(phone);
alInsuranceList.setCustomerName(name);
alInsuranceList.setGuaranteeAmount(BigDecimal.valueOf(loanMoney*10000));
alInsuranceList.setGuaranteeAmount(loanMoney);
alInsuranceList.setGuaranteeTime(loanTern);
alInsuranceList.setAmountWide(amountWide);
alInsuranceList.setPaymentStatus(1);

@ -1,7 +1,7 @@
#服务名称
spring.application.name=dq-financial-guarantee
#配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=192.168.31.140:8848
spring.cloud.nacos.config.file-extension=yml
#redis配置
spring.redis.host=127.0.0.1

@ -17,13 +17,11 @@
SELECT i.id AS id,i.business_code AS code,i.customer_name AS name,i.phone AS phone,i.business_type AS type,
i.guarantee_amount AS amount,i.department AS department,i.payment_status AS status,COUNT(c.id) AS numberOfCollection
FROM al_insurance_list AS i
INNER JOIN al_repayment_entry AS r
ON i.id = r.insurance_id
INNER JOIN al_collection AS c
LEFT JOIN al_collection AS c
ON i.id = c.insurance_id
WHERE r.is_overdue = 0
WHERE i.is_overdue = 0
<if test="status != null">
AND i.status = #{status}
AND i.payment_status = #{status}
</if>
<if test="codeOrName != null and codeOrName != ''">
AND (i.customer_name like CONCAT('%',#{codeOrName},'%') OR i.business_code like CONCAT('%',#{codeOrName},'%'))
@ -35,10 +33,10 @@
<insert id="collection" parameterType="com.daqing.framework.domain.guarantee.AlCollection">
INSERT INTO al_collection (insurance_id,collection_method,collection_time,collection_feedback,enclosure_file
,overdue_amount,overdue_interest,other_expenses,collection_user,overdue_periods)
VALUES (#{collection.insuranceId},#{collection.collectionMethod},#{collection.collectionTime},
#{collection.collectionFeedback},#{collection.enclosureFile},
#{collection.overdueAmount},#{collection.overdueInterest},#{collection.otherExpenses},
#{collection.collectionUser},#{collection.overduePeriods})
VALUES (#{ac.insuranceId},#{ac.collectionMethod},#{ac.collectionTime},
#{ac.collectionFeedback},#{ac.enclosureFile},
#{ac.overdueAmount},#{ac.overdueInterest},#{ac.otherExpenses},
#{ac.collectionUser},#{ac.overduePeriods})
</insert>
<select id="getOverdueDetailByInsuranceId" parameterType="integer" resultType="com.daqing.financial.guarantee.model.response.OverdueDetailResponse">
@ -50,14 +48,18 @@
</select>
<!-- 催收列表 -->
<select id="collectionList" parameterType="string" resultType="com.daqing.framework.domain.guarantee.AlCollection">
<select id="collectionList" parameterType="com.daqing.financial.guarantee.model.request.AlCollectionListRequest" resultType="com.daqing.framework.domain.guarantee.po.AlCollectionListPO">
SELECT c.id AS id,c.overdue_amount AS overdue_amount,c.overdue_interest AS overdue_interest,c.other_expenses AS other_expenses,
c.collection_method AS collection_method,c.collection_user AS collection_user,c.collection_time AS collection_time,
c.collection_feedback AS collection_feedback,c.enclosure_file AS enclosure_file,i.business_code AS code,
i.customer_name AS name,i.business_type AS type
c.overdue_periods AS overdue_periods,c.collection_method AS collection_method,c.collection_user AS collection_user,
c.collection_time AS collection_time,c.collection_feedback AS collection_feedback,i.business_code AS code,
i.customer_name AS name
FROM al_collection AS c
INNER JOIN al_insurance_list AS i
ON i.id = c.insurance_id
WHERE c.insurance_id = #{acr.insuranceId}
<if test="acr.startTime != null and acr.endTime != null">
AND collection_time BETWEEN #{acr.startTime} AND #{acr.endTime}
</if>
</select>
<select id="moreOverdueDetail" parameterType="integer" resultType="com.daqing.financial.guarantee.model.response.MoreOverdueDetailResponse">
@ -70,4 +72,19 @@
SELECT insurance_id FROM al_collection WHERE id = #{id}
</select>
<!-- 催收管理列表导出 -->
<select id="collectionListExcel" parameterType="list" resultType="com.daqing.framework.domain.guarantee.po.AlCollectionListPO">
SELECT c.id AS id,c.overdue_amount AS overdue_amount,c.overdue_interest AS overdue_interest,c.other_expenses AS other_expenses,
c.overdue_periods AS overdue_periods,c.collection_method AS collection_method,c.collection_user AS collection_user,
c.collection_time AS collection_time,c.collection_feedback AS collection_feedback,i.business_code AS code,
i.customer_name AS name
FROM al_collection AS c
INNER JOIN al_insurance_list AS i
ON i.id = c.insurance_id
WHERE c.id IN
<foreach collection="ids" open="(" separator="," close=")" item="id">
#{id}
</foreach>
</select>
</mapper>

@ -66,14 +66,14 @@
<!-- 还款记录已逾期信息 -->
<select id="listAlRepayment" resultType="com.daqing.framework.domain.guarantee.AlRepaymentEntry">
SELECT insuranceId,currentRepayment,interest
SELECT insurance_id,current_repayment,interest
FROM al_repayment_entry
WHERE repayment_status = 3
</select>
<!-- 还款记录已逾期信息 -->
<select id="listAlRepaymentByInsuranceId" parameterType="integer" resultType="com.daqing.framework.domain.guarantee.AlRepaymentEntry">
SELECT insuranceId,currentRepayment,interest,other_expenses
SELECT insurance_id,current_repayment,interest,other_expenses
FROM al_repayment_entry
WHERE repayment_status = 3
AND insurance_id = #{insuranceId}

@ -1,7 +1,7 @@
#服务名称
spring.application.name=dq-financial-hrms-auth
#配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=192.168.31.140:8848
spring.cloud.nacos.config.file-extension=yml
#redis配置
spring.redis.host=127.0.0.1

@ -1,7 +1,7 @@
#服务名称
spring.application.name=dq-financial-hrms
#配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=192.168.31.140:8848
spring.cloud.nacos.config.file-extension=yml
#redis配置
spring.redis.host=127.0.0.1

@ -4,6 +4,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -26,7 +27,7 @@ public class ApplicationRecordPO implements Serializable {
/**
* 申请额度
*/
private Double applyAmount;
private BigDecimal applyAmount;
/**
* 贷款用途

@ -3,6 +3,7 @@ package com.daqing.framework.domain.guarantee;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -37,11 +38,13 @@ public class AlRepaymentEntry implements Serializable {
/**
* 应还款日
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date repaymentDate;
/**
* 实际还款日
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date actualRepaymentDate;
/**
@ -97,12 +100,14 @@ public class AlRepaymentEntry implements Serializable {
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@TableField(fill= FieldFill.INSERT)
private Date createTime;
/**
* 修改时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@TableField(fill= FieldFill.INSERT_UPDATE)
private Date updateTime;
}

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -67,7 +68,7 @@ public class DgLoanCommitteeConsider implements Serializable {
/**
* 贷款金额贷审会意见
*/
private Integer loanMoney;
private BigDecimal loanMoney;
/**
* 贷款期限贷审会意见

@ -0,0 +1,76 @@
package com.daqing.framework.domain.guarantee.po;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 催收列表po类
*
* @auther River
* @date 2021/3/23 10:17
*/
@Data
@ToString
public class AlCollectionListPO implements Serializable {
/**
* id
*/
private Integer id;
/**
*客户编号
*/
private String code;
/**
* 客户名称
*/
private String name;
/**
* 逾期金额
*/
private BigDecimal overdueAmount;
/**
* 逾期利息
*/
private BigDecimal overdueInterest;
/**
* 其他费用
*/
private BigDecimal otherExpenses;
/**
* 逾期次数
*/
private Integer overduePeriods;
/**
* 催收方法
*/
private Integer collectionMethod;
/**
* 催收人id
*/
private Integer collectionUser;
/**
* 催收时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date collectionTime;
/**
* 催收反馈
*/
private String collectionFeedback;
}

@ -3,6 +3,8 @@ package com.daqing.framework.domain.guarantee.po;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -12,7 +14,7 @@ import java.util.Date;
*/
@Data
@ToString
public class DgStatisticsPO {
public class DgStatisticsPO implements Serializable {
/**
* 客户名称
@ -32,7 +34,7 @@ public class DgStatisticsPO {
/**
* 申请额度
*/
private Double applyAmount;
private BigDecimal applyAmount;
/**
* 申请期限

@ -4,6 +4,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -32,7 +33,7 @@ public class DgStatisticsRefusePO implements Serializable {
/**
* 申请额度
*/
private Double applyAmount;
private BigDecimal applyAmount;
/**
* 申请期限

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -32,7 +33,7 @@ public class DgWorkConferencePO implements Serializable {
private String businessType;
@ApiModelProperty("金额")
private Double applyAmount;
private BigDecimal applyAmount;
@ApiModelProperty("期限")
private String applyTime;

@ -0,0 +1,48 @@
package com.daqing.framework.utils.excel;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
/**
* 催收管理状态转换器
*
* @auther River
* @date 2021/3/24 9:52
*/
public class CollectionConverter implements Converter<Integer> {
@Override
public Class supportJavaTypeKey() {
return Integer.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public Integer convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return 0;
}
@Override
public CellData convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
switch (value) {
case 1:
return new CellData("还款中");
case 2:
return new CellData("已逾期");
case 3:
return new CellData("已还清");
case 4:
return new CellData("已结项");
default:
return new CellData(String.valueOf(value));
}
}
}

@ -1,7 +1,7 @@
#服务名称
spring.application.name=dq-govern-gateway
#配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=192.168.31.140:8848
spring.cloud.nacos.config.file-extension=yml
#redis配置
spring.redis.host=127.0.0.1

Loading…
Cancel
Save