用户修改
This commit is contained in:
@@ -64,7 +64,7 @@ public interface TbSysUserMapper extends BaseMapper<TbSysUserDTO> {
|
||||
* @author yslg
|
||||
* @since 2025-11-07
|
||||
*/
|
||||
List<SysUserVO> getUserByFilter(@Param("filter") TbSysUserDTO filter);
|
||||
List<SysUserVO> getUserByFilter(@Param("filter") SysUserVO filter);
|
||||
|
||||
/**
|
||||
* @description 根据条件查询系统用户分页列表
|
||||
|
||||
@@ -68,7 +68,7 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
public ResultDomain<TbSysUserDTO> registerUser(SysUserVO userVO) {
|
||||
try {
|
||||
logger.info("开始注册用户:{}", userVO.getUsername());
|
||||
|
||||
userVO.setPhone(aesEncryptUtil.decrypt(userVO.getPhone()));
|
||||
// 检查用户是否已存在
|
||||
if (checkUserExists(userVO)) {
|
||||
return ResultDomain.failure("用户已存在");
|
||||
@@ -82,18 +82,20 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
if (StringUtils.isBlank(dto.getUserId())) {
|
||||
dto.setUserId(IDUtils.generateID());
|
||||
}
|
||||
dto.setPhone(aesEncryptUtil.encrypt(userVO.getPhone()));
|
||||
dto.setPhoneHash(AesEncryptUtil.maskPhone(userVO.getPhone()));
|
||||
dto.setCreateTime(now);
|
||||
dto.setDeleted(false);
|
||||
|
||||
// 加密密码
|
||||
if (StringUtils.isNotBlank(dto.getPassword())) {
|
||||
dto.setPassword(passwordEncoder.encode(dto.getPassword()));
|
||||
dto.setPassword(passwordEncoder.encode(aesEncryptUtil.decrypt(dto.getPassword())));
|
||||
}
|
||||
|
||||
// 插入用户主表
|
||||
int rows = userMapper.insertUser(dto);
|
||||
if (rows <= 0) {
|
||||
logger.warn("插入用户失败, username={}", dto.getUsername());
|
||||
logger.warn("插入用户失败, userVO:", userVO.toString());
|
||||
return ResultDomain.failure("插入用户失败");
|
||||
}
|
||||
|
||||
@@ -111,7 +113,6 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
userRole.setCreateTime(now);
|
||||
userRoleMapper.insertUserRole(userRole);
|
||||
|
||||
logger.info("注册用户成功, userId={}, username={}", dto.getUserId(), dto.getUsername());
|
||||
return ResultDomain.success("注册用户成功", dto);
|
||||
|
||||
} catch (Exception e) {
|
||||
@@ -126,7 +127,7 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
* @return true-存在,false-不存在
|
||||
*/
|
||||
private boolean checkUserExists(SysUserVO userVO) {
|
||||
TbSysUserDTO filter = new TbSysUserDTO();
|
||||
SysUserVO filter = new SysUserVO();
|
||||
|
||||
// 检查用户名是否存在
|
||||
if (StringUtils.isNotBlank(userVO.getUsername())) {
|
||||
@@ -140,8 +141,9 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
|
||||
// 检查手机号是否存在
|
||||
if (StringUtils.isNotBlank(userVO.getPhone())) {
|
||||
filter = new TbSysUserDTO();
|
||||
filter.setPhone(userVO.getPhone());
|
||||
filter = new SysUserVO();
|
||||
filter.setPhone(aesEncryptUtil.encrypt(userVO.getPhone()));
|
||||
filter.setPhoneHash(AesEncryptUtil.maskPhone(userVO.getPhone()));
|
||||
List<SysUserVO> users = userMapper.getUserByFilter(filter);
|
||||
if (users != null && !users.isEmpty()) {
|
||||
logger.warn("手机号已存在: {}", userVO.getPhone());
|
||||
@@ -151,7 +153,7 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
|
||||
// 检查邮箱是否存在
|
||||
if (StringUtils.isNotBlank(userVO.getEmail())) {
|
||||
filter = new TbSysUserDTO();
|
||||
filter = new SysUserVO();
|
||||
filter.setEmail(userVO.getEmail());
|
||||
List<SysUserVO> users = userMapper.getUserByFilter(filter);
|
||||
if (users != null && !users.isEmpty()) {
|
||||
@@ -168,18 +170,11 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
if (userVO == null) {
|
||||
return ResultDomain.failure(MSG_USER_PARAM_REQUIRED);
|
||||
}
|
||||
TbSysUserDTO dto = SysUserVO.toDTO(userVO);
|
||||
if (StringUtils.isBlank(dto.getUserId())) {
|
||||
dto.setUserId(IDUtils.generateID());
|
||||
}
|
||||
if (dto.getCreateTime() == null) {
|
||||
dto.setCreateTime(new Date());
|
||||
}
|
||||
if (dto.getDeleted() == null) {
|
||||
dto.setDeleted(false);
|
||||
}
|
||||
int rows = userMapper.insertUser(dto);
|
||||
if (rows > 0) {
|
||||
|
||||
ResultDomain<TbSysUserDTO> rows = registerUser(userVO);
|
||||
TbSysUserDTO dto = rows.getData();
|
||||
|
||||
if (rows.getSuccess()) {
|
||||
logger.info("新增用户成功, userId={}", dto.getUserId());
|
||||
return ResultDomain.success("新增用户成功", dto);
|
||||
}
|
||||
@@ -219,11 +214,10 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
|
||||
@Override
|
||||
public ResultDomain<SysUserVO> getUser(SysUserVO filter) {
|
||||
TbSysUserDTO dto = SysUserVO.toFilter(filter);
|
||||
if (dto == null) {
|
||||
if (filter == null) {
|
||||
return ResultDomain.failure(MSG_QUERY_PARAM_REQUIRED);
|
||||
}
|
||||
List<SysUserVO> list = userMapper.getUserByFilter(dto);
|
||||
List<SysUserVO> list = userMapper.getUserByFilter(filter);
|
||||
if (list == null || list.isEmpty()) {
|
||||
return ResultDomain.failure("未找到用户");
|
||||
}
|
||||
@@ -231,18 +225,19 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbSysUserDTO> getLoginUser(TbSysUserDTO filter) {
|
||||
public ResultDomain<SysUserVO> getLoginUser(SysUserVO filter) {
|
||||
// 登录查询语义与 getUser 相同(可根据用户名/手机号/邮箱查询)
|
||||
if(NonUtils.isNotNull(filter.getPhone())){
|
||||
filter.setPhone_hash(aesEncryptUtil.encrypt(filter.getPhone()));
|
||||
filter.setPhone(aesEncryptUtil.encrypt(filter.getPhone()));
|
||||
filter.setPhoneHash(AesEncryptUtil.maskPhone(filter.getPhone()));
|
||||
}
|
||||
return null;
|
||||
SysUserVO userVO = userMapper.getUserByFilter(filter).get(0);
|
||||
return ResultDomain.success("查询成功", userVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<SysUserVO> getUserList(SysUserVO filter) {
|
||||
TbSysUserDTO dto = SysUserVO.toFilter(filter);
|
||||
List<SysUserVO> list = userMapper.getUserByFilter(dto);
|
||||
List<SysUserVO> list = userMapper.getUserByFilter(filter);
|
||||
if (list == null) {
|
||||
list = Collections.emptyList();
|
||||
}
|
||||
@@ -272,9 +267,9 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
if (StringUtils.isBlank(username)) {
|
||||
return ResultDomain.failure("用户名不能为空");
|
||||
}
|
||||
TbSysUserDTO filter = new TbSysUserDTO();
|
||||
filter.setUsername(username);
|
||||
List<SysUserVO> list = userMapper.getUserByFilter(filter);
|
||||
SysUserVO userVO = new SysUserVO();
|
||||
userVO.setUsername(username);
|
||||
List<SysUserVO> list = userMapper.getUserByFilter(userVO);
|
||||
if (list == null || list.isEmpty()) {
|
||||
return ResultDomain.failure("未找到用户");
|
||||
}
|
||||
@@ -370,9 +365,7 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
vo.setUserId(userId);
|
||||
vo.setAvatar(info.getAvatar());
|
||||
vo.setGender(info.getGender());
|
||||
vo.setFamilyName(info.getFamilyName());
|
||||
vo.setGivenName(info.getGivenName());
|
||||
vo.setFullName(info.getFullName());
|
||||
vo.setUsername(info.getUsername());
|
||||
vo.setLevel(info.getLevel());
|
||||
vo.setIdCard(info.getIdCard());
|
||||
vo.setAddress(info.getAddress());
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
</select>
|
||||
|
||||
<!-- 根据条件查询用户列表 -->
|
||||
<select id="getUserByFilter" resultMap="UserVOResultMap" parameterType="org.xyzh.common.dto.sys.TbSysUserDTO">
|
||||
<select id="getUserByFilter" resultMap="UserVOResultMap">
|
||||
SELECT
|
||||
u.user_id, u.username, u.password, u.email, u.phone, u.wechat_id, u.status, u.user_type,
|
||||
u.optsn, u.creator, u.updater, u.dept_path, u.remark, u.create_time, u.update_time, u.delete_time, u.deleted,
|
||||
@@ -170,9 +170,15 @@
|
||||
<if test="filter.phone != null and filter.phone != ''">
|
||||
AND u.phone = #{filter.phone}
|
||||
</if>
|
||||
<if test="filter.phoneHash != null and filter.phoneHash != ''">
|
||||
AND u.phone_hash = #{filter.phoneHash}
|
||||
</if>
|
||||
<if test="filter.status != null and filter.status != ''">
|
||||
AND u.status = #{filter.status}
|
||||
</if>
|
||||
<if test="filter.username !=null and filter.username !=''">
|
||||
AND ui.username = #{filter.username}
|
||||
</if>
|
||||
<!-- username / userType / deptPath 在表中不存在,按 SQL 为准移除相关条件 -->
|
||||
AND (u.deleted IS NULL OR u.deleted = false)
|
||||
</where>
|
||||
|
||||
Reference in New Issue
Block a user