可信空间修改
Showing
33 changed files
with
1575 additions
and
0 deletions
1 | package com.csbr.qingcloud.portal.controller; | ||
2 | |||
3 | import com.alibaba.fastjson.JSONObject; | ||
4 | import com.alibaba.fastjson2.JSON; | ||
5 | import com.csbr.cloud.common.response.CommonRes; | ||
6 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRQVO; | ||
7 | import com.csbr.qingcloud.portal.enums.TdsDataTypeEnum; | ||
8 | import com.csbr.qingcloud.portal.service.TdsSyncToRegionalNodeCallback; | ||
9 | import com.csbr.qingcloud.portal.service.TdsUserIdentityService; | ||
10 | import csbr.cloud.entity.annotation.SystemLog; | ||
11 | import io.swagger.v3.oas.annotations.Operation; | ||
12 | import io.swagger.v3.oas.annotations.tags.Tag; | ||
13 | import jakarta.annotation.Resource; | ||
14 | import jakarta.validation.Valid; | ||
15 | import org.springframework.web.bind.annotation.*; | ||
16 | |||
17 | /** | ||
18 | * @program: | ||
19 | * @description: 可信空间数据同步控制器 | ||
20 | * @author: xup | ||
21 | * @create: 2025-08-14 13:21 | ||
22 | **/ | ||
23 | @RestController | ||
24 | @RequestMapping("/tds-sync") | ||
25 | @Tag(name = "可信空间数据同步控制器") | ||
26 | public class TdsSyncController { | ||
27 | |||
28 | @Resource | ||
29 | private TdsUserIdentityService tdsUserIdentityService; | ||
30 | |||
31 | @PostMapping("/biz-sync-regional") | ||
32 | @SystemLog(value = "业务节点同步到区域节点") | ||
33 | @Operation(summary = "业务节点同步到区域节点",hidden = true) | ||
34 | public CommonRes<Boolean> bizSyncRegional(@RequestBody JSONObject data, @RequestParam String zqName, | ||
35 | @RequestParam TdsDataTypeEnum dataType) { | ||
36 | switch (dataType){ | ||
37 | case USER ->{ | ||
38 | tdsUserIdentityService.saveTdsUserIdentity(JSON.parseObject(data.toJSONString(),TdsUserIdentityRQVO.class)); | ||
39 | break; | ||
40 | } | ||
41 | } | ||
42 | return CommonRes.success(true); | ||
43 | } | ||
44 | |||
45 | @PostMapping("/regional-sync-biz") | ||
46 | @SystemLog(value = "区域节点同步审批信息") | ||
47 | @Operation(summary = "区域节点同步审批信息",hidden = true) | ||
48 | public CommonRes<Boolean> regionalSyncBiz(@RequestParam String bizGuid, | ||
49 | @RequestParam Integer identityStatus, | ||
50 | @RequestParam String message, | ||
51 | @RequestParam TdsDataTypeEnum dataType) { | ||
52 | switch (dataType){ | ||
53 | case USER ->{ | ||
54 | tdsUserIdentityService.updateTdsUserIdentityStatus(bizGuid,identityStatus,message); | ||
55 | break; | ||
56 | } | ||
57 | } | ||
58 | return CommonRes.success(true); | ||
59 | } | ||
60 | } |
1 | package com.csbr.qingcloud.portal.controller; | ||
2 | |||
3 | import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; | ||
4 | import com.csbr.cloud.common.response.CommonRes; | ||
5 | import com.csbr.qingcloud.portal.enums.TdsDataTypeEnum; | ||
6 | import com.csbr.qingcloud.portal.service.impl.TdsSyncToRegionalNodeService; | ||
7 | import csbr.cloud.entity.annotation.SystemLog; | ||
8 | import csbr.cloud.entity.domain.base.vo.PageListVO; | ||
9 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityQueryVO; | ||
10 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRQVO; | ||
11 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRSVO; | ||
12 | import com.csbr.qingcloud.portal.service.TdsUserIdentityService; | ||
13 | import io.swagger.v3.oas.annotations.Operation; | ||
14 | import io.swagger.v3.oas.annotations.Parameter; | ||
15 | import io.swagger.v3.oas.annotations.tags.Tag; | ||
16 | import jakarta.annotation.Resource; | ||
17 | import jakarta.validation.Valid; | ||
18 | import org.springframework.web.bind.annotation.*; | ||
19 | |||
20 | import java.util.List; | ||
21 | |||
22 | /** | ||
23 | * @program: | ||
24 | * @description: 个人用户身份信息-控制器 | ||
25 | * @author: xup | ||
26 | * @create: 2025-08-14 13:21 | ||
27 | **/ | ||
28 | @RestController | ||
29 | @RequestMapping("/tds-user-identity") | ||
30 | @Tag(name = "个人用户身份信息-控制器") | ||
31 | public class TdsUserIdentityController { | ||
32 | |||
33 | @Resource | ||
34 | private TdsUserIdentityService tdsUserIdentityService; | ||
35 | |||
36 | @Resource | ||
37 | private TdsSyncToRegionalNodeService<TdsUserIdentityRQVO> tdsSyncToRegionalNodeService; | ||
38 | |||
39 | //region 基本操作 | ||
40 | |||
41 | @PostMapping("/save") | ||
42 | @SystemLog(value = "个人用户身份信息-新增") | ||
43 | @Operation(summary = "个人用户身份信息-新增") | ||
44 | public CommonRes<Boolean> saveTdsUserIdentity(@RequestBody @Valid TdsUserIdentityRQVO vo) { | ||
45 | tdsUserIdentityService.saveTdsUserIdentity(vo); | ||
46 | //数据同步到区域/业务节点 | ||
47 | tdsSyncToRegionalNodeService.syncToRegionalNode(TdsDataTypeEnum.USER,vo,tdsUserIdentityService); | ||
48 | return CommonRes.success(true); | ||
49 | } | ||
50 | |||
51 | @PutMapping("/update") | ||
52 | @SystemLog(value = "个人用户身份信息-修改") | ||
53 | @Operation(summary = "个人用户身份信息-修改") | ||
54 | public CommonRes<Boolean> updateTdsUserIdentity(@RequestBody @Valid TdsUserIdentityRQVO vo) { | ||
55 | tdsUserIdentityService.updateTdsUserIdentity(vo); | ||
56 | return CommonRes.success(true); | ||
57 | } | ||
58 | |||
59 | @DeleteMapping("/delete") | ||
60 | @SystemLog(value = "个人用户身份信息-批量删除") | ||
61 | @Operation(summary = "个人用户身份信息-批量删除") | ||
62 | public CommonRes<Boolean> removeByGuids(@RequestBody List<String> guids) { | ||
63 | tdsUserIdentityService.removeByGuids(guids); | ||
64 | return CommonRes.success(true); | ||
65 | } | ||
66 | |||
67 | @PostMapping("/page-list") | ||
68 | @SystemLog(value = "个人用户身份信息-分页") | ||
69 | @Operation(summary = "个人用户身份信息-分页") | ||
70 | public CommonRes<PageListVO<TdsUserIdentityRSVO>> pageList(@RequestBody @Valid TdsUserIdentityQueryVO queryVO) { | ||
71 | PageListVO<TdsUserIdentityRSVO> pageVO = tdsUserIdentityService.pageList(queryVO); | ||
72 | return CommonRes.success(pageVO); | ||
73 | } | ||
74 | |||
75 | @GetMapping("/detail") | ||
76 | @SystemLog(value = "个人用户身份信息-详情") | ||
77 | @Operation( | ||
78 | summary = "个人用户身份信息-详情", | ||
79 | parameters = { | ||
80 | @Parameter(name = "guid", description = "个人用户身份信息唯一标识", required = true)} | ||
81 | ) | ||
82 | public CommonRes<TdsUserIdentityRSVO> getTdsUserIdentityDetail(@RequestParam String guid) { | ||
83 | TdsUserIdentityRSVO vo = tdsUserIdentityService.getTdsUserIdentityDetail(guid); | ||
84 | return CommonRes.success(vo); | ||
85 | } | ||
86 | |||
87 | //endregion | ||
88 | |||
89 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.dto.BasePageDTO; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import lombok.EqualsAndHashCode; | ||
6 | import lombok.Data; | ||
7 | import java.util.Date; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 个人用户附加信息查询参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-08-14 13:21 | ||
14 | **/ | ||
15 | @EqualsAndHashCode(callSuper = true) | ||
16 | @Data | ||
17 | @Schema(title = "个人用户附加信息查询参数") | ||
18 | public class TdsUserAdditionalQueryVO extends BasePageDTO { | ||
19 | |||
20 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import io.swagger.v3.oas.annotations.media.Schema; | ||
4 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
5 | import jakarta.validation.constraints.Size; | ||
6 | import lombok.Data; | ||
7 | import java.util.Date; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 个人用户附加信息新增、修改参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-08-14 13:21 | ||
14 | **/ | ||
15 | @Data | ||
16 | @Schema(title = "个人用户附加信息新增、修改参数") | ||
17 | public class TdsUserAdditionalRQVO { | ||
18 | |||
19 | /** | ||
20 | * 系统唯一标识 | ||
21 | */ | ||
22 | @Schema(description = "系统唯一标识") | ||
23 | private String guid; | ||
24 | |||
25 | /** | ||
26 | * 用户Guid | ||
27 | */ | ||
28 | @Schema(description = "用户Guid") | ||
29 | private String userGuid; | ||
30 | |||
31 | /** | ||
32 | * 国籍(来之数据字典国籍) | ||
33 | */ | ||
34 | @Schema(description = "国籍(来之数据字典国籍)") | ||
35 | @Size(max = 20, message = "国籍长度超过20") | ||
36 | private String nationalityCode; | ||
37 | |||
38 | /** | ||
39 | * 性别 | ||
40 | */ | ||
41 | @Schema(description = "性别") | ||
42 | @Size(max = 10, message = "性别长度超过10") | ||
43 | private String sex; | ||
44 | |||
45 | /** | ||
46 | * 出生年月 | ||
47 | */ | ||
48 | @Schema(description = "出生年月") | ||
49 | @Size(max = 7, message = "出生年月长度超过7") | ||
50 | private String birthdayMonth; | ||
51 | |||
52 | /** | ||
53 | * 社保卡卡号 | ||
54 | */ | ||
55 | @Schema(description = "社保卡卡号") | ||
56 | @Size(max = 20, message = "社保卡卡号长度超过20") | ||
57 | private String socialSecurityCard; | ||
58 | |||
59 | /** | ||
60 | * 社保卡发放地 | ||
61 | */ | ||
62 | @Schema(description = "社保卡发放地") | ||
63 | @Size(max = 50, message = "社保卡发放地长度超过50") | ||
64 | private String socialSecurityIssuance; | ||
65 | |||
66 | /** | ||
67 | * 支付宝账号 | ||
68 | */ | ||
69 | @Schema(description = "支付宝账号") | ||
70 | @Size(max = 20, message = "支付宝账号长度超过20") | ||
71 | private String alipayAccount; | ||
72 | |||
73 | /** | ||
74 | * 微信账号 | ||
75 | */ | ||
76 | @Schema(description = "微信账号") | ||
77 | @Size(max = 20, message = "微信账号长度超过20") | ||
78 | private String wechatAccount; | ||
79 | |||
80 | /** | ||
81 | * 邮箱 | ||
82 | */ | ||
83 | @Schema(description = "邮箱") | ||
84 | @Size(max = 20, message = "邮箱长度超过20") | ||
85 | private String email; | ||
86 | |||
87 | /** | ||
88 | * 联系地址 | ||
89 | */ | ||
90 | @Schema(description = "联系地址") | ||
91 | @Size(max = 100, message = "联系地址长度超过100") | ||
92 | private String contactAddress; | ||
93 | |||
94 | /** | ||
95 | * 其他 | ||
96 | */ | ||
97 | @Schema(description = "其他") | ||
98 | @Size(max = 100, message = "其他长度超过100") | ||
99 | private String other; | ||
100 | |||
101 | /******** 库表存储属性 需处理 *****/ | ||
102 | |||
103 | /******** 自定义扩展 *****/ | ||
104 | |||
105 | /******** 子对象 *****/ | ||
106 | |||
107 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import io.swagger.v3.oas.annotations.media.Schema; | ||
4 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
5 | import lombok.Data; | ||
6 | import java.util.Date; | ||
7 | |||
8 | /** | ||
9 | * @program: | ||
10 | * @description: 个人用户附加信息返回参数 | ||
11 | * @author: xup | ||
12 | * @create: 2025-08-14 13:21 | ||
13 | **/ | ||
14 | @Data | ||
15 | @Schema(title = "个人用户附加信息返回参数") | ||
16 | public class TdsUserAdditionalRSVO { | ||
17 | |||
18 | /** | ||
19 | * 系统唯一标识 | ||
20 | */ | ||
21 | @Schema(description = "系统唯一标识") | ||
22 | private String guid; | ||
23 | |||
24 | /** | ||
25 | * 会员Guid | ||
26 | */ | ||
27 | @Schema(description = "会员Guid") | ||
28 | private String tenantGuid; | ||
29 | |||
30 | /** | ||
31 | * 用户Guid | ||
32 | */ | ||
33 | @Schema(description = "用户Guid") | ||
34 | private String userGuid; | ||
35 | |||
36 | /** | ||
37 | * 国籍(来之数据字典国籍) | ||
38 | */ | ||
39 | @Schema(description = "国籍(来之数据字典国籍)") | ||
40 | private String nationalityCode; | ||
41 | |||
42 | /** | ||
43 | * 性别 | ||
44 | */ | ||
45 | @Schema(description = "性别") | ||
46 | private String sex; | ||
47 | |||
48 | /** | ||
49 | * 出生年月 | ||
50 | */ | ||
51 | @Schema(description = "出生年月") | ||
52 | private String birthdayMonth; | ||
53 | |||
54 | /** | ||
55 | * 社保卡卡号 | ||
56 | */ | ||
57 | @Schema(description = "社保卡卡号") | ||
58 | private String socialSecurityCard; | ||
59 | |||
60 | /** | ||
61 | * 社保卡发放地 | ||
62 | */ | ||
63 | @Schema(description = "社保卡发放地") | ||
64 | private String socialSecurityIssuance; | ||
65 | |||
66 | /** | ||
67 | * 支付宝账号 | ||
68 | */ | ||
69 | @Schema(description = "支付宝账号") | ||
70 | private String alipayAccount; | ||
71 | |||
72 | /** | ||
73 | * 微信账号 | ||
74 | */ | ||
75 | @Schema(description = "微信账号") | ||
76 | private String wechatAccount; | ||
77 | |||
78 | /** | ||
79 | * 邮箱 | ||
80 | */ | ||
81 | @Schema(description = "邮箱") | ||
82 | private String email; | ||
83 | |||
84 | /** | ||
85 | * 联系地址 | ||
86 | */ | ||
87 | @Schema(description = "联系地址") | ||
88 | private String contactAddress; | ||
89 | |||
90 | /** | ||
91 | * 其他 | ||
92 | */ | ||
93 | @Schema(description = "其他") | ||
94 | private String other; | ||
95 | |||
96 | /******** 库表存储属性 需处理 *****/ | ||
97 | |||
98 | /******** 自定义扩展 *****/ | ||
99 | |||
100 | /******** 子对象 *****/ | ||
101 | |||
102 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.dto.BasePageDTO; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import lombok.EqualsAndHashCode; | ||
6 | import lombok.Data; | ||
7 | import java.util.Date; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 个人用户身份信息查询参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-08-14 13:21 | ||
14 | **/ | ||
15 | @EqualsAndHashCode(callSuper = true) | ||
16 | @Data | ||
17 | @Schema(title = "个人用户身份信息查询参数") | ||
18 | public class TdsUserIdentityQueryVO extends BasePageDTO { | ||
19 | |||
20 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import io.swagger.v3.oas.annotations.media.Schema; | ||
4 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
5 | import jakarta.validation.constraints.NotBlank; | ||
6 | import jakarta.validation.constraints.NotNull; | ||
7 | import jakarta.validation.constraints.Size; | ||
8 | import lombok.Data; | ||
9 | import java.util.Date; | ||
10 | |||
11 | /** | ||
12 | * @program: | ||
13 | * @description: 个人用户身份信息新增、修改参数 | ||
14 | * @author: xup | ||
15 | * @create: 2025-08-14 13:21 | ||
16 | **/ | ||
17 | @Data | ||
18 | @Schema(title = "个人用户身份信息新增、修改参数") | ||
19 | public class TdsUserIdentityRQVO { | ||
20 | |||
21 | /** | ||
22 | * 系统唯一标识 | ||
23 | */ | ||
24 | @Schema(description = "系统唯一标识") | ||
25 | private String guid; | ||
26 | |||
27 | /** | ||
28 | * 姓名 | ||
29 | */ | ||
30 | @Schema(description = "姓名") | ||
31 | @Size(max = 50, message = "姓名长度超过50") | ||
32 | @NotBlank(message = "姓名为空。") | ||
33 | private String name; | ||
34 | |||
35 | /** | ||
36 | * 证件类型(来之数据字典证件类型) | ||
37 | */ | ||
38 | @Schema(description = "证件类型(来之数据字典证件类型)") | ||
39 | @Size(max = 20, message = "证件类型长度超过20") | ||
40 | @NotBlank(message = "证件类型为空。") | ||
41 | private String idTypeCode; | ||
42 | |||
43 | /** | ||
44 | * 证件号码 | ||
45 | */ | ||
46 | @Schema(description = "证件号码") | ||
47 | @Size(max = 50, message = "证件号码长度超过50") | ||
48 | @NotBlank(message = "证件号码为空。") | ||
49 | private String idNumber; | ||
50 | |||
51 | /** | ||
52 | * 证件号码有效起始日期 | ||
53 | */ | ||
54 | @Schema(description = "证件号码有效起始日期") | ||
55 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
56 | @NotNull(message = "证件号码有效起始日期为空。") | ||
57 | private Date idNumberStartTime; | ||
58 | |||
59 | /** | ||
60 | * 证件号码有效截止日期 | ||
61 | */ | ||
62 | @Schema(description = "证件号码有效截止日期") | ||
63 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
64 | @NotNull(message = "证件号码有效截止日期为空。") | ||
65 | private Date idNumberEndTime; | ||
66 | |||
67 | /** | ||
68 | * 手机号 | ||
69 | */ | ||
70 | @Schema(description = "手机号") | ||
71 | @Size(max = 11, message = "手机号长度超过11") | ||
72 | @NotBlank(message = "手机号为空。") | ||
73 | private String mobile; | ||
74 | |||
75 | /** | ||
76 | * 个人实名认证等级(0 未实名;1 身份证实名核验或社保卡实名核验;2 在实名核验基础上增加人脸识别或其他生物特征核验) | ||
77 | */ | ||
78 | @Schema(description = "个人实名认证等级(0 未实名;1 身份证实名核验或社保卡实名核验;2 在实名核验基础上增加人脸识别或其他生物特征核验)") | ||
79 | private Integer authenticationLevel; | ||
80 | |||
81 | /** | ||
82 | * 个人实名认证方式(1 公安部、人社部实名服务;2 国家政务服务平台实名服务;3 微信、支付宝、通讯运营商等第三方平台) | ||
83 | */ | ||
84 | @Schema(description = "个人实名认证方式(1 公安部、人社部实名服务;2 国家政务服务平台实名服务;3 微信、支付宝、通讯运营商等第三方平台)") | ||
85 | private Integer authenticationMethod; | ||
86 | |||
87 | /** | ||
88 | * 实名认证时间 | ||
89 | */ | ||
90 | @Schema(description = "实名认证时间") | ||
91 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
92 | private Date authenticationTime; | ||
93 | |||
94 | /** | ||
95 | * 身份状态(0 不可用 ;1 可用) | ||
96 | */ | ||
97 | @Schema(description = "身份状态(0 不可用 ;1 可用)") | ||
98 | private Integer identityStatus =0; | ||
99 | |||
100 | /******** 库表存储属性 需处理 *****/ | ||
101 | |||
102 | /******** 自定义扩展 *****/ | ||
103 | |||
104 | /******** 子对象 *****/ | ||
105 | /** | ||
106 | * 个人用户附加信息 | ||
107 | */ | ||
108 | @Schema(description = "个人用户附加信息") | ||
109 | private TdsUserAdditionalRQVO tdsUserAdditional; | ||
110 | |||
111 | /** | ||
112 | * 个人用户可验信息 | ||
113 | */ | ||
114 | @Schema(description = "个人用户可验信息") | ||
115 | private TdsUserVerifiableRQVO tdsUserVerifiable; | ||
116 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import lombok.Data; | ||
6 | |||
7 | import java.util.Date; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 个人用户身份信息返回参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-08-14 13:21 | ||
14 | **/ | ||
15 | @Data | ||
16 | @Schema(title = "个人用户身份信息返回参数") | ||
17 | public class TdsUserIdentityRSVO { | ||
18 | |||
19 | /** | ||
20 | * 系统唯一标识 | ||
21 | */ | ||
22 | @Schema(description = "系统唯一标识") | ||
23 | private String guid; | ||
24 | |||
25 | /** | ||
26 | * 姓名 | ||
27 | */ | ||
28 | @Schema(description = "姓名") | ||
29 | private String name; | ||
30 | |||
31 | /** | ||
32 | * 用户身份标识(由区域/行业功能节点生成,唯一标识用户身份) | ||
33 | */ | ||
34 | @Schema(description = "用户身份标识(由区域/行业功能节点生成,唯一标识用户身份)") | ||
35 | private String userIdentity; | ||
36 | |||
37 | /** | ||
38 | * 证件类型(来之数据字典证件类型) | ||
39 | */ | ||
40 | @Schema(description = "证件类型(来之数据字典证件类型)") | ||
41 | private String idTypeCode; | ||
42 | |||
43 | /** | ||
44 | * 证件号码 | ||
45 | */ | ||
46 | @Schema(description = "证件号码") | ||
47 | private String idNumber; | ||
48 | |||
49 | /** | ||
50 | * 证件号码有效起始日期 | ||
51 | */ | ||
52 | @Schema(description = "证件号码有效起始日期") | ||
53 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
54 | private Date idNumberStartTime; | ||
55 | |||
56 | /** | ||
57 | * 证件号码有效截止日期 | ||
58 | */ | ||
59 | @Schema(description = "证件号码有效截止日期") | ||
60 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
61 | private Date idNumberEndTime; | ||
62 | |||
63 | /** | ||
64 | * 手机号 | ||
65 | */ | ||
66 | @Schema(description = "手机号") | ||
67 | private String mobile; | ||
68 | |||
69 | /** | ||
70 | * 个人实名认证等级(0 未实名;1 身份证实名核验或社保卡实名核验;2 在实名核验基础上增加人脸识别或其他生物特征核验) | ||
71 | */ | ||
72 | @Schema(description = "个人实名认证等级(0 未实名;1 身份证实名核验或社保卡实名核验;2 在实名核验基础上增加人脸识别或其他生物特征核验)") | ||
73 | private Integer authenticationLevel; | ||
74 | |||
75 | /** | ||
76 | * 个人实名认证方式(1 公安部、人社部实名服务;2 国家政务服务平台实名服务;3 微信、支付宝、通讯运营商等第三方平台) | ||
77 | */ | ||
78 | @Schema(description = "个人实名认证方式(1 公安部、人社部实名服务;2 国家政务服务平台实名服务;3 微信、支付宝、通讯运营商等第三方平台)") | ||
79 | private Integer authenticationMethod; | ||
80 | |||
81 | /** | ||
82 | * 实名认证时间 | ||
83 | */ | ||
84 | @Schema(description = "实名认证时间") | ||
85 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
86 | private Date authenticationTime; | ||
87 | |||
88 | /** | ||
89 | * 身份状态(0 不可用 ;1 可用) | ||
90 | */ | ||
91 | @Schema(description = "身份状态(0 不可用 ;1 可用)") | ||
92 | private Integer identityStatus; | ||
93 | |||
94 | /******** 库表存储属性 需处理 *****/ | ||
95 | |||
96 | /******** 自定义扩展 *****/ | ||
97 | |||
98 | /******** 子对象 *****/ | ||
99 | /** | ||
100 | * 个人用户附加信息 | ||
101 | */ | ||
102 | @Schema(description = "个人用户附加信息") | ||
103 | private TdsUserAdditionalRSVO tdsUserAdditional; | ||
104 | |||
105 | /** | ||
106 | * 个人用户可验信息 | ||
107 | */ | ||
108 | @Schema(description = "个人用户可验信息") | ||
109 | private TdsUserVerifiableRSVO tdsUserVerifiable; | ||
110 | |||
111 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.dto.BasePageDTO; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import lombok.EqualsAndHashCode; | ||
6 | import lombok.Data; | ||
7 | import java.util.Date; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 个人用户可验信息查询参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-08-14 13:21 | ||
14 | **/ | ||
15 | @EqualsAndHashCode(callSuper = true) | ||
16 | @Data | ||
17 | @Schema(title = "个人用户可验信息查询参数") | ||
18 | public class TdsUserVerifiableQueryVO extends BasePageDTO { | ||
19 | |||
20 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import com.alibaba.fastjson.JSONObject; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
6 | import jakarta.validation.constraints.Size; | ||
7 | import lombok.Data; | ||
8 | import java.util.Date; | ||
9 | import java.util.Map; | ||
10 | |||
11 | /** | ||
12 | * @program: | ||
13 | * @description: 个人用户可验信息新增、修改参数 | ||
14 | * @author: xup | ||
15 | * @create: 2025-08-14 13:21 | ||
16 | **/ | ||
17 | @Data | ||
18 | @Schema(title = "个人用户可验信息新增、修改参数") | ||
19 | public class TdsUserVerifiableRQVO { | ||
20 | |||
21 | /** | ||
22 | * 系统唯一标识 | ||
23 | */ | ||
24 | @Schema(description = "系统唯一标识") | ||
25 | private String guid; | ||
26 | |||
27 | /** | ||
28 | * 用户Guid | ||
29 | */ | ||
30 | @Schema(description = "用户Guid") | ||
31 | private String userGuid; | ||
32 | |||
33 | /** | ||
34 | * 学历/学位证书 | ||
35 | */ | ||
36 | @Schema(description = "学历/学位证书") | ||
37 | private Map<String,Object> bachelorDegreeCertificate; | ||
38 | |||
39 | /** | ||
40 | * 职业资格证书 | ||
41 | */ | ||
42 | @Schema(description = "职业资格证书") | ||
43 | private Map<String,Object> professionalCertificate; | ||
44 | |||
45 | /** | ||
46 | * 信用报告摘要 | ||
47 | */ | ||
48 | @Schema(description = "信用报告摘要") | ||
49 | private Map<String,Object> creditReportSummary; | ||
50 | |||
51 | /** | ||
52 | * 数字作品/知识产权登记 | ||
53 | */ | ||
54 | @Schema(description = "数字作品/知识产权登记") | ||
55 | private Map<String,Object> intellectualPropertyRegistration; | ||
56 | |||
57 | /** | ||
58 | * 授权委托书 | ||
59 | */ | ||
60 | @Schema(description = "授权委托书") | ||
61 | private Map<String,Object> powerOfAttorney; | ||
62 | |||
63 | /** | ||
64 | * 其他第三方认证信息 | ||
65 | */ | ||
66 | @Schema(description = "其他第三方认证信息") | ||
67 | private Map<String,Object> thirdPartyCertification; | ||
68 | |||
69 | /******** 库表存储属性 需处理 *****/ | ||
70 | |||
71 | /******** 自定义扩展 *****/ | ||
72 | |||
73 | /******** 子对象 *****/ | ||
74 | |||
75 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import io.swagger.v3.oas.annotations.media.Schema; | ||
4 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
5 | import lombok.Data; | ||
6 | import java.util.Date; | ||
7 | import java.util.Map; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 个人用户可验信息返回参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-08-14 13:21 | ||
14 | **/ | ||
15 | @Data | ||
16 | @Schema(title = "个人用户可验信息返回参数") | ||
17 | public class TdsUserVerifiableRSVO { | ||
18 | |||
19 | /** | ||
20 | * 系统唯一标识 | ||
21 | */ | ||
22 | @Schema(description = "系统唯一标识") | ||
23 | private String guid; | ||
24 | |||
25 | /** | ||
26 | * 用户Guid | ||
27 | */ | ||
28 | @Schema(description = "用户Guid") | ||
29 | private String userGuid; | ||
30 | |||
31 | /** | ||
32 | * 学历/学位证书 | ||
33 | */ | ||
34 | @Schema(description = "学历/学位证书") | ||
35 | private Map<String,Object> bachelorDegreeCertificate; | ||
36 | |||
37 | /** | ||
38 | * 职业资格证书 | ||
39 | */ | ||
40 | @Schema(description = "职业资格证书") | ||
41 | private Map<String,Object> professionalCertificate; | ||
42 | |||
43 | /** | ||
44 | * 信用报告摘要 | ||
45 | */ | ||
46 | @Schema(description = "信用报告摘要") | ||
47 | private Map<String,Object> creditReportSummary; | ||
48 | |||
49 | /** | ||
50 | * 数字作品/知识产权登记 | ||
51 | */ | ||
52 | @Schema(description = "数字作品/知识产权登记") | ||
53 | private Map<String,Object> intellectualPropertyRegistration; | ||
54 | |||
55 | /** | ||
56 | * 授权委托书 | ||
57 | */ | ||
58 | @Schema(description = "授权委托书") | ||
59 | private Map<String,Object> powerOfAttorney; | ||
60 | |||
61 | /** | ||
62 | * 其他第三方认证信息 | ||
63 | */ | ||
64 | @Schema(description = "其他第三方认证信息") | ||
65 | private Map<String,Object> thirdPartyCertification; | ||
66 | |||
67 | /******** 库表存储属性 需处理 *****/ | ||
68 | |||
69 | /******** 自定义扩展 *****/ | ||
70 | |||
71 | /******** 子对象 *****/ | ||
72 | |||
73 | } |
1 | package com.csbr.qingcloud.portal.mybatis.entity; | ||
2 | |||
3 | import com.baomidou.mybatisplus.annotation.FieldStrategy; | ||
4 | import com.baomidou.mybatisplus.annotation.TableField; | ||
5 | import csbr.cloud.entity.domain.base.dao.BaseDO; | ||
6 | import jdk.jfr.Name; | ||
7 | import lombok.Data; | ||
8 | import lombok.EqualsAndHashCode; | ||
9 | import lombok.experimental.Accessors; | ||
10 | import java.util.Date; | ||
11 | |||
12 | /** | ||
13 | * @program: | ||
14 | * @description: 个人用户附加信息实体 | ||
15 | * @author: xup | ||
16 | * @create: 2025-08-14 13:21 | ||
17 | **/ | ||
18 | @Data | ||
19 | @EqualsAndHashCode(callSuper = true) | ||
20 | @Accessors(chain = true) | ||
21 | @Name("个人用户附加信息") | ||
22 | public class MfTdsUserAdditional extends BaseDO { | ||
23 | |||
24 | /** | ||
25 | * 会员Guid | ||
26 | */ | ||
27 | @Name("会员Guid") | ||
28 | private String tenantGuid; | ||
29 | |||
30 | /** | ||
31 | * 用户Guid | ||
32 | */ | ||
33 | @Name("用户Guid") | ||
34 | private String userGuid; | ||
35 | |||
36 | /** | ||
37 | * 国籍(来之数据字典国籍) | ||
38 | */ | ||
39 | @Name("国籍(来之数据字典国籍)") | ||
40 | private String nationalityCode; | ||
41 | |||
42 | /** | ||
43 | * 性别 | ||
44 | */ | ||
45 | @Name("性别") | ||
46 | private String sex; | ||
47 | |||
48 | /** | ||
49 | * 出生年月 | ||
50 | */ | ||
51 | @Name("出生年月") | ||
52 | private String birthdayMonth; | ||
53 | |||
54 | /** | ||
55 | * 社保卡卡号 | ||
56 | */ | ||
57 | @Name("社保卡卡号") | ||
58 | private String socialSecurityCard; | ||
59 | |||
60 | /** | ||
61 | * 社保卡发放地 | ||
62 | */ | ||
63 | @Name("社保卡发放地") | ||
64 | private String socialSecurityIssuance; | ||
65 | |||
66 | /** | ||
67 | * 支付宝账号 | ||
68 | */ | ||
69 | @Name("支付宝账号") | ||
70 | private String alipayAccount; | ||
71 | |||
72 | /** | ||
73 | * 微信账号 | ||
74 | */ | ||
75 | @Name("微信账号") | ||
76 | private String wechatAccount; | ||
77 | |||
78 | /** | ||
79 | * 邮箱 | ||
80 | */ | ||
81 | @Name("邮箱") | ||
82 | private String email; | ||
83 | |||
84 | /** | ||
85 | * 联系地址 | ||
86 | */ | ||
87 | @Name("联系地址") | ||
88 | private String contactAddress; | ||
89 | |||
90 | /** | ||
91 | * 其他 | ||
92 | */ | ||
93 | @Name("其他") | ||
94 | private String other; | ||
95 | |||
96 | } |
1 | package com.csbr.qingcloud.portal.mybatis.entity; | ||
2 | |||
3 | import com.baomidou.mybatisplus.annotation.FieldStrategy; | ||
4 | import com.baomidou.mybatisplus.annotation.TableField; | ||
5 | import csbr.cloud.entity.domain.base.dao.BaseDO; | ||
6 | import jdk.jfr.Name; | ||
7 | import lombok.Data; | ||
8 | import lombok.EqualsAndHashCode; | ||
9 | import lombok.experimental.Accessors; | ||
10 | import java.util.Date; | ||
11 | |||
12 | /** | ||
13 | * @program: | ||
14 | * @description: 个人用户身份信息实体 | ||
15 | * @author: xup | ||
16 | * @create: 2025-08-14 13:21 | ||
17 | **/ | ||
18 | @Data | ||
19 | @EqualsAndHashCode(callSuper = true) | ||
20 | @Accessors(chain = true) | ||
21 | @Name("个人用户身份信息") | ||
22 | public class MfTdsUserIdentity extends BaseDO { | ||
23 | |||
24 | /** | ||
25 | * 会员Guid | ||
26 | */ | ||
27 | @Name("会员Guid") | ||
28 | private String tenantGuid; | ||
29 | |||
30 | /** | ||
31 | * 姓名 | ||
32 | */ | ||
33 | @Name("姓名") | ||
34 | private String name; | ||
35 | |||
36 | /** | ||
37 | * 用户身份标识(由区域/行业功能节点生成,唯一标识用户身份) | ||
38 | */ | ||
39 | @Name("用户身份标识(由区域/行业功能节点生成,唯一标识用户身份)") | ||
40 | private String userIdentity; | ||
41 | |||
42 | /** | ||
43 | * 证件类型(来之数据字典证件类型) | ||
44 | */ | ||
45 | @Name("证件类型(来之数据字典证件类型)") | ||
46 | private String idTypeCode; | ||
47 | |||
48 | /** | ||
49 | * 证件号码 | ||
50 | */ | ||
51 | @Name("证件号码") | ||
52 | private String idNumber; | ||
53 | |||
54 | /** | ||
55 | * 证件号码有效起始日期 | ||
56 | */ | ||
57 | @Name("证件号码有效起始日期") | ||
58 | private Date idNumberStartTime; | ||
59 | |||
60 | /** | ||
61 | * 证件号码有效截止日期 | ||
62 | */ | ||
63 | @Name("证件号码有效截止日期") | ||
64 | private Date idNumberEndTime; | ||
65 | |||
66 | /** | ||
67 | * 手机号 | ||
68 | */ | ||
69 | @Name("手机号") | ||
70 | private String mobile; | ||
71 | |||
72 | /** | ||
73 | * 个人实名认证等级(0 未实名;1 身份证实名核验或社保卡实名核验;2 在实名核验基础上增加人脸识别或其他生物特征核验) | ||
74 | */ | ||
75 | @Name("个人实名认证等级(0 未实名;1 身份证实名核验或社保卡实名核验;2 在实名核验基础上增加人脸识别或其他生物特征核验)") | ||
76 | private Integer authenticationLevel; | ||
77 | |||
78 | /** | ||
79 | * 个人实名认证方式(1 公安部、人社部实名服务;2 国家政务服务平台实名服务;3 微信、支付宝、通讯运营商等第三方平台) | ||
80 | */ | ||
81 | @Name("个人实名认证方式(1 公安部、人社部实名服务;2 国家政务服务平台实名服务;3 微信、支付宝、通讯运营商等第三方平台)") | ||
82 | private Integer authenticationMethod; | ||
83 | |||
84 | /** | ||
85 | * 实名认证时间 | ||
86 | */ | ||
87 | @Name("实名认证时间") | ||
88 | private Date authenticationTime; | ||
89 | |||
90 | /** | ||
91 | * 身份状态(0 不可用 ;1 可用) | ||
92 | */ | ||
93 | @Name("身份状态(0 不可用 ;1 可用)") | ||
94 | private Integer identityStatus; | ||
95 | |||
96 | } |
1 | package com.csbr.qingcloud.portal.mybatis.entity; | ||
2 | |||
3 | import com.baomidou.mybatisplus.annotation.FieldStrategy; | ||
4 | import com.baomidou.mybatisplus.annotation.TableField; | ||
5 | import csbr.cloud.entity.domain.base.dao.BaseDO; | ||
6 | import jdk.jfr.Name; | ||
7 | import lombok.Data; | ||
8 | import lombok.EqualsAndHashCode; | ||
9 | import lombok.experimental.Accessors; | ||
10 | import java.util.Date; | ||
11 | import java.util.Map; | ||
12 | |||
13 | /** | ||
14 | * @program: | ||
15 | * @description: 个人用户可验信息实体 | ||
16 | * @author: xup | ||
17 | * @create: 2025-08-14 13:21 | ||
18 | **/ | ||
19 | @Data | ||
20 | @EqualsAndHashCode(callSuper = true) | ||
21 | @Accessors(chain = true) | ||
22 | @Name("个人用户可验信息") | ||
23 | public class MfTdsUserVerifiable extends BaseDO { | ||
24 | |||
25 | /** | ||
26 | * 会员Guid | ||
27 | */ | ||
28 | @Name("会员Guid") | ||
29 | private String tenantGuid; | ||
30 | |||
31 | /** | ||
32 | * 用户Guid | ||
33 | */ | ||
34 | @Name("用户Guid") | ||
35 | private String userGuid; | ||
36 | |||
37 | /** | ||
38 | * 学历/学位证书 | ||
39 | */ | ||
40 | @Name("学历/学位证书") | ||
41 | private Map<String,Object> bachelorDegreeCertificate; | ||
42 | |||
43 | /** | ||
44 | * 职业资格证书 | ||
45 | */ | ||
46 | @Name("职业资格证书") | ||
47 | private Map<String,Object> professionalCertificate; | ||
48 | |||
49 | /** | ||
50 | * 信用报告摘要 | ||
51 | */ | ||
52 | @Name("信用报告摘要") | ||
53 | private Map<String,Object> creditReportSummary; | ||
54 | |||
55 | /** | ||
56 | * 数字作品/知识产权登记 | ||
57 | */ | ||
58 | @Name("数字作品/知识产权登记") | ||
59 | private Map<String,Object> intellectualPropertyRegistration; | ||
60 | |||
61 | /** | ||
62 | * 授权委托书 | ||
63 | */ | ||
64 | @Name("授权委托书") | ||
65 | private Map<String,Object> powerOfAttorney; | ||
66 | |||
67 | /** | ||
68 | * 其他第三方认证信息 | ||
69 | */ | ||
70 | @Name("其他第三方认证信息") | ||
71 | private Map<String,Object> thirdPartyCertification; | ||
72 | |||
73 | } |
1 | package com.csbr.qingcloud.portal.mybatis.mapper; | ||
2 | |||
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||
4 | import org.apache.ibatis.annotations.Mapper; | ||
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserAdditional; | ||
6 | |||
7 | /** | ||
8 | * @program: | ||
9 | * @description: 个人用户附加信息 Mapper 接口 | ||
10 | * @author: xup | ||
11 | * @create: 2025-08-14 13:21 | ||
12 | **/ | ||
13 | @Mapper | ||
14 | public interface MfTdsUserAdditionalMapper extends BaseMapper<MfTdsUserAdditional> { | ||
15 | |||
16 | } |
1 | package com.csbr.qingcloud.portal.mybatis.mapper; | ||
2 | |||
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||
4 | import org.apache.ibatis.annotations.Mapper; | ||
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserIdentity; | ||
6 | |||
7 | /** | ||
8 | * @program: | ||
9 | * @description: 个人用户身份信息 Mapper 接口 | ||
10 | * @author: xup | ||
11 | * @create: 2025-08-14 13:21 | ||
12 | **/ | ||
13 | @Mapper | ||
14 | public interface MfTdsUserIdentityMapper extends BaseMapper<MfTdsUserIdentity> { | ||
15 | |||
16 | } |
1 | package com.csbr.qingcloud.portal.mybatis.mapper; | ||
2 | |||
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||
4 | import org.apache.ibatis.annotations.Mapper; | ||
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserVerifiable; | ||
6 | |||
7 | /** | ||
8 | * @program: | ||
9 | * @description: 个人用户可验信息 Mapper 接口 | ||
10 | * @author: xup | ||
11 | * @create: 2025-08-14 13:21 | ||
12 | **/ | ||
13 | @Mapper | ||
14 | public interface MfTdsUserVerifiableMapper extends BaseMapper<MfTdsUserVerifiable> { | ||
15 | |||
16 | } |
1 | package com.csbr.qingcloud.portal.mybatis.service; | ||
2 | |||
3 | import com.csbr.cloud.base.service.CsbrService; | ||
4 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserAdditional; | ||
5 | |||
6 | /** | ||
7 | * @program: | ||
8 | * @description: 个人用户附加信息逻辑层接口 | ||
9 | * @author: xup | ||
10 | * @create: 2025-08-14 13:21 | ||
11 | **/ | ||
12 | public interface MfTdsUserAdditionalService extends CsbrService<MfTdsUserAdditional> { | ||
13 | |||
14 | } |
1 | package com.csbr.qingcloud.portal.mybatis.service; | ||
2 | |||
3 | import com.csbr.cloud.base.service.CsbrService; | ||
4 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserIdentity; | ||
5 | |||
6 | /** | ||
7 | * @program: | ||
8 | * @description: 个人用户身份信息逻辑层接口 | ||
9 | * @author: xup | ||
10 | * @create: 2025-08-14 13:21 | ||
11 | **/ | ||
12 | public interface MfTdsUserIdentityService extends CsbrService<MfTdsUserIdentity> { | ||
13 | |||
14 | } |
1 | package com.csbr.qingcloud.portal.mybatis.service; | ||
2 | |||
3 | import com.csbr.cloud.base.service.CsbrService; | ||
4 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserVerifiable; | ||
5 | |||
6 | /** | ||
7 | * @program: | ||
8 | * @description: 个人用户可验信息逻辑层接口 | ||
9 | * @author: xup | ||
10 | * @create: 2025-08-14 13:21 | ||
11 | **/ | ||
12 | public interface MfTdsUserVerifiableService extends CsbrService<MfTdsUserVerifiable> { | ||
13 | |||
14 | } |
src/main/java/com/csbr/qingcloud/portal/mybatis/service/impl/MfTdsUserAdditionalServiceImpl.java
0 → 100644
1 | package com.csbr.qingcloud.portal.mybatis.service.impl; | ||
2 | |||
3 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; | ||
4 | import com.csbr.qingcloud.portal.mybatis.mapper.MfTdsUserAdditionalMapper; | ||
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserAdditional; | ||
6 | import com.csbr.qingcloud.portal.mybatis.service.MfTdsUserAdditionalService; | ||
7 | import jakarta.annotation.Resource; | ||
8 | import org.springframework.stereotype.Service; | ||
9 | |||
10 | /** | ||
11 | * @program: | ||
12 | * @description: 个人用户附加信息逻辑层接口实现 | ||
13 | * @author: xup | ||
14 | * @create: 2025-08-14 13:21 | ||
15 | **/ | ||
16 | @Service | ||
17 | public class MfTdsUserAdditionalServiceImpl extends CsbrServiceImpl<MfTdsUserAdditionalMapper, MfTdsUserAdditional> implements MfTdsUserAdditionalService { | ||
18 | |||
19 | @Resource | ||
20 | private MfTdsUserAdditionalMapper mfTdsUserAdditionalMapper; | ||
21 | |||
22 | } |
src/main/java/com/csbr/qingcloud/portal/mybatis/service/impl/MfTdsUserIdentityServiceImpl.java
0 → 100644
1 | package com.csbr.qingcloud.portal.mybatis.service.impl; | ||
2 | |||
3 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; | ||
4 | import com.csbr.qingcloud.portal.mybatis.mapper.MfTdsUserIdentityMapper; | ||
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserIdentity; | ||
6 | import com.csbr.qingcloud.portal.mybatis.service.MfTdsUserIdentityService; | ||
7 | import jakarta.annotation.Resource; | ||
8 | import org.springframework.stereotype.Service; | ||
9 | |||
10 | /** | ||
11 | * @program: | ||
12 | * @description: 个人用户身份信息逻辑层接口实现 | ||
13 | * @author: xup | ||
14 | * @create: 2025-08-14 13:21 | ||
15 | **/ | ||
16 | @Service | ||
17 | public class MfTdsUserIdentityServiceImpl extends CsbrServiceImpl<MfTdsUserIdentityMapper, MfTdsUserIdentity> implements MfTdsUserIdentityService { | ||
18 | |||
19 | @Resource | ||
20 | private MfTdsUserIdentityMapper mfTdsUserIdentityMapper; | ||
21 | |||
22 | } |
src/main/java/com/csbr/qingcloud/portal/mybatis/service/impl/MfTdsUserVerifiableServiceImpl.java
0 → 100644
1 | package com.csbr.qingcloud.portal.mybatis.service.impl; | ||
2 | |||
3 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; | ||
4 | import com.csbr.qingcloud.portal.mybatis.mapper.MfTdsUserVerifiableMapper; | ||
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfTdsUserVerifiable; | ||
6 | import com.csbr.qingcloud.portal.mybatis.service.MfTdsUserVerifiableService; | ||
7 | import jakarta.annotation.Resource; | ||
8 | import org.springframework.stereotype.Service; | ||
9 | |||
10 | /** | ||
11 | * @program: | ||
12 | * @description: 个人用户可验信息逻辑层接口实现 | ||
13 | * @author: xup | ||
14 | * @create: 2025-08-14 13:21 | ||
15 | **/ | ||
16 | @Service | ||
17 | public class MfTdsUserVerifiableServiceImpl extends CsbrServiceImpl<MfTdsUserVerifiableMapper, MfTdsUserVerifiable> implements MfTdsUserVerifiableService { | ||
18 | |||
19 | @Resource | ||
20 | private MfTdsUserVerifiableMapper mfTdsUserVerifiableMapper; | ||
21 | |||
22 | } |
1 | package com.csbr.qingcloud.portal.service; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.vo.PageListVO; | ||
4 | import com.csbr.qingcloud.portal.domain.vo.TdsUserAdditionalQueryVO; | ||
5 | import com.csbr.qingcloud.portal.domain.vo.TdsUserAdditionalRQVO; | ||
6 | import com.csbr.qingcloud.portal.domain.vo.TdsUserAdditionalRSVO; | ||
7 | |||
8 | import java.util.List; | ||
9 | |||
10 | /** | ||
11 | * @program: | ||
12 | * @description: 个人用户附加信息业务逻辑接口 | ||
13 | * @author: xup | ||
14 | * @create: 2025-08-14 13:21 | ||
15 | **/ | ||
16 | public interface TdsUserAdditionalService { | ||
17 | |||
18 | /** | ||
19 | * 个人用户附加信息分页查询 | ||
20 | * @author xup | ||
21 | * @date 2025-08-14 13:21 | ||
22 | * @param queryVO | ||
23 | * @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.TdsUserAdditionalRSVO> | ||
24 | */ | ||
25 | PageListVO<TdsUserAdditionalRSVO> pageList(TdsUserAdditionalQueryVO queryVO); | ||
26 | |||
27 | /** | ||
28 | * 个人用户附加信息获取详情数据 | ||
29 | * @author xup | ||
30 | * @date 2025-08-14 13:21 | ||
31 | * @param guid | ||
32 | * @return com.csbr.qingcloud.portal.domain.vo.TdsUserAdditionalRSVO | ||
33 | */ | ||
34 | TdsUserAdditionalRSVO getTdsUserAdditionalDetail(String guid); | ||
35 | |||
36 | /** | ||
37 | * 个人用户附加信息数据新增 | ||
38 | * @author xup | ||
39 | * @date 2025-08-14 13:21 | ||
40 | * @param rqVO | ||
41 | * @return boolean | ||
42 | */ | ||
43 | void saveTdsUserAdditional(TdsUserAdditionalRQVO rqVO); | ||
44 | |||
45 | /** | ||
46 | * 个人用户附加信息数据修改 | ||
47 | * @author xup | ||
48 | * @date 2025-08-14 13:21 | ||
49 | * @param rqVO | ||
50 | * @return boolean | ||
51 | */ | ||
52 | void updateTdsUserAdditional(TdsUserAdditionalRQVO rqVO); | ||
53 | |||
54 | /** | ||
55 | * 个人用户附加信息数据删除 | ||
56 | * @author xup | ||
57 | * @date 2025-08-14 13:21 | ||
58 | * @param guids | ||
59 | * @return void | ||
60 | */ | ||
61 | void removeByGuids(List<String> guids); | ||
62 | |||
63 | /** | ||
64 | * 个人用户附加信息数据删除、并有相关的处理操作 | ||
65 | * @author xup | ||
66 | * @date 2025-08-14 13:21 | ||
67 | * @param guids | ||
68 | * @return void | ||
69 | */ | ||
70 | void removeHandleByGuids(List<String> guids); | ||
71 | |||
72 | /** | ||
73 | * 通过UserGuid删除附件信息 | ||
74 | * @param userGuids | ||
75 | */ | ||
76 | void removeByUserGuids(List<String> userGuids); | ||
77 | |||
78 | /** | ||
79 | * 个人用户附加信息查询 | ||
80 | * @param userGuid | ||
81 | * @return | ||
82 | */ | ||
83 | TdsUserAdditionalRSVO getTdsUserAdditionalByUserGuid(String userGuid); | ||
84 | } |
1 | package com.csbr.qingcloud.portal.service; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.vo.PageListVO; | ||
4 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityQueryVO; | ||
5 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRQVO; | ||
6 | import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRSVO; | ||
7 | |||
8 | import java.util.List; | ||
9 | |||
10 | /** | ||
11 | * @program: | ||
12 | * @description: 个人用户身份信息业务逻辑接口 | ||
13 | * @author: xup | ||
14 | * @create: 2025-08-14 13:21 | ||
15 | **/ | ||
16 | public interface TdsUserIdentityService extends TdsSyncToRegionalNodeCallback<TdsUserIdentityRQVO> { | ||
17 | |||
18 | /** | ||
19 | * 个人用户身份信息分页查询 | ||
20 | * @author xup | ||
21 | * @date 2025-08-14 13:21 | ||
22 | * @param queryVO | ||
23 | * @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRSVO> | ||
24 | */ | ||
25 | PageListVO<TdsUserIdentityRSVO> pageList(TdsUserIdentityQueryVO queryVO); | ||
26 | |||
27 | /** | ||
28 | * 个人用户身份信息获取详情数据 | ||
29 | * @author xup | ||
30 | * @date 2025-08-14 13:21 | ||
31 | * @param guid | ||
32 | * @return com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRSVO | ||
33 | */ | ||
34 | TdsUserIdentityRSVO getTdsUserIdentityDetail(String guid); | ||
35 | |||
36 | /** | ||
37 | * 个人用户身份信息数据新增 | ||
38 | * @author xup | ||
39 | * @date 2025-08-14 13:21 | ||
40 | * @param rqVO | ||
41 | * @return boolean | ||
42 | */ | ||
43 | void saveTdsUserIdentity(TdsUserIdentityRQVO rqVO); | ||
44 | |||
45 | /** | ||
46 | * 个人用户身份信息数据修改 | ||
47 | * @author xup | ||
48 | * @date 2025-08-14 13:21 | ||
49 | * @param rqVO | ||
50 | * @return boolean | ||
51 | */ | ||
52 | void updateTdsUserIdentity(TdsUserIdentityRQVO rqVO); | ||
53 | |||
54 | /** | ||
55 | * 个人用户身份信息数据删除 | ||
56 | * @author xup | ||
57 | * @date 2025-08-14 13:21 | ||
58 | * @param guids | ||
59 | * @return void | ||
60 | */ | ||
61 | void removeByGuids(List<String> guids); | ||
62 | |||
63 | /** | ||
64 | * 个人用户身份信息数据删除、并有相关的处理操作 | ||
65 | * @author xup | ||
66 | * @date 2025-08-14 13:21 | ||
67 | * @param guids | ||
68 | * @return void | ||
69 | */ | ||
70 | void removeHandleByGuids(List<String> guids); | ||
71 | |||
72 | /** | ||
73 | * 认证个人用户身份信息 | ||
74 | * @param bizGuid | ||
75 | * @param identityStatus | ||
76 | * @param message | ||
77 | */ | ||
78 | void updateTdsUserIdentityStatus(String bizGuid, Integer identityStatus, String message); | ||
79 | } |
1 | package com.csbr.qingcloud.portal.service; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.vo.PageListVO; | ||
4 | import com.csbr.qingcloud.portal.domain.vo.TdsUserVerifiableQueryVO; | ||
5 | import com.csbr.qingcloud.portal.domain.vo.TdsUserVerifiableRQVO; | ||
6 | import com.csbr.qingcloud.portal.domain.vo.TdsUserVerifiableRSVO; | ||
7 | |||
8 | import java.util.List; | ||
9 | |||
10 | /** | ||
11 | * @program: | ||
12 | * @description: 个人用户可验信息业务逻辑接口 | ||
13 | * @author: xup | ||
14 | * @create: 2025-08-14 13:21 | ||
15 | **/ | ||
16 | public interface TdsUserVerifiableService { | ||
17 | |||
18 | /** | ||
19 | * 个人用户可验信息分页查询 | ||
20 | * @author xup | ||
21 | * @date 2025-08-14 13:21 | ||
22 | * @param queryVO | ||
23 | * @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.TdsUserVerifiableRSVO> | ||
24 | */ | ||
25 | PageListVO<TdsUserVerifiableRSVO> pageList(TdsUserVerifiableQueryVO queryVO); | ||
26 | |||
27 | /** | ||
28 | * 个人用户可验信息获取详情数据 | ||
29 | * @author xup | ||
30 | * @date 2025-08-14 13:21 | ||
31 | * @param guid | ||
32 | * @return com.csbr.qingcloud.portal.domain.vo.TdsUserVerifiableRSVO | ||
33 | */ | ||
34 | TdsUserVerifiableRSVO getTdsUserVerifiableDetail(String guid); | ||
35 | |||
36 | /** | ||
37 | * 个人用户可验信息数据新增 | ||
38 | * @author xup | ||
39 | * @date 2025-08-14 13:21 | ||
40 | * @param rqVO | ||
41 | * @return boolean | ||
42 | */ | ||
43 | void saveTdsUserVerifiable(TdsUserVerifiableRQVO rqVO); | ||
44 | |||
45 | /** | ||
46 | * 个人用户可验信息数据修改 | ||
47 | * @author xup | ||
48 | * @date 2025-08-14 13:21 | ||
49 | * @param rqVO | ||
50 | * @return boolean | ||
51 | */ | ||
52 | void updateTdsUserVerifiable(TdsUserVerifiableRQVO rqVO); | ||
53 | |||
54 | /** | ||
55 | * 个人用户可验信息数据删除 | ||
56 | * @author xup | ||
57 | * @date 2025-08-14 13:21 | ||
58 | * @param guids | ||
59 | * @return void | ||
60 | */ | ||
61 | void removeByGuids(List<String> guids); | ||
62 | |||
63 | /** | ||
64 | * 个人用户可验信息数据删除、并有相关的处理操作 | ||
65 | * @author xup | ||
66 | * @date 2025-08-14 13:21 | ||
67 | * @param guids | ||
68 | * @return void | ||
69 | */ | ||
70 | void removeHandleByGuids(List<String> guids); | ||
71 | |||
72 | void removeByUserGuids(List<String> userGuids); | ||
73 | |||
74 | /** | ||
75 | * 个人用户可验信息查询 | ||
76 | * @param userGuid | ||
77 | * @return | ||
78 | */ | ||
79 | TdsUserVerifiableRSVO getTdsUserVerifiableByUserGuid(String userGuid); | ||
80 | } |
1 | package com.csbr.qingcloud.portal.service.impl; | ||
2 | |||
3 | import com.alibaba.fastjson.JSON; | ||
4 | import com.alibaba.fastjson.JSONObject; | ||
5 | import com.csbr.cloud.common.enums.SystemError; | ||
6 | import com.csbr.cloud.common.exception.CsbrSystemException; | ||
7 | import com.csbr.cloud.common.response.CommonRes; | ||
8 | import com.csbr.qingcloud.portal.enums.TdsDataTypeEnum; | ||
9 | import com.csbr.qingcloud.portal.service.TdsSyncToRegionalNodeCallback; | ||
10 | import com.csbr.qingcloud.portal.util.ZQConfig; | ||
11 | import jakarta.annotation.Resource; | ||
12 | import lombok.extern.slf4j.Slf4j; | ||
13 | import org.apache.hc.client5.http.config.RequestConfig; | ||
14 | import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; | ||
15 | import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; | ||
16 | import org.apache.hc.core5.util.Timeout; | ||
17 | import org.springframework.beans.factory.annotation.Autowired; | ||
18 | import org.springframework.http.HttpEntity; | ||
19 | import org.springframework.http.HttpHeaders; | ||
20 | import org.springframework.http.MediaType; | ||
21 | import org.springframework.http.client.ClientHttpRequestFactory; | ||
22 | import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; | ||
23 | import org.springframework.scheduling.annotation.Async; | ||
24 | import org.springframework.stereotype.Service; | ||
25 | import org.springframework.web.client.RestTemplate; | ||
26 | |||
27 | /** | ||
28 | * 业务节点同步数据到区域节点服务 | ||
29 | * @param <T> | ||
30 | */ | ||
31 | @Slf4j | ||
32 | @Service | ||
33 | public class TdsSyncToRegionalNodeService<T> { | ||
34 | |||
35 | @Resource | ||
36 | public ZQConfig zqConfig; | ||
37 | |||
38 | @Resource | ||
39 | private RestTemplate restTemplate; | ||
40 | |||
41 | /** | ||
42 | * 业务节点同步数据到区域节点 | ||
43 | * @param dataTypeEnum | ||
44 | * @param data | ||
45 | * @param callback | ||
46 | */ | ||
47 | @Async | ||
48 | public void syncToRegionalNode(TdsDataTypeEnum dataTypeEnum, | ||
49 | T data, | ||
50 | TdsSyncToRegionalNodeCallback<T> callback){ | ||
51 | HttpHeaders headers = new HttpHeaders(); | ||
52 | headers.setContentType(MediaType.APPLICATION_JSON); | ||
53 | headers.set("appKey", zqConfig.getAppKey()); | ||
54 | JSONObject jsonObject = new JSONObject(); | ||
55 | jsonObject.put("data",JSON.parseObject(JSON.toJSONString(data))); | ||
56 | jsonObject.put("dataType",dataTypeEnum); | ||
57 | jsonObject.put("zqName",zqConfig.getZqName()); | ||
58 | HttpEntity<JSONObject> requestEntity = new HttpEntity<>(jsonObject, headers); | ||
59 | restTemplate.setRequestFactory(getFactory()); | ||
60 | CommonRes commonRes = restTemplate.postForObject(zqConfig.getTdsRegionalNodeUrl(), requestEntity, CommonRes.class); | ||
61 | if (!CommonRes.success().getCode().equals(commonRes.getCode())) { | ||
62 | throw new CsbrSystemException(SystemError.ERROR_CODE, commonRes.getMsg()); | ||
63 | } else { | ||
64 | CommonRes commonResData = JSON.parseObject(String.valueOf(commonRes.getData()), CommonRes.class); | ||
65 | if (!CommonRes.success().getCode().equals(commonResData.getCode())) { | ||
66 | throw new CsbrSystemException(SystemError.ERROR_CODE, commonResData.getMsg()); | ||
67 | } | ||
68 | } | ||
69 | callback.onTaskComplete(data); | ||
70 | } | ||
71 | |||
72 | private ClientHttpRequestFactory getFactory() { | ||
73 | RequestConfig config = RequestConfig.custom() | ||
74 | .setConnectTimeout(Timeout.ofSeconds(5000)) // 连接超时 | ||
75 | .setConnectionRequestTimeout(Timeout.ofSeconds(5000)) // 从连接池获取连接的超时时间 | ||
76 | .setResponseTimeout(Timeout.ofSeconds(10000)) // 数据读取超时 | ||
77 | .build(); | ||
78 | |||
79 | CloseableHttpClient httpClient = HttpClientBuilder.create() | ||
80 | .setDefaultRequestConfig(config) | ||
81 | .build(); | ||
82 | |||
83 | return new HttpComponentsClientHttpRequestFactory(httpClient); | ||
84 | } | ||
85 | } |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
... | @@ -4,6 +4,8 @@ import lombok.Data; | ... | @@ -4,6 +4,8 @@ import lombok.Data; |
4 | import org.springframework.boot.context.properties.ConfigurationProperties; | 4 | import org.springframework.boot.context.properties.ConfigurationProperties; |
5 | import org.springframework.stereotype.Component; | 5 | import org.springframework.stereotype.Component; |
6 | 6 | ||
7 | import java.util.Map; | ||
8 | |||
7 | /** | 9 | /** |
8 | * @program: daop-projects | 10 | * @program: daop-projects |
9 | * @description: | 11 | * @description: |
... | @@ -25,4 +27,9 @@ public class ZQConfig { | ... | @@ -25,4 +27,9 @@ public class ZQConfig { |
25 | 27 | ||
26 | private Boolean isMain = false; | 28 | private Boolean isMain = false; |
27 | 29 | ||
30 | /** | ||
31 | * 可信空间区域节点数据同步URL地址 | ||
32 | */ | ||
33 | private String tdsRegionalNodeUrl; | ||
34 | |||
28 | } | 35 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment