From 94cb1f779bb73fcba00afd62c3a811b0c89287bb Mon Sep 17 00:00:00 2001 From: loser <12524321+loser111@user.noreply.gitee.com> Date: Wed, 10 May 2023 18:31:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E7=94=A8=E6=88=B7=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BA=AB=E4=BB=BD=E8=AF=81=E9=99=90=E5=88=B6=EF=BC=8C=E6=9D=9C?= =?UTF-8?q?=E7=BB=9D=E9=87=8D=E5=A4=8D=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7?= =?UTF-8?q?=E7=A0=81=E5=87=BA=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysProfileController.java | 5 ++++ .../web/controller/system/SysUserController.java | 18 ++++++++++++ .../main/resources/templates/system/user/add.html | 29 +++++++++++++++++- .../main/resources/templates/system/user/edit.html | 29 +++++++++++++++++- .../main/resources/templates/system/user/user.html | 4 +++ .../ruoyi/common/core/domain/entity/SysUser.java | 13 +++++++++ .../com/ruoyi/system/mapper/SysUserMapper.java | 17 +++++++++++ .../com/ruoyi/system/service/ISysUserService.java | 15 ++++++++++ .../system/service/impl/SysUserServiceImpl.java | 24 +++++++++++++++ .../main/resources/mapper/system/SysUserMapper.xml | 34 ++++++++++++++++++---- 10 files changed, 180 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java index 0d7f0a7..977125a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java @@ -132,6 +132,7 @@ public class SysProfileController extends BaseController currentUser.setUserName(user.getUserName()); currentUser.setEmail(user.getEmail()); currentUser.setPhonenumber(user.getPhonenumber()); + currentUser.setIdNumber(user.getIdNumber()); currentUser.setSex(user.getSex()); if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser)) { @@ -141,6 +142,10 @@ public class SysProfileController extends BaseController { return error("修改用户'" + currentUser.getLoginName() + "'失败,邮箱账号已存在"); } + else if (StringUtils.isNotEmpty(user.getIdNumber()) && !userService.checkIdNumberUnique(currentUser)) + { + return error("修改用户'" + currentUser.getLoginName() + "'失败,身份证已存在"); + } if (userService.updateUserInfo(currentUser) > 0) { setSysUser(userService.selectUserById(currentUser.getUserId())); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 92cc438..53fe14a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -137,6 +137,10 @@ public class SysUserController extends BaseController { return error("新增用户'" + user.getLoginName() + "'失败,手机号码已存在"); } + else if (StringUtils.isNotEmpty(user.getIdNumber()) && !userService.checkIdNumberUnique(user)) + { + return error("新增用户'" + user.getLoginName() + "'失败,身份证已存在"); + } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { return error("新增用户'" + user.getLoginName() + "'失败,邮箱账号已存在"); @@ -185,6 +189,10 @@ public class SysUserController extends BaseController { return error("修改用户'" + user.getLoginName() + "'失败,邮箱账号已存在"); } + else if (StringUtils.isNotEmpty(user.getIdNumber()) && !userService.checkIdNumberUnique(user)) + { + return error("修改用户'" + user.getLoginName() + "'失败,身份证已存在"); + } user.setUpdateBy(getLoginName()); AuthorizationUtils.clearAllCachedAuthorizationInfo(); return toAjax(userService.updateUser(user)); @@ -282,6 +290,16 @@ public class SysUserController extends BaseController } /** + * 校验身份证 + */ + @PostMapping("/checkIdNumberUnique") + @ResponseBody + public boolean checkIdNumberUnique(SysUser user) + { + return userService.checkIdNumberUnique(user); + } + + /** * 校验email邮箱 */ @PostMapping("/checkEmailUnique") diff --git a/ruoyi-admin/src/main/resources/templates/system/user/add.html b/ruoyi-admin/src/main/resources/templates/system/user/add.html index fa5b522..2618918 100644 --- a/ruoyi-admin/src/main/resources/templates/system/user/add.html +++ b/ruoyi-admin/src/main/resources/templates/system/user/add.html @@ -44,6 +44,17 @@
+ +
+
+ + +
+
+
+
+
+
@@ -196,6 +207,19 @@ } } }, + idNumber:{ + isIdentity18:true, + remote: { + url: prefix + "/checkIdNumberUnique", + type: "post", + dataType: "json", + data: { + "idNumber": function () { + return $.common.trim($("#idNumber").val()); + } + } + } + }, }, messages: { "loginName": { @@ -206,7 +230,10 @@ }, "phonenumber":{ remote: "手机号码已经存在" - } + }, + "idNumber":{ + remote: "身份证号码已经存在" + } }, focusCleanup: true }); diff --git a/ruoyi-admin/src/main/resources/templates/system/user/edit.html b/ruoyi-admin/src/main/resources/templates/system/user/edit.html index 255239e..68ef833 100644 --- a/ruoyi-admin/src/main/resources/templates/system/user/edit.html +++ b/ruoyi-admin/src/main/resources/templates/system/user/edit.html @@ -45,6 +45,17 @@
+ +
+
+ + +
+
+
+
+
+
@@ -169,6 +180,19 @@ } } }, + idNumber:{ + isIdentity18:true, + remote: { + url: prefix + "/checkIdNumberUnique", + type: "post", + dataType: "json", + data: { + "idNumber": function () { + return $.common.trim($("#idNumber").val()); + } + } + } + }, }, messages: { "email": { @@ -176,7 +200,10 @@ }, "phonenumber":{ remote: "手机号码已经存在" - } + }, + "idNumber":{ + remote: "身份证号码已经存在" + } }, focusCleanup: true }); diff --git a/ruoyi-admin/src/main/resources/templates/system/user/user.html b/ruoyi-admin/src/main/resources/templates/system/user/user.html index 1d9f18e..75e6677 100644 --- a/ruoyi-admin/src/main/resources/templates/system/user/user.html +++ b/ruoyi-admin/src/main/resources/templates/system/user/user.html @@ -141,6 +141,10 @@ field: 'userName', title: '用户名称' }, + { + field: 'idNumber', + title: '身份证' + }, { field: 'dept.deptName', title: '部门' diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index 2c304ec..d823fb7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -47,6 +47,10 @@ public class SysUser extends BaseEntity @Excel(name = "用户名称") private String userName; + /** 身份证 */ + @Excel(name = "身份证") + private String idNumber; + /** 用户类型 */ private String userType; @@ -222,6 +226,15 @@ public class SysUser extends BaseEntity this.phonenumber = phonenumber; } + @Size(min=0,max=18,message = "身份证号码不能超过18个字符") + public String getIdNumber() { + return idNumber; + } + + public void setIdNumber(String idNumber) { + this.idNumber = idNumber; + } + public String getSex() { return sex; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 320506d..708692b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -67,6 +67,14 @@ public interface SysUserMapper public SysUser selectUserById(Long userId); /** + * 通过用户ID查询用户 + * + * @param idNumber 用户ID + * @return 用户对象信息 + */ + public SysUser selectUserByIdNumber(String idNumber); + + /** * 通过用户ID删除用户 * * @param userId 用户ID @@ -114,6 +122,15 @@ public interface SysUserMapper */ public SysUser checkPhoneUnique(String phonenumber); + + /** + * 校验身份证是否唯一 + * + * @param idNumber 身份证 + * @return 结果 + */ + public SysUser checkIdNumberUnique(String idNumber); + /** * 校验email是否唯一 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index f3e8892..cc739d5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -44,6 +44,13 @@ public interface ISysUserService public SysUser selectUserByLoginName(String userName); /** + * 通过身份证查询用户 + * + * @param idNumber 身份证 + * @return 用户对象信息 + */ + public SysUser selectUserByIdNumber(String idNumber); + /** * 通过手机号码查询用户 * * @param phoneNumber 手机号码 @@ -157,6 +164,14 @@ public interface ISysUserService public boolean checkPhoneUnique(SysUser user); /** + * 校验身份证号码是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkIdNumberUnique(SysUser user); + + /** * 校验email是否唯一 * * @param user 用户信息 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index ea22b28..ad26f5d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -31,6 +31,7 @@ import com.ruoyi.system.mapper.SysUserPostMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.ISysUserService; /** * 用户 业务层处理 @@ -114,6 +115,11 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.selectUserByLoginName(userName); } + @Override + public SysUser selectUserByIdNumber(String idNumber) { + return userMapper.selectUserByIdNumber(idNumber); + } + /** * 通过手机号码查询用户 * @@ -382,6 +388,24 @@ public class SysUserServiceImpl implements ISysUserService return UserConstants.UNIQUE; } + + /** + * 校验身份证号码是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkIdNumberUnique(SysUser user) { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkIdNumberUnique(user.getIdNumber()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + /** * 校验email是否唯一 * diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 74d66d1..ab47d4b 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -50,7 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select u.user_id, u.dept_id, u.login_name, u.user_name, u.user_type, u.email, u.avatar, u.phonenumber, u.sex, u.password, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.pwd_update_date, u.create_time, u.remark, + select u.user_id, u.dept_id, u.login_name, u.user_name,u.id_number, u.user_type, u.email, u.avatar, u.phonenumber, u.sex, u.password, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.pwd_update_date, u.create_time, u.remark, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u @@ -60,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -145,7 +155,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + @@ -154,7 +168,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where u.user_id = #{userId} - + + + update sys_user set del_flag = '2' where user_id = #{userId} @@ -172,6 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dept_id = #{deptId}, login_name = #{loginName}, user_name = #{userName}, + id_number = #{idNumber}, user_type = #{userType}, email = #{email}, phonenumber = #{phonenumber}, @@ -196,6 +216,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dept_id, login_name, user_name, + id_number, user_type, email, avatar, @@ -213,6 +234,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{deptId}, #{loginName}, #{userName}, + #{id_number}, #{userType}, #{email}, #{avatar},