feat: 添加用户手机号重复提示

This commit is contained in:
2024-04-10 13:55:25 +08:00
parent d5a410e3af
commit 6621720a20
2 changed files with 16 additions and 6 deletions
@@ -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());
}
}
@@ -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<SysUserMapper, SysUser> implements ISysUserService {
@Autowired
@@ -67,10 +69,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
public IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, QueryWrapper<SysUser> queryWrapper){
IPage<SysUser> 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<SysUserMapper, SysUser> impl
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveUser(SysUser user, String selectedRoles, String selectedDeparts) {
String phone = user.getPhone();
// 将所有的用户数据查出来,然后将手机号解密,判断有没有和当前user的手机号重复的数据,如果有则提示
List<SysUser> 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);