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