diff --git a/ccdi-info-collection/pom.xml b/ccdi-info-collection/pom.xml index 34473cc6..8158c290 100644 --- a/ccdi-info-collection/pom.xml +++ b/ccdi-info-collection/pom.xml @@ -29,6 +29,12 @@ ruoyi-system + + com.ruoyi + ccdi-lsfx + 3.9.1 + + com.alibaba diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiCreditNegativeInfo.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiCreditNegativeInfo.java new file mode 100644 index 00000000..c490fd28 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiCreditNegativeInfo.java @@ -0,0 +1,39 @@ +package com.ruoyi.info.collection.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 员工征信负面信息对象 ccdi_credit_negative_info + */ +@Data +@TableName("ccdi_credit_negative_info") +public class CcdiCreditNegativeInfo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + private Long negativeId; + + private String personId; + private String personName; + private Date queryDate; + private Integer civilCnt; + private Integer enforceCnt; + private Integer admCnt; + private BigDecimal civilLmt; + private BigDecimal enforceLmt; + private BigDecimal admLmt; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiDebtsInfo.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiDebtsInfo.java new file mode 100644 index 00000000..eff8bd56 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiDebtsInfo.java @@ -0,0 +1,40 @@ +package com.ruoyi.info.collection.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 员工征信负债明细对象 ccdi_debts_info + */ +@Data +@TableName("ccdi_debts_info") +public class CcdiDebtsInfo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + private Long debtId; + + private String personId; + private String personName; + private Date queryDate; + private String debtMainType; + private String debtSubType; + private String creditorType; + private String debtName; + private BigDecimal principalBalance; + private BigDecimal debtTotalAmount; + private String debtStatus; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiCreditInfoQueryDTO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiCreditInfoQueryDTO.java new file mode 100644 index 00000000..3554cb93 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiCreditInfoQueryDTO.java @@ -0,0 +1,21 @@ +package com.ruoyi.info.collection.domain.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 征信维护查询 DTO + */ +@Data +public class CcdiCreditInfoQueryDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private String name; + private String staffId; + private String idCard; + private String maintained; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoDetailVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoDetailVO.java new file mode 100644 index 00000000..6983eb09 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoDetailVO.java @@ -0,0 +1,24 @@ +package com.ruoyi.info.collection.domain.vo; + +import com.ruoyi.info.collection.domain.CcdiDebtsInfo; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * 征信详情聚合 VO + */ +@Data +public class CreditInfoDetailVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private String personId; + private String personName; + private String idCard; + private CreditInfoNegativeVO negativeInfo; + private List debtList; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoListVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoListVO.java new file mode 100644 index 00000000..8c7017e1 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoListVO.java @@ -0,0 +1,29 @@ +package com.ruoyi.info.collection.domain.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 征信维护列表 VO + */ +@Data +public class CreditInfoListVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private Long staffId; + private String name; + private String idCard; + private String deptName; + private Date queryDate; + private Long debtCount; + private BigDecimal debtTotalAmount; + private Integer civilCnt; + private Integer enforceCnt; + private Integer admCnt; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoNegativeVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoNegativeVO.java new file mode 100644 index 00000000..aca1233b --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoNegativeVO.java @@ -0,0 +1,28 @@ +package com.ruoyi.info.collection.domain.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 征信负面信息展示 VO + */ +@Data +public class CreditInfoNegativeVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private String personId; + private String personName; + private Date queryDate; + private Integer civilCnt; + private Integer enforceCnt; + private Integer admCnt; + private BigDecimal civilLmt; + private BigDecimal enforceLmt; + private BigDecimal admLmt; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoUploadFailureVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoUploadFailureVO.java new file mode 100644 index 00000000..7085fd11 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoUploadFailureVO.java @@ -0,0 +1,21 @@ +package com.ruoyi.info.collection.domain.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 征信上传失败结果 VO + */ +@Data +public class CreditInfoUploadFailureVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private String fileName; + private String personId; + private String personName; + private String reason; +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoUploadResultVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoUploadResultVO.java new file mode 100644 index 00000000..8920214f --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoUploadResultVO.java @@ -0,0 +1,23 @@ +package com.ruoyi.info.collection.domain.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * 征信上传结果 VO + */ +@Data +public class CreditInfoUploadResultVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private Integer totalCount; + private Integer successCount; + private Integer failureCount; + private List failures = new ArrayList<>(); +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiCreditInfoQueryMapper.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiCreditInfoQueryMapper.java new file mode 100644 index 00000000..aa610a98 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiCreditInfoQueryMapper.java @@ -0,0 +1,27 @@ +package com.ruoyi.info.collection.mapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.info.collection.domain.dto.CcdiCreditInfoQueryDTO; +import com.ruoyi.info.collection.domain.vo.CreditInfoDetailVO; +import com.ruoyi.info.collection.domain.vo.CreditInfoListVO; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDate; +import java.util.List; + +/** + * 征信维护聚合查询 Mapper + */ +public interface CcdiCreditInfoQueryMapper { + + Page selectCreditInfoPage(@Param("page") Page page, + @Param("query") CcdiCreditInfoQueryDTO queryDTO); + + CreditInfoListVO selectCreditInfoSummaryByPersonId(@Param("personId") String personId); + + CreditInfoDetailVO selectCreditInfoDetailByPersonId(@Param("personId") String personId); + + List selectCreditInfoList(@Param("query") CcdiCreditInfoQueryDTO queryDTO); + + LocalDate selectLatestQueryDate(@Param("personId") String personId); +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiCreditNegativeInfoMapper.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiCreditNegativeInfoMapper.java new file mode 100644 index 00000000..ce399847 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiCreditNegativeInfoMapper.java @@ -0,0 +1,15 @@ +package com.ruoyi.info.collection.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.info.collection.domain.CcdiCreditNegativeInfo; +import org.apache.ibatis.annotations.Param; + +/** + * 员工征信负面信息 Mapper + */ +public interface CcdiCreditNegativeInfoMapper extends BaseMapper { + + CcdiCreditNegativeInfo selectByPersonId(@Param("personId") String personId); + + int deleteByPersonId(@Param("personId") String personId); +} diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiDebtsInfoMapper.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiDebtsInfoMapper.java new file mode 100644 index 00000000..9ceaf8b0 --- /dev/null +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiDebtsInfoMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.info.collection.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.info.collection.domain.CcdiDebtsInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 员工征信负债明细 Mapper + */ +public interface CcdiDebtsInfoMapper extends BaseMapper { + + List selectByPersonId(@Param("personId") String personId); + + int deleteByPersonId(@Param("personId") String personId); + + int insertBatch(@Param("list") List list); +} diff --git a/ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiCreditInfoServiceImplTest.java b/ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiCreditInfoServiceImplTest.java new file mode 100644 index 00000000..323c8480 --- /dev/null +++ b/ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiCreditInfoServiceImplTest.java @@ -0,0 +1,18 @@ +package com.ruoyi.info.collection.service; + +import com.ruoyi.info.collection.domain.dto.CcdiCreditInfoQueryDTO; +import com.ruoyi.info.collection.domain.vo.CreditInfoUploadResultVO; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class CcdiCreditInfoServiceImplTest { + + @Test + void shouldCompileCreditInfoContracts() { + CcdiCreditInfoQueryDTO queryDTO = new CcdiCreditInfoQueryDTO(); + CreditInfoUploadResultVO resultVO = new CreditInfoUploadResultVO(); + assertNotNull(queryDTO); + assertNotNull(resultVO); + } +}