fix: 数据权限
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package org.nl.system.service.permission.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
@@ -39,6 +40,12 @@ public class SysDataScope implements Serializable {
|
||||
* 用户权限列表
|
||||
*/
|
||||
private String user_id;
|
||||
@TableField(exist = false)
|
||||
private String deptName;
|
||||
@TableField(exist = false)
|
||||
private String person_name;
|
||||
@TableField(exist = false)
|
||||
private String permissionName;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -106,16 +106,27 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
|
||||
public List<UserDataPermissionDto> getDataShow(String userId) {
|
||||
List<UserDataPermissionDto> userDataPermissionDtoList = userService.getUserDataPermissionByUserId(userId);
|
||||
userDataPermissionDtoList.forEach(userDataPermissionDto -> {
|
||||
SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(new LambdaQueryWrapper<SysDataPermission>().eq(SysDataPermission::getPermission_id, userDataPermissionDto.getPermission_id()));
|
||||
SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDataPermission>()
|
||||
.eq(SysDataPermission::getPermission_id, userDataPermissionDto.getPermission_id()));
|
||||
if (sysDataPermission.getCode().equals(DataScopeEnum.USER.getCode())) { // 用户权限
|
||||
List<String> userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermission_scope_type());
|
||||
if (ObjectUtil.isNotEmpty(userIds)) userDataPermissionDto.setUsers(userIds);
|
||||
List<String> userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(
|
||||
userId, userDataPermissionDto.getPermission_scope_type());
|
||||
if (ObjectUtil.isNotEmpty(userIds)) {
|
||||
userDataPermissionDto.setUsers(userIds);
|
||||
}
|
||||
} else if (sysDataPermission.getCode().equals(DataScopeEnum.DEPT.getCode())) { // 部门权限
|
||||
List<String> deptIds = dataPermissionMapper.findDataScopeDeptIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermission_scope_type());
|
||||
if (ObjectUtil.isNotEmpty(deptIds)) userDataPermissionDto.setDepts(deptIds);
|
||||
List<String> deptIds = dataPermissionMapper.findDataScopeDeptIdBySelfUserIdAndScopeType(
|
||||
userId, userDataPermissionDto.getPermission_scope_type());
|
||||
if (ObjectUtil.isNotEmpty(deptIds)) {
|
||||
userDataPermissionDto.setDepts(deptIds);
|
||||
}
|
||||
} else if (sysDataPermission.getCode().equals(DataScopeEnum.SELF.getCode())) { // 自身
|
||||
List<String> userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermission_scope_type());
|
||||
if (ObjectUtil.isNotEmpty(userIds)) userDataPermissionDto.setUsers(userIds);
|
||||
List<String> userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(
|
||||
userId, userDataPermissionDto.getPermission_scope_type());
|
||||
if (ObjectUtil.isNotEmpty(userIds)) {
|
||||
userDataPermissionDto.setUsers(userIds);
|
||||
}
|
||||
}
|
||||
// 其他不做处理
|
||||
});
|
||||
@@ -127,7 +138,9 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
|
||||
public void savePermission(JSONObject datas) {
|
||||
String user_id = datas.getString("user_id");
|
||||
JSONArray data = datas.getJSONArray("datas");
|
||||
if (ObjectUtil.isEmpty(user_id)) throw new BadRequestException(LangProcess.msg("error_isNull",user_id));
|
||||
if (ObjectUtil.isEmpty(user_id)) {
|
||||
throw new BadRequestException(LangProcess.msg("error_isNull",user_id));
|
||||
}
|
||||
// 删除用户绑定的数据
|
||||
userService.deleteDataPermissionById(user_id);
|
||||
dataPermissionMapper.deleteScopeBySelfUserId(user_id);
|
||||
@@ -145,8 +158,7 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
|
||||
// 如果是用户直接将用户的id绑定进去
|
||||
if (ObjectUtil.isNotEmpty(users)) {
|
||||
for (int j = 0; j < users.size(); j++) {
|
||||
JSONObject user = users.getJSONObject(j);
|
||||
String userId = user.getString("user_id");
|
||||
String userId = users.getString(j);
|
||||
SysDataScope dataScope = new SysDataScope();
|
||||
dataScope.setUser_id(userId);
|
||||
dataScope.setSelf_user_id(user_id);
|
||||
|
||||
Reference in New Issue
Block a user