From 6621720a20a41e44a6896fe41e6b0cfade9448d2 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 10 Apr 2024 13:55:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E9=87=8D=E5=A4=8D=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 2 +- .../service/impl/SysUserServiceImpl.java | 20 ++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/kh-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/kh-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 421ae78d..4eaaa696 100644 --- a/kh-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/kh-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -188,7 +188,7 @@ public class SysUserController { return Results.OK(OPTION_SUCCESS); } catch (Exception e) { SysUserController.log.error(e.getMessage(), e); - return Results.error("操作失败"); + return Results.error(e.getMessage()); } } diff --git a/kh-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/kh-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 1f5c777c..06c2a889 100644 --- a/kh-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/kh-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Results; import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.SysUserCacheInfo; @@ -45,6 +46,7 @@ import java.util.stream.Collectors; */ @Service @Slf4j +@Transactional(rollbackFor = JeroBootException.class) public class SysUserServiceImpl extends ServiceImpl implements ISysUserService { @Autowired @@ -67,10 +69,8 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public IPage queryPage(Page page, List subDepIds, String roleId, QueryWrapper queryWrapper){ IPage sysUserIPage = this.userMapper.queryPage(page, subDepIds, roleId, queryWrapper); - sysUserIPage.getRecords().forEach(user -> { - // 对手机号、邮箱进行解密处理 - proceedUserInfoDecrypt(user); - }); + // 对手机号、邮箱进行解密处理 + sysUserIPage.getRecords().forEach(this::proceedUserInfoDecrypt); return sysUserIPage; } @@ -463,8 +463,18 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = Exception.class) public void saveUser(SysUser user, String selectedRoles, String selectedDeparts) { + String phone = user.getPhone(); + // 将所有的用户数据查出来,然后将手机号解密,判断有没有和当前user的手机号重复的数据,如果有则提示 + List allUsers = userMapper.selectList(new QueryWrapper<>()); + // 对手机号、邮箱进行解密处理 + allUsers.forEach(this::proceedUserInfoDecrypt); + for (SysUser sysUser : allUsers) { + if (StrUtil.isNotEmpty(phone) && phone.equals(sysUser.getPhone())) { + throw new JeroBootException("手机号已存在,请重新输入"); + } + } + //step.1 保存用户 // 对手机号、邮箱进行加密处理 this.proceedUserInfoEncrypt(user);