代码优化

This commit is contained in:
s2042968 2025-04-22 16:31:05 +08:00
parent 344666b50b
commit be45a0700b
11 changed files with 32 additions and 19 deletions

View File

@ -34,7 +34,7 @@ public interface RoleMapper extends BaseMapper<Role> {
"LEFT JOIN" +
" ed_user_role ur ON r.id = ur.role_id " +
"LEFT JOIN" +
" ed_users u ON ur.user_id = u.user_id " +
" ed_users u ON ur.user_id = u.id " +
"WHERE " +
" 1=1 " +
"<if test=\"ew != null and ew.sqlSegment != null and ew.sqlSegment != ''\">" +

View File

@ -16,7 +16,6 @@ import java.util.Date;
@TableName("ed_role") // 指定表名
public class Role extends BaseModel {
@TableId(value = "id")
private String id;
/**

View File

@ -19,7 +19,6 @@ public class RolePermission extends BaseModel {
/**
* 主键id
*/
@TableId(value = "id")
private String id;
/**

View File

@ -16,7 +16,6 @@ public class UserRole extends BaseModel{
/**
* 主键ID
*/
@TableField(value = "id")
private String id;
/**

View File

@ -17,8 +17,8 @@ public class SingleUserResponse {
/**
* 用户编码
*/
@JsonProperty("id")
private String userId;
@JsonProperty("userId")
private String id;
/**
* 用户姓名

View File

@ -1,5 +1,6 @@
package com.electromagnetic.industry.software.manage.pojo.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;

View File

@ -1,6 +1,7 @@
package com.electromagnetic.industry.software.manage.pojo.req;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
@ -14,7 +15,8 @@ public class UserModiRequest extends BaseRequest implements Serializable {
/**
* 用户Id
*/
private String userId;
@JsonProperty("userId")
private String id;
/**
* 用户姓名

View File

@ -110,7 +110,9 @@ public class PermissionServiceImpl implements PermissionService {
*/
private List<String> getRoles(String userId) {
LambdaQueryWrapper<UserRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(UserRole::getRoleId).eq(UserRole::getUserId, userId);
queryWrapper.select(UserRole::getRoleId)
.eq(UserRole::getUserId, userId)
.eq(UserRole::getEffectFlag, EffectFlagEnum.EFFECT.code);
return userRoleMapper.selectObjs(queryWrapper).stream().map(Object::toString).toList();
}
@ -239,7 +241,8 @@ public class PermissionServiceImpl implements PermissionService {
@Override
public boolean isPermitted(String permissionCode, String userId, String fileId) {
LambdaQueryWrapper<UserRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UserRole::getUserId, userId);
queryWrapper.eq(UserRole::getUserId, userId)
.eq(UserRole::getEffectFlag, EffectFlagEnum.EFFECT.code);
List<String> roleIds = Optional.ofNullable(userRoleMapper.selectList(queryWrapper))
.orElse(Collections.emptyList())
.stream().map(UserRole::getRoleId).toList();

View File

@ -75,7 +75,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
// 创建权限
List<RolePermissionDTO> data = roleDTO.getData();
List<RolePermission> list = flattenTree(data, roleDTO.getRoleId());
List<RolePermission> list = flattenTree(data, roleId);
rolePermissionService.saveBatch(list);
UserThreadLocal.setSuccessInfo("", roleId, StrFormatter.format("创建了角色 {} ", role.getRoleName()));
@ -127,10 +127,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
disableRolePermission(roleId);
// 失效用户角色关联表
LambdaQueryWrapper<UserRole> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(UserRole::getRoleId, roleId);
userRoleService.remove(queryWrapper1);
disableUserRole(roleId);
// 失效角色
LambdaUpdateWrapper<Role> updateWrapper = new LambdaUpdateWrapper<>();
@ -411,7 +408,10 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
* 失效角色用户关系
*/
private void disableUserRole(String roleId) {
LambdaUpdateWrapper<UserRole> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(UserRole::getRoleId, roleId)
.set(UserRole::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code);
userRoleService.update(updateWrapper);
}
}

View File

@ -73,7 +73,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
UserLoginResponse userLoginResponse = new UserLoginResponse();
userLoginResponse.setToken(tokenStr);
userLoginResponse.setUserId(user.getId());
UserThreadLocal.setSuccessInfo("", user.getId(), StrFormatter.format("用户{}登陆", user.getUserName()));
UserThreadLocal.setSuccessInfo("", user.getId(), StrFormatter.format("用户 {} 登陆", user.getUserName()));
return ElectromagneticResultUtil.success(userLoginResponse);
}
return ElectromagneticResultUtil.fail("500", "用户不存在/密码错误");
@ -145,14 +145,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
@Override
public ElectromagneticResult<?> modifyUser(UserModiRequest userModiRequest) {
Assert.notNull(userModiRequest, "用户修改请求参数不能为空");
String userId = userModiRequest.getUserId();
String userId = userModiRequest.getId();
Assert.notBlank(userId, "用户ID不能为空");
// 校验用户存在性
User existingUser = this.getById(userId);
Assert.notNull(existingUser, StrFormatter.format("用户ID {} 不存在", userId));
User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest);
User user = new User();
BeanUtils.copyProperties(userModiRequest, user);
boolean success = this.updateById(user);
UserThreadLocal.setSuccessInfo("", userModiRequest.getUserId(), StrFormatter.format("更新了用户 {} ", user.getUserName()));
return ElectromagneticResultUtil.success(success);
@ -186,6 +187,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
boolean exists = lambdaQuery()
.eq(User::getWorkNumber, workNumber)
.eq(User::getEffectFlag, EffectFlagEnum.EFFECT.code)
.exists(); // 判断工号是否存在
// 新增 直接返回唯一性结果
@ -246,6 +248,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
}
@Override
@Transactional
public ElectromagneticResult<?> deleteUser(UserDeleteRequest request) {
String userId = request.getUserId();
@ -260,6 +263,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
.eq(User::getId, userId)
.set(User::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code));
// 2. 级联失效用户角色关系
if (success) {
userRoleService.update(new LambdaUpdateWrapper<UserRole>()
.eq(UserRole::getUserId, userId)
.set(UserRole::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code));
}
UserThreadLocal.setSuccessInfo("", "", StrFormatter.format("删除了用户 {} ", user.getUserName()));
return ElectromagneticResultUtil.success(success);
}

View File

@ -168,7 +168,7 @@
<select id="selectUserRoles" parameterType="String" resultType="String">
select r.role_name
from ed_role r
where r.role_id in (select ur.role_id
where r.id in (select ur.role_id
from ed_users u
left join ed_user_role ur on u.id = ur.user_id
where u.id = #{userId})