diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index 32f512702..d9ff9f753 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -68,6 +68,7 @@ import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; import com.bsd.pjcloud.flow.task.dto.TaskDto; import com.bsd.pjcloud.wallet.api.dto.recharge.excel.WalletRechargeExcelDto; +import com.bsd.pjcloud.wallet.api.entity.mch.MchManageEntity; import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; import com.bsd.pjcloud.wallet.api.feign.RemoteWalletService; import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; @@ -393,6 +394,11 @@ public class SysUserServiceImpl extends ServiceImpl impl sysUser.setPassword(ENCODER.encode(userDto.getPassword())); } + // 判断用户username是否重复 + if (existUsername(userDto.getUserId(), userDto.getUsername())) { + throw new RuntimeException("该用户名已存在"); + } + this.updateById(sysUser); // 更新用户角色表 @@ -938,4 +944,15 @@ public class SysUserServiceImpl extends ServiceImpl impl .like(StrUtil.isNotBlank(name), SysUser::getName, name)); return com.bsd.pjcloud.common.core.util.BeanUtils.toBean(sysUsers, SimpleUserListVO.class); } + + private boolean existUsername(Long userId, String username) { + Long count = baseMapper.selectCount(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(username), SysUser::getUsername, username) + .ne(ObjectUtil.isNotEmpty(userId), SysUser::getUserId, userId) + ); + if (ObjectUtil.isNotEmpty(userId)) { + return count >= 1; + } + return count > 0; + } }