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);