修改用户登录账号重复验证

master
RuoYi 2022-09-18 11:25:03 +08:00
parent 13287e02eb
commit e337f685bc
6 changed files with 21 additions and 16 deletions

View File

@ -130,7 +130,7 @@ public class SysUserController extends BaseController
@ResponseBody
public AjaxResult addSave(@Validated SysUser user)
{
if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user.getLoginName())))
if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user)))
{
return error("新增用户'" + user.getLoginName() + "'失败,登录账号已存在");
}
@ -176,7 +176,11 @@ public class SysUserController extends BaseController
{
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
if (StringUtils.isNotEmpty(user.getPhonenumber())
if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user)))
{
return error("修改用户'" + user.getLoginName() + "'失败,登录账号已存在");
}
else if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.USER_PHONE_NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
{
return error("修改用户'" + user.getLoginName() + "'失败,手机号码已存在");
@ -269,7 +273,7 @@ public class SysUserController extends BaseController
@ResponseBody
public String checkLoginNameUnique(SysUser user)
{
return userService.checkLoginNameUnique(user.getLoginName());
return userService.checkLoginNameUnique(user);
}
/**

View File

@ -58,7 +58,7 @@ public class SysRegisterService
{
msg = "账户长度必须在2到20个字符之间";
}
else if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(loginName)))
else if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user)))
{
msg = "保存用户'" + loginName + "'失败,注册账号已存在";
}
@ -67,7 +67,7 @@ public class SysRegisterService
user.setPwdUpdateDate(DateUtils.getNowDate());
user.setUserName(loginName);
user.setSalt(ShiroUtils.randomSalt());
user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
user.setPassword(passwordService.encryptPassword(loginName, password, user.getSalt()));
boolean regFlag = userService.registerUser(user);
if (!regFlag)
{

View File

@ -104,7 +104,7 @@ public interface SysUserMapper
* @param loginName
* @return
*/
public int checkLoginNameUnique(String loginName);
public SysUser checkLoginNameUnique(String loginName);
/**
*

View File

@ -143,10 +143,10 @@ public interface ISysUserService
/**
*
*
* @param loginName
* @param user
* @return
*/
public String checkLoginNameUnique(String loginName);
public String checkLoginNameUnique(SysUser user);
/**
*

View File

@ -347,16 +347,17 @@ public class SysUserServiceImpl implements ISysUserService
}
/**
*
*
*
* @param loginName
* @return
* @param user
* @return
*/
@Override
public String checkLoginNameUnique(String loginName)
public String checkLoginNameUnique(SysUser user)
{
int count = userMapper.checkLoginNameUnique(loginName);
if (count > 0)
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkLoginNameUnique(user.getLoginName());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
{
return UserConstants.USER_NAME_NOT_UNIQUE;
}

View File

@ -138,8 +138,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where u.email = #{email} and u.del_flag = '0'
</select>
<select id="checkLoginNameUnique" parameterType="String" resultType="int">
select count(1) from sys_user where login_name=#{loginName} and del_flag = '0' limit 1
<select id="checkLoginNameUnique" parameterType="String" resultMap="SysUserResult">
select user_id, login_name from sys_user where login_name=#{loginName} and del_flag = '0' limit 1
</select>
<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">