From ddec208f0d002bdb31c3effcbcb02998ec287f27 Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Wed, 11 Feb 2026 15:39:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BF=A1=E8=B4=B7?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E5=AE=B6=E5=BA=AD=E5=85=B3=E7=B3=BBDTO?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/dto/CcdiCustFmyRelationAddDTO.java | 119 +++++++++++++++++ .../dto/CcdiCustFmyRelationEditDTO.java | 125 ++++++++++++++++++ .../dto/CcdiCustFmyRelationQueryDTO.java | 53 ++++++++ 3 files changed, 297 insertions(+) create mode 100644 ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationAddDTO.java create mode 100644 ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationEditDTO.java create mode 100644 ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationQueryDTO.java diff --git a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationAddDTO.java b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationAddDTO.java new file mode 100644 index 0000000..89e00bf --- /dev/null +++ b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationAddDTO.java @@ -0,0 +1,119 @@ +package com.ruoyi.ccdi.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 信贷客户家庭关系新增DTO + * + * @author ruoyi + * @date 2026-02-11 + */ +@Data +@Schema(description = "信贷客户家庭关系新增") +public class CcdiCustFmyRelationAddDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 信贷客户身份证号 */ + @NotBlank(message = "信贷客户身份证号不能为空") + @Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]$", message = "信贷客户身份证号格式不正确") + @Schema(description = "信贷客户身份证号") + private String personId; + + /** 关系类型 */ + @NotBlank(message = "关系类型不能为空") + @Size(max = 50, message = "关系类型长度不能超过50个字符") + @Schema(description = "关系类型") + private String relationType; + + /** 关系人姓名 */ + @NotBlank(message = "关系人姓名不能为空") + @Size(max = 100, message = "关系人姓名长度不能超过100个字符") + @Schema(description = "关系人姓名") + private String relationName; + + /** 性别 */ + @Pattern(regexp = "^[MFO]$", message = "性别只能是M、F或O") + @Schema(description = "性别:M-男,F-女,O-其他") + private String gender; + + /** 出生日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "出生日期") + private Date birthDate; + + /** 关系人证件类型 */ + @NotBlank(message = "关系人证件类型不能为空") + @Size(max = 50, message = "关系人证件类型长度不能超过50个字符") + @Schema(description = "关系人证件类型") + private String relationCertType; + + /** 关系人证件号码 */ + @NotBlank(message = "关系人证件号码不能为空") + @Size(max = 100, message = "关系人证件号码长度不能超过100个字符") + @Schema(description = "关系人证件号码") + private String relationCertNo; + + /** 手机号码1 */ + @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码1格式不正确") + @Schema(description = "手机号码1") + private String mobilePhone1; + + /** 手机号码2 */ + @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码2格式不正确") + @Schema(description = "手机号码2") + private String mobilePhone2; + + /** 微信名称1 */ + @Size(max = 50, message = "微信名称1长度不能超过50个字符") + @Schema(description = "微信名称1") + private String wechatNo1; + + /** 微信名称2 */ + @Size(max = 50, message = "微信名称2长度不能超过50个字符") + @Schema(description = "微信名称2") + private String wechatNo2; + + /** 微信名称3 */ + @Size(max = 50, message = "微信名称3长度不能超过50个字符") + @Schema(description = "微信名称3") + private String wechatNo3; + + /** 详细联系地址 */ + @Size(max = 500, message = "详细联系地址长度不能超过500个字符") + @Schema(description = "详细联系地址") + private String contactAddress; + + /** 关系详细描述 */ + @Size(max = 500, message = "关系详细描述长度不能超过500个字符") + @Schema(description = "关系详细描述") + private String relationDesc; + + /** 生效日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "生效日期") + private Date effectiveDate; + + /** 失效日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "失效日期") + private Date invalidDate; + + /** 状态 */ + @Schema(description = "状态:0-无效,1-有效") + private Integer status; + + /** 备注 */ + @Schema(description = "备注") + private String remark; +} diff --git a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationEditDTO.java b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationEditDTO.java new file mode 100644 index 0000000..557501d --- /dev/null +++ b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationEditDTO.java @@ -0,0 +1,125 @@ +package com.ruoyi.ccdi.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 信贷客户家庭关系编辑DTO + * + * @author ruoyi + * @date 2026-02-11 + */ +@Data +@Schema(description = "信贷客户家庭关系编辑") +public class CcdiCustFmyRelationEditDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 主键ID */ + @NotNull(message = "ID不能为空") + @Schema(description = "主键ID") + private Long id; + + /** 信贷客户身份证号 */ + @NotBlank(message = "信贷客户身份证号不能为空") + @Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]$", message = "信贷客户身份证号格式不正确") + @Schema(description = "信贷客户身份证号") + private String personId; + + /** 关系类型 */ + @NotBlank(message = "关系类型不能为空") + @Size(max = 50, message = "关系类型长度不能超过50个字符") + @Schema(description = "关系类型") + private String relationType; + + /** 关系人姓名 */ + @NotBlank(message = "关系人姓名不能为空") + @Size(max = 100, message = "关系人姓名长度不能超过100个字符") + @Schema(description = "关系人姓名") + private String relationName; + + /** 性别 */ + @Pattern(regexp = "^[MFO]$", message = "性别只能是M、F或O") + @Schema(description = "性别:M-男,F-女,O-其他") + private String gender; + + /** 出生日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "出生日期") + private Date birthDate; + + /** 关系人证件类型 */ + @NotBlank(message = "关系人证件类型不能为空") + @Size(max = 50, message = "关系人证件类型长度不能超过50个字符") + @Schema(description = "关系人证件类型") + private String relationCertType; + + /** 关系人证件号码 */ + @NotBlank(message = "关系人证件号码不能为空") + @Size(max = 100, message = "关系人证件号码长度不能超过100个字符") + @Schema(description = "关系人证件号码") + private String relationCertNo; + + /** 手机号码1 */ + @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码1格式不正确") + @Schema(description = "手机号码1") + private String mobilePhone1; + + /** 手机号码2 */ + @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码2格式不正确") + @Schema(description = "手机号码2") + private String mobilePhone2; + + /** 微信名称1 */ + @Size(max = 50, message = "微信名称1长度不能超过50个字符") + @Schema(description = "微信名称1") + private String wechatNo1; + + /** 微信名称2 */ + @Size(max = 50, message = "微信名称2长度不能超过50个字符") + @Schema(description = "微信名称2") + private String wechatNo2; + + /** 微信名称3 */ + @Size(max = 50, message = "微信名称3长度不能超过50个字符") + @Schema(description = "微信名称3") + private String wechatNo3; + + /** 详细联系地址 */ + @Size(max = 500, message = "详细联系地址长度不能超过500个字符") + @Schema(description = "详细联系地址") + private String contactAddress; + + /** 关系详细描述 */ + @Size(max = 500, message = "关系详细描述长度不能超过500个字符") + @Schema(description = "关系详细描述") + private String relationDesc; + + /** 状态 */ + @Schema(description = "状态:0-无效,1-有效") + private Integer status; + + /** 生效日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "生效日期") + private Date effectiveDate; + + /** 失效日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "失效日期") + private Date invalidDate; + + /** 备注 */ + @Schema(description = "备注") + private String remark; +} diff --git a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationQueryDTO.java b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationQueryDTO.java new file mode 100644 index 0000000..5b224aa --- /dev/null +++ b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/domain/dto/CcdiCustFmyRelationQueryDTO.java @@ -0,0 +1,53 @@ +package com.ruoyi.ccdi.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 信贷客户家庭关系查询DTO + * + * @author ruoyi + * @date 2026-02-11 + */ +@Data +@Schema(description = "信贷客户家庭关系查询") +public class CcdiCustFmyRelationQueryDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 信贷客户身份证号 */ + @Schema(description = "信贷客户身份证号") + private String personId; + + /** 关系类型 */ + @Schema(description = "关系类型") + private String relationType; + + /** 关系人姓名 */ + @Schema(description = "关系人姓名") + private String relationName; + + /** 状态 */ + @Schema(description = "状态:0-无效,1-有效") + private Integer status; + + /** 数据来源 */ + @Schema(description = "数据来源") + private String dataSource; + + /** 生效日期开始 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "生效日期开始") + private Date effectiveDateStart; + + /** 生效日期结束 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Schema(description = "生效日期结束") + private Date effectiveDateEnd; +}