李进 2 лет назад
Родитель
Сommit
70ee8d1136

+ 28 - 9
authorize-api-service/src/main/java/com/xy/service/impl/SysWorkUserServiceImpl.java

@@ -70,18 +70,21 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
     @Transactional(rollbackFor = Exception.class)
     public R<Long> register(AddDto addDto) {
         //校验
-        long count = count(new LambdaQueryWrapper<SysWorkUser>()
-                .eq(SysWorkUser::getAccount, addDto.getAccount())
-                .or()
-                .eq(SysWorkUser::getPhone, addDto.getPhone())
-        );
+        LambdaQueryWrapper<SysWorkUser> lambdaQueryWrapper = new LambdaQueryWrapper<SysWorkUser>()
+                .eq(SysWorkUser::getAccount, addDto.getAccount());
+        if (!StringUtils.isEmpty(addDto.getEmail())) {
+            lambdaQueryWrapper.or().eq(SysWorkUser::getEmail, addDto.getEmail());
+        }
+        long count = count(lambdaQueryWrapper);
         if (count > 0) {
-            return R.fail("账号或手机已存在");
+            return R.fail("账号或邮箱已存在");
         }
+        long count2 = count(new LambdaQueryWrapper<SysWorkUser>().eq(SysWorkUser::getPhone, addDto.getPhone()));
         //新增业务用户
         SysWorkUser sysWorkUser = Beans.copy(SysWorkUser.class, addDto)
                 .create(RedisCache.getLoginId(Long.class))
-                .setPassword(SecureUtil.md5(addDto.getPassword()));
+                .setPassword(SecureUtil.md5(addDto.getPassword()))
+                .setPhone(count2 > 0 ? null : addDto.getPhone());
         save(sysWorkUser);
         List<Long> roleIds = addDto.getRoleIds();
         if (CollUtil.isNotEmpty(roleIds)) {
@@ -106,6 +109,24 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
     @ApiOperation(value = "修改", notes = "修改")
     @Transactional(rollbackFor = Exception.class)
     public R<Boolean> update(UpdateDto updateDto) {
+        //校验
+        SysWorkUser byId = getById(updateDto.getId());
+        if (!StringUtils.isEmpty(updateDto.getPhone())) {
+            if (!updateDto.getPhone().equals(byId.getPhone())) {
+                long count = count(new LambdaQueryWrapper<SysWorkUser>().eq(SysWorkUser::getPhone, updateDto.getPhone()));
+                if(count > 0) {
+                    return R.fail("手机号已存在");
+                }
+            }
+        }
+        if (!StringUtils.isEmpty(updateDto.getEmail())) {
+            if (!updateDto.getEmail().equals(byId.getEmail())) {
+                long count = count(new LambdaQueryWrapper<SysWorkUser>().eq(SysWorkUser::getEmail, updateDto.getEmail()));
+                if(count > 0) {
+                    return R.fail("邮箱已存在");
+                }
+            }
+        }
         //更新用户信息
         SysWorkUser sysWorkUser = Beans.copy(SysWorkUser.class, updateDto)
                 .update(RedisCache.getLoginId(Long.class))
@@ -121,7 +142,6 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
                     .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(updateDto.getSysId())).collect(Collectors.toList());
             //保存用户角色绑定信息
             sysUserRoleService.saveBatch(sysUserRoleList);
-
         }
         //更新部门信息
         List<Long> deptIds = updateDto.getDeptIds();
@@ -133,7 +153,6 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
             List<SysUserDept> newSysUserDeptList = deptIds.stream().map(deptId -> new SysUserDept().createId()
                     .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(updateDto.getSysId())).collect(Collectors.toList());
             sysUserDeptService.saveBatch(newSysUserDeptList);
-
         }
         return R.ok(Boolean.TRUE);
     }

+ 0 - 4
authorize-api/src/main/java/com/xy/dto/SysWorkUser/AddDto.java

@@ -14,7 +14,6 @@ import java.util.List;
 @Accessors(chain = true)
 public class AddDto {
 
-
     @ApiModelProperty(value = "系统ID", required = true)
     private Long sysId;
 
@@ -23,7 +22,6 @@ public class AddDto {
     @Pattern(regexp = "^[a-zA-z0-9]{6,11}$", message = "account必须为数字或字母,长度6-11位之间")
     private String account;
 
-
     @ApiModelProperty(value = "邮箱")
     @Pattern(regexp = "^(\\w+([-.][A-Za-z0-9]+)*){3,18}@\\w+([-.][A-Za-z0-9]+)*\\.\\w+([-.][A-Za-z0-9]+)*$", message = "email格式错误")
     private String email;
@@ -33,13 +31,11 @@ public class AddDto {
     @Pattern(regexp = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,2-9]))\\d{8}$", message = "phone格式错误")
     private String phone;
 
-
     @ApiModelProperty(value = "密码", required = true)
     @NotBlank(message = "密码不可为空")
     @Pattern(regexp = "^[a-zA-z0-9]{6,11}$", message = "password必须为数字或字母,长度6-11位之间")
     private String password;
 
-
     @ApiModelProperty(value = "状态")
     private Boolean status;
 

+ 0 - 3
authorize-api/src/main/java/com/xy/dto/SysWorkUser/UpdateDto.java

@@ -17,9 +17,6 @@ public class UpdateDto {
     @NotNull(message = "未选中用户")
     private Long id;
 
-    @ApiModelProperty(value = "账号")
-    private String account;
-
     @ApiModelProperty(value = "系统ID")
     private Long sysId;