From 823c56293db1d83a85f730aad9efc0c58a410f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Thu, 5 Feb 2026 17:39:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(user-verify):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=91=98=E4=BF=A1=E6=81=AF=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=8F=8A=E6=95=B0=E6=8D=AE=E5=8E=BB=E9=87=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 UserVerify 实体类中添加 adminName 字段用于显示操作员名称 - 修改控制器在验证过程中自动设置当前登录用户为操作员 ID - 更新 MyBatis 查询 SQL 以关联查询操作员昵称信息 - 实现防止同一用户在验证表中重复记录的数据去重逻辑 - 添加基于用户 ID 分组并获取最新记录的查询优化 - 支持按操作员 ID 进行筛选查询功能 --- .../controller/UserVerifyController.java | 2 + .../common/system/entity/UserVerify.java | 6 +- .../system/mapper/xml/UserVerifyMapper.xml | 83 ++++++++++++++++++- 3 files changed, 89 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gxwebsoft/common/system/controller/UserVerifyController.java b/src/main/java/com/gxwebsoft/common/system/controller/UserVerifyController.java index de09b21..effce62 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/UserVerifyController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/UserVerifyController.java @@ -123,6 +123,8 @@ public class UserVerifyController extends BaseController { if (userVerify.getType().equals(1)) { byUserId.setRealName(userVerify.getName()); } + // 设置管理员id + userVerify.setAdminId(loginUser.getUserId()); } userService.updateById(byUserId); diff --git a/src/main/java/com/gxwebsoft/common/system/entity/UserVerify.java b/src/main/java/com/gxwebsoft/common/system/entity/UserVerify.java index 303fdbe..8a7ec7b 100644 --- a/src/main/java/com/gxwebsoft/common/system/entity/UserVerify.java +++ b/src/main/java/com/gxwebsoft/common/system/entity/UserVerify.java @@ -61,9 +61,13 @@ public class UserVerify implements Serializable { @Schema(description = "其他证件") private String files; - @Schema(description = "审核人") + @Schema(description = "操作员ID") private Integer adminId; + @Schema(description = "操作员名称") + @TableField(exist = false) + private String adminName; + @Schema(description = "机构ID") private Integer organizationId; diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserVerifyMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserVerifyMapper.xml index 395036b..963bf69 100644 --- a/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserVerifyMapper.xml +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserVerifyMapper.xml @@ -4,10 +4,11 @@ - SELECT a.*, b.phone, c.organization_name + SELECT a.*, b.phone, c.organization_name, d.nickname as adminName FROM sys_user_verify a LEFT JOIN sys_user b ON a.user_id = b.user_id LEFT JOIN sys_organization c ON a.organization_id = c.organization_id + LEFT JOIN sys_user d ON a.admin_id = d.user_id AND a.id = #{param.id} @@ -77,6 +78,86 @@ OR a.zz_code = #{param.keywords} ) + + + AND a.id IN ( + SELECT MAX(v.id) + FROM sys_user_verify v + LEFT JOIN sys_user u ON v.user_id = u.user_id + + + AND v.user_id = #{param.userId} + + + AND v.type = #{param.type} + + + AND v.name LIKE CONCAT('%', #{param.name}, '%') + + + AND v.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND v.id_card LIKE CONCAT('%', #{param.idCard}, '%') + + + AND v.birthday LIKE CONCAT('%', #{param.birthday}, '%') + + + AND v.sfz1 LIKE CONCAT('%', #{param.sfz1}, '%') + + + AND v.sfz2 LIKE CONCAT('%', #{param.sfz2}, '%') + + + AND v.zz_code = #{param.zzCode} + + + AND v.admin_id = #{param.adminId} + + + AND v.organization_id = #{param.organizationId} + + + AND v.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND v.status = #{param.status} + + + AND v.deleted = #{param.deleted} + + + AND v.deleted = 0 + + + AND v.create_time >= #{param.createTimeStart} + + + AND v.create_time <= #{param.createTimeEnd} + + + AND v.organization_id IN + + #{item} + + + + AND (v.name LIKE CONCAT('%', #{param.keywords}, '%') + OR v.real_name LIKE CONCAT('%', #{param.keywords}, '%') + OR u.phone = #{param.keywords} + OR v.id_card = #{param.keywords} + OR v.zz_code = #{param.keywords} + ) + + + GROUP BY v.user_id + ) +