数据权限BUG修改

This commit is contained in:
秦鸿展
2026-01-20 08:45:30 +08:00
parent aab59723f9
commit f283c66278
2 changed files with 24 additions and 16 deletions
@@ -77,25 +77,32 @@ public class CommonApplicationService {
List<Long> longs = iOrganizationSvc.selectOrganizationIdsByOrganizationId(organizationId);
dataPermission.setOrganizationIdList(longs);
}else {
//获取当前用户数据权限
UserDataPermissionQueryDTO userDataPermissionQueryDTO = new UserDataPermissionQueryDTO();
userDataPermissionQueryDTO.setMenuId(permissionMenuId);
userDataPermissionQueryDTO.setOrganizationId(organizationId);
userDataPermissionQueryDTO.setUserId(userId);
AjaxResult info = userServiceFeign.findUserDataPermission(userDataPermissionQueryDTO);
if("200".equals(String.valueOf(info.get("code")))){
UserDataPermissionPO userDataPermissionPO = JSONObject.parseObject(JSONObject.toJSONString(info.get("data")), UserDataPermissionPO.class);
if(userDataPermissionPO.getUserDataOrganizationStatus() != null){
//1表示可以查询当前组织及下级组织的数据,反之只能看到自己创建的数据
if(userDataPermissionPO.getUserDataOrganizationStatus() == 1){
//获取当前组织全部下级组织id
List<Long> longs = iOrganizationSvc.selectOrganizationIdsByOrganizationId(organizationId);
dataPermission.setOrganizationIdList(longs);
// 数据权限:organizationId等于2827时,为南光组织,查询所有组织的数据
if (organizationId != null && organizationId.equals(2827L)) {
// 南光组织(organizationId=2827):可以查询所有组织的数据
List<Long> longs = iOrganizationSvc.selectAllOrganizationId();
dataPermission.setOrganizationIdList(longs);
} else {
//获取当前用户数据权限
UserDataPermissionQueryDTO userDataPermissionQueryDTO = new UserDataPermissionQueryDTO();
userDataPermissionQueryDTO.setMenuId(permissionMenuId);
userDataPermissionQueryDTO.setOrganizationId(organizationId);
userDataPermissionQueryDTO.setUserId(userId);
AjaxResult info = userServiceFeign.findUserDataPermission(userDataPermissionQueryDTO);
if("200".equals(String.valueOf(info.get("code")))){
UserDataPermissionPO userDataPermissionPO = JSONObject.parseObject(JSONObject.toJSONString(info.get("data")), UserDataPermissionPO.class);
if(userDataPermissionPO.getUserDataOrganizationStatus() != null){
//1表示可以查询当前组织及下级组织的数据,反之只能看到自己创建的数据
if(userDataPermissionPO.getUserDataOrganizationStatus() == 1){
//获取当前组织全部下级组织id
List<Long> longs = iOrganizationSvc.selectOrganizationIdsByOrganizationId(organizationId);
dataPermission.setOrganizationIdList(longs);
}else {
dataPermission.setCreateBy(userId);
}
}else {
dataPermission.setCreateBy(userId);
}
}else {
dataPermission.setCreateBy(userId);
}
}
}
@@ -52,6 +52,7 @@ public class OrganizationApi extends BaseController {
//转换实体
BeanUtils.copyProperties(organizationDto, organizationPo);
//判断当前登录人数据权限
//获取当前登录人的组织ID
DataPermission dataPermission = commonApplicationService.dataPermission(organizationPo.getPermissionMenuId());
startPage();
List<OrganizationPo> list = organizationASvc.selectOrganizationList(organizationPo,dataPermission);