Compare commits
2 Commits
0b74ec12fd
...
997bef0b3b
| Author | SHA1 | Date |
|---|---|---|
|
|
997bef0b3b | |
|
|
be45a0700b |
|
|
@ -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 != ''\">" +
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import java.util.Date;
|
|||
@TableName("ed_role") // 指定表名
|
||||
public class Role extends BaseModel {
|
||||
|
||||
@TableId(value = "id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ public class RolePermission extends BaseModel {
|
|||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ public class UserRole extends BaseModel {
|
|||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableField(value = "id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ public class SingleUserResponse {
|
|||
/**
|
||||
* 用户编码
|
||||
*/
|
||||
@JsonProperty("id")
|
||||
private String userId;
|
||||
@JsonProperty("userId")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 用户姓名
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* 用户姓名
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,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", "用户不存在/密码错误");
|
||||
|
|
@ -154,14 +154,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);
|
||||
|
|
@ -195,6 +196,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||
|
||||
boolean exists = lambdaQuery()
|
||||
.eq(User::getWorkNumber, workNumber)
|
||||
.eq(User::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||
.exists(); // 判断工号是否存在
|
||||
|
||||
// 新增 直接返回唯一性结果
|
||||
|
|
@ -255,6 +257,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ElectromagneticResult<?> deleteUser(UserDeleteRequest request) {
|
||||
String userId = request.getUserId();
|
||||
|
||||
|
|
@ -269,6 +272,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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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})
|
||||
|
|
|
|||
Loading…
Reference in New Issue