Browse Source

Merge branch 'permission' into develop_zqc

# Conflicts:
#	menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/permission/MdePermissionServiceImpl.java
DESKTOP-VAEGFGM\zqc 3 months ago
parent
commit
827b19cce6
14 changed files with 81 additions and 84 deletions
  1. 11 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/config/permission/CustomDataPermissionRule.java
  2. 2 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/analysis/AppRecruitAnalysisController.java
  3. 3 9
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/interview/InterviewInviteMapper.java
  4. 16 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java
  5. 1 6
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java
  6. 4 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/permission/MdeRoleMapper.java
  7. 1 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java
  8. 1 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/unfit/UnfitCandidateMapper.java
  9. 18 14
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/framework/datapermission/config/DataPermissionConfiguration.java
  10. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/GraphConsumer.java
  11. 2 11
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteServiceImpl.java
  12. 3 6
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java
  13. 15 16
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/permission/MdePermissionServiceImpl.java
  14. 3 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/permission/MdeRoleServiceImpl.java

+ 11 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/config/permission/CustomDataPermissionRule.java

@@ -133,8 +133,15 @@ public class CustomDataPermissionRule implements DataPermissionRule {
         }
         // // 目前,如果有指定数据 + 可查看自己,采用 OR 条件。即,WHERE (xx_id IN ? OR user_id = ?)
         // return new Parenthesis(new OrExpression(dataExpression, userExpression));
-        // 改为 AND 条件。即,WHERE (xx_id IN ? and user_id = ?)
-        return new ParenthesedExpressionList(new OrExpression(dataExpression, userExpression));
+        if(dataPermission.getSelf()) {
+            // 当前本人权限
+            // 改为 AND 条件。即,WHERE (xx_id IN ? and user_id = ?)
+            return new ParenthesedExpressionList<>(new AndExpression(dataExpression, userExpression));
+        }else {
+            // 其他情况
+            // 改为 or 条件。即,WHERE (xx_id IN ? or user_id = ?) 兼容其他情况
+            return new ParenthesedExpressionList<>(new OrExpression(dataExpression, userExpression));
+        }
     }
 
     private Expression buildDataExpression(String tableName, Alias tableAlias, Set<Long> dataIds) {
@@ -149,7 +156,8 @@ public class CustomDataPermissionRule implements DataPermissionRule {
         }
         // 拼接条件
         return new InExpression(MyBatisUtils.buildColumn(tableName, tableAlias, columnName),
-                new ParenthesedExpressionList<>(CollectionUtils.convertList(dataIds, LongValue::new)));
+                // Parenthesis 的目的,是提供 (1,2,3) 的 () 左右括号
+                new ParenthesedExpressionList(new ExpressionList<LongValue>(CollectionUtils.convertList(dataIds, LongValue::new))));
     }
 
     private Expression buildUserExpression(String tableName, Alias tableAlias, Boolean self, Long userId) {

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/analysis/AppRecruitAnalysisController.java

@@ -209,8 +209,8 @@ public class AppRecruitAnalysisController {
 
 
     private void setCommonCondition(RecruitAnalysisPageReqVO reqVO) {
-        reqVO.setEnterpriseId(LoginUserContext.getEnterpriseId());
-        reqVO.setUserId(Collections.singletonList(LoginUserContext.getUserId()));
+//        reqVO.setEnterpriseId(LoginUserContext.getEnterpriseId());
+//        reqVO.setUserId(Collections.singletonList(LoginUserContext.getUserId()));
     }
 
 }

+ 3 - 9
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/interview/InterviewInviteMapper.java

@@ -103,8 +103,7 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
     /**
      * 招聘端 面试邀约列表分页
      **/
-    default PageResult<AppRecruitInterviewInviteRespVO> page(AppRecruitInterviewInviteReqPageVO reqVO,
-                                                             Long enterpriseId, Long userId) {
+    default PageResult<AppRecruitInterviewInviteRespVO> page(AppRecruitInterviewInviteReqPageVO reqVO) {
         MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
         query.selectAll(InterviewInviteDO.class);
         query.selectAssociation(PersonInfoDO.class, AppRecruitInterviewInviteRespVO::getPerson);
@@ -124,8 +123,6 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
 
         // 发布的职位
         query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, InterviewInviteDO::getJobId);
-        query.eq(InterviewInviteDO::getEnterpriseId, enterpriseId);
-        query.eq(InterviewInviteDO::getInviteUserId, userId);
         query
                 .eqIfPresent(InterviewInviteDO::getJobFairId, reqVO.getJobFairId())
                 .eqIfPresent(InterviewInviteDO::getJobId, reqVO.getJobId())
@@ -140,8 +137,7 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
 
         query.leftJoin(EnterpriseTalentPoolDO.class, on ->
                 on.eq(EnterpriseTalentPoolDO::getUserId, InterviewInviteDO::getUserId)
-                        .eq(EnterpriseTalentPoolDO::getEnterpriseId, enterpriseId)
-        );
+                );
 
         query.orderByDesc(InterviewInviteDO::getUpdateTime);
 
@@ -164,12 +160,10 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
     /**
      * 按时间分组统计面试邀请的数量
      **/
-    default List<CommonRespVO> getCountByTime(Long enterpriseId, Long userId) {
+    default List<CommonRespVO> getCountByTime() {
         MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
         query.selectFunc("DATE(%s)", arg -> arg.accept(InterviewInviteDO::getTime), "`key`");
         query.selectCount(InterviewInviteDO::getId, CommonRespVO::getValue);
-        query.eq(InterviewInviteDO::getEnterpriseId, enterpriseId);
-        query.eq(InterviewInviteDO::getInviteUserId, userId);
         query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, InterviewInviteDO::getJobId);
         query.groupBy(InterviewInviteDO::getTime);
         query.orderByDesc(InterviewInviteDO::getTime);

+ 16 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java

@@ -286,7 +286,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
     /**
      * 根据查询条件、企业id、用户id 分页查询职位信息
      **/
-    default PageResult<JobAdvertisedDO> selectPage(AppRecruitJobPageReqVO reqVO, Long enterpriseId, Long userId) {
+    default PageResult<JobAdvertisedDO> selectPage(AppRecruitJobPageReqVO reqVO) {
         LambdaQueryWrapper<JobAdvertisedDO> query = new LambdaQueryWrapperX<JobAdvertisedDO>()
                 .eqIfPresent(JobAdvertisedDO::getAreaId, reqVO.getAreaId())
                 .likeIfPresent(JobAdvertisedDO::getName, reqVO.getName())
@@ -296,8 +296,6 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
                 .eqIfPresent(JobAdvertisedDO::getEduType, reqVO.getEduType())
                 .eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getStatus())
                 .eqIfPresent(JobAdvertisedDO::getHire, reqVO.getHire())
-                .eqIfPresent(JobAdvertisedDO::getEnterpriseId, enterpriseId)
-                .eqIfPresent(JobAdvertisedDO::getUserId, userId)
                 .betweenIfPresent(JobAdvertisedDO::getCreateTime, reqVO.getCreateTime());
 
         query.notIn(CollUtil.isNotEmpty(reqVO.getFilterNotJobIds()),JobAdvertisedDO::getId, reqVO.getFilterNotJobIds());
@@ -331,6 +329,21 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
         return selectJoinList(AppRecruitJobRespVO.class, query);
     }
 
+    /**
+     * 招聘端 - 根据企业id、用户id查询职位列表,返回简易的职位信息
+     *
+     * @param ids          id集合
+     **/
+    default List<AppRecruitJobSimpleRespVO> list(List<Long> ids, String status) {
+        MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
+        query.selectAll(JobAdvertisedDO.class);
+        notExpireTime(query);
+        query.eqIfPresent(JobAdvertisedDO::getStatus, status);
+        query.inIfPresent(JobAdvertisedDO::getId, ids);
+        query.orderByDesc(JobAdvertisedDO::getUpdateTime);
+        return selectJoinList(AppRecruitJobSimpleRespVO.class, query);
+    }
+
     /**
      * 职位浏览量明细
      *

+ 1 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java

@@ -51,8 +51,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
     }
 
 
-    default PageResult<AppRecruitJobCvRelRespVO> selectPage(AppRecruitJobCvRelPageReqVO reqVO,
-                                                            Long enterpriseId, Long userId) {
+    default PageResult<AppRecruitJobCvRelRespVO> selectPage(AppRecruitJobCvRelPageReqVO reqVO) {
         MPJLambdaWrapperX<JobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
         wrapper.selectAsClass(JobCvRelDO.class, AppRecruitJobCvRelRespVO.class);
         wrapper.selectAssociation(JobAdvertisedDO.class, AppRecruitJobCvRelRespVO::getJob);
@@ -62,10 +61,6 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         // 投递的职位 inner 招聘职位
         wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, JobCvRelDO::getJobId);
         // 招聘职位的条件
-
-        wrapper.eq(JobCvRelDO::getEnterpriseId, enterpriseId);
-        wrapper.eq(JobCvRelDO::getPublishUserId, userId);
-
         wrapper.eqIfExists(JobCvRelDO::getJobId, reqVO.getJobId());
         wrapper.eqIfExists(JobCvRelDO::getStatus, reqVO.getStatus());
         wrapper.eqIfExists(JobCvRelDO::getType, reqVO.getType());

+ 4 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/permission/MdeRoleMapper.java

@@ -25,12 +25,12 @@ public interface MdeRoleMapper extends BaseMapperX<MdeRoleDO> {
                 .orderByAsc(MdeRoleDO::getSort));
     }
 
-    default MdeRoleDO selectByName(String name) {
-        return selectOne(MdeRoleDO::getName, name);
+    default MdeRoleDO selectByName(Long enterpriseId,String name) {
+        return selectOne(MdeRoleDO::getEnterpriseId, enterpriseId,MdeRoleDO::getName, name);
     }
 
-    default MdeRoleDO selectByCode(String code) {
-        return selectOne(MdeRoleDO::getCode, code);
+    default MdeRoleDO selectByCode(Long enterpriseId,String code) {
+        return selectOne(MdeRoleDO::getEnterpriseId, enterpriseId,MdeRoleDO::getCode, code);
     }
 
     default List<MdeRoleDO> selectListByStatus(Long enterpriseId,@Nullable Collection<String> statuses) {

+ 1 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java

@@ -64,8 +64,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
 
         // 连接企业人才库表
         query.innerJoin(EnterpriseTalentPoolDO.class, on ->
-                on.eq(EnterpriseTalentPoolDO::getEnterpriseId, enterpriseId)
-                        .eq(EnterpriseTalentPoolDO::getUserId, PersonInfoDO::getUserId)
+                       on.eq(EnterpriseTalentPoolDO::getUserId, PersonInfoDO::getUserId)
         );
 
         // 连接用户表设置vip条件

+ 1 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/unfit/UnfitCandidateMapper.java

@@ -48,8 +48,7 @@ public interface UnfitCandidateMapper extends BaseMapperX<UnfitCandidateDO> {
     }
 
     /** 招聘端-不合适的候选人列表 **/
-    default PageResult<AppRecruitUnfitCandidateRespVO> unfitPage(AppRecruitUnfitCandidatePageReqVO reqVO,
-                                                                 Long enterpriseId, Long userId) {
+    default PageResult<AppRecruitUnfitCandidateRespVO> unfitPage(AppRecruitUnfitCandidatePageReqVO reqVO) {
         // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
         MPJLambdaWrapperX<UnfitCandidateDO> wrapper = new MPJLambdaWrapperX<>();
         wrapper.selectAsClass(UnfitCandidateDO.class, AppRecruitUnfitCandidateRespVO.class);
@@ -59,8 +58,6 @@ public interface UnfitCandidateMapper extends BaseMapperX<UnfitCandidateDO> {
         // 投递的职位 inner 招聘职位
         wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, UnfitCandidateDO::getJobId);
         wrapper.eqIfExists(JobAdvertisedDO::getHire, reqVO.getHire());
-        wrapper.eq(JobAdvertisedDO::getEnterpriseId, enterpriseId);
-        wrapper.eq(JobAdvertisedDO::getUserId, userId);
 
         // 投递的职位 inner 人才信息
         wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, UnfitCandidateDO::getUserId);

+ 18 - 14
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/framework/datapermission/config/DataPermissionConfiguration.java

@@ -1,11 +1,11 @@
 package com.citu.module.menduner.system.framework.datapermission.config;
 
 import com.citu.module.menduner.system.config.permission.CustomDataPermissionRuleCustomizer;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseTalentPoolDO;
 import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
 import com.citu.module.menduner.system.dal.dataobject.order.TradeOrderDO;
-import com.citu.module.menduner.system.dal.dataobject.permission.MdeRoleDO;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
@@ -21,21 +21,25 @@ public class DataPermissionConfiguration {
     public CustomDataPermissionRuleCustomizer customDataPermissionRuleCustomizer() {
         return rule -> {
 
-//            // 招聘职位表 where enterprise_id = xx and user_id = xx
-//            rule.addDataColumn(JobAdvertisedDO.class);
-//            rule.addUserColumn(JobAdvertisedDO.class);
-//
-//            // 简历投递表 where  enterprise_id = xx and publish_user_id = xx
-//            rule.addDataColumn(JobCvRelDO.class);
-//            rule.addUserColumn(JobCvRelDO.class, "publish_user_id");
-//
-//            // 面试邀约表 where enterprise_id = xx and invite_user_id = xx
-//            rule.addDataColumn(InterviewInviteDO.class);
-//            rule.addUserColumn(InterviewInviteDO.class, "invite_user_id");
-//
-//            // 交易订单表 where enterprise_id = xx and invite_user_id = xx
+            // 招聘职位表 where enterprise_id = xx and user_id = xx
+            rule.addDataColumn(JobAdvertisedDO.class);
+            rule.addUserColumn(JobAdvertisedDO.class);
+
+            // 简历投递表 where  enterprise_id = xx and publish_user_id = xx
+            rule.addDataColumn(JobCvRelDO.class);
+            rule.addUserColumn(JobCvRelDO.class, "publish_user_id");
+
+            // 面试邀约表 where enterprise_id = xx and invite_user_id = xx
+            rule.addDataColumn(InterviewInviteDO.class);
+            rule.addUserColumn(InterviewInviteDO.class, "invite_user_id");
+
+            // 交易订单表 where enterprise_id = xx and invite_user_id = xx
 //            rule.addDataColumn(TradeOrderDO.class);
 //            rule.addUserColumn(TradeOrderDO.class);
+
+            // 企业人才库表 where enterprise_id = xx and user_id = xx
+            rule.addDataColumn(EnterpriseTalentPoolDO.class);
+            rule.addUserColumn(EnterpriseTalentPoolDO.class);
         };
     }
 

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/GraphConsumer.java

@@ -28,7 +28,7 @@ public class GraphConsumer implements RocketMQListener<GraphSendDTO>, RocketMQPu
     @Override
     public void onMessage(GraphSendDTO message) {
         log.info("GraphConsumer-接收到队列消息[{}]", message);
-        graphApi.send(message).getCheckedData();
+        graphApi.send(message);
         log.info("GraphConsumer-消息处理完备[{}]", message);
     }
 

+ 2 - 11
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteServiceImpl.java

@@ -222,11 +222,7 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
 
     @Override
     public List<CommonRespVO> getCountByTime() {
-        LoginUser loginUser = LoginUserContext.get();
-        return mapper.getCountByTime(
-                LoginUserContext.getEnterpriseId(loginUser),
-                LoginUserContext.getUserId(loginUser)
-        );
+        return mapper.getCountByTime();
     }
 
     @Override
@@ -261,12 +257,7 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
 
     @Override
     public PageResult<AppRecruitInterviewInviteRespVO> page(AppRecruitInterviewInviteReqPageVO reqVO) {
-        LoginUser loginUser = LoginUserContext.get();
-        PageResult<AppRecruitInterviewInviteRespVO> result = mapper.page(
-                reqVO,
-                LoginUserContext.getEnterpriseId(loginUser),
-                LoginUserContext.getUserId(loginUser)
-        );
+        PageResult<AppRecruitInterviewInviteRespVO> result = mapper.page(reqVO);
         if (CollUtil.isEmpty(result.getList())) {
             return PageResult.empty();
         }

+ 3 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java

@@ -309,8 +309,7 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
 
     @Override
     public PageResult<AppRecruitJobRespVO> page(AppRecruitJobPageReqVO reqVO) {
-        PageResult<JobAdvertisedDO> pageResult = jobAdvertisedMapper.selectPage(reqVO,
-                LoginUserContext.getEnterpriseId(), LoginUserContext.getUserId());
+        PageResult<JobAdvertisedDO> pageResult = jobAdvertisedMapper.selectPage(reqVO);
         if (CollUtil.isEmpty(pageResult.getList())) {
             return PageResult.empty();
         }
@@ -357,8 +356,7 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
 
     @Override
     public PageResult<AppRecruitJobCvRelRespVO> page(AppRecruitJobCvRelPageReqVO reqVO) {
-        PageResult<AppRecruitJobCvRelRespVO> pageResult = jobCvRelMapper.selectPage(reqVO,
-                LoginUserContext.getEnterpriseId(), LoginUserContext.getUserId());
+        PageResult<AppRecruitJobCvRelRespVO> pageResult = jobCvRelMapper.selectPage(reqVO);
         if (CollUtil.isEmpty(pageResult.getList())) {
             return PageResult.empty();
         }
@@ -378,8 +376,7 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
 
     @Override
     public PageResult<AppRecruitUnfitCandidateRespVO> unfitPage(AppRecruitUnfitCandidatePageReqVO reqVO) {
-        PageResult<AppRecruitUnfitCandidateRespVO> pageResult = unfitCandidateMapper.unfitPage(reqVO,
-                LoginUserContext.getEnterpriseId(), LoginUserContext.getUserId());
+        PageResult<AppRecruitUnfitCandidateRespVO> pageResult = unfitCandidateMapper.unfitPage(reqVO);
         if (CollUtil.isEmpty(pageResult.getList())) {
             return PageResult.empty();
         }

+ 15 - 16
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/permission/MdePermissionServiceImpl.java

@@ -323,18 +323,19 @@ public class MdePermissionServiceImpl implements MdePermissionService {
         List<MdeRoleDO> roles = getEnableUserRoleListByUserIdFromCache(enterpriseId, userId);
         // 如果角色为空,则只能查看自己
         if (CollUtil.isEmpty(roles)) {
-//            result.setSelf(f);
+            // 添加本身企业编号
+            CollUtil.addAll(result.getDataIds(), enterpriseUserBind
+                    .getEnterpriseId());
             if(enterpriseUserBindService.checkIsAdmin(enterpriseUserBind)) {
                 // 管理员 数据权限是 当前企业以及下级
                 CollUtil.addAll(result.getDataIds(), enterpriseService
                         .getChildEnterpriseIdListFromCache(enterpriseUserBind.getEnterpriseId()));
-                // 添加本身企业编号
-                CollUtil.addAll(result.getDataIds(), enterpriseUserBind
-                        .getEnterpriseId());
-            }else{
-                // 默认权限情况  共享企业数据
+            }else {
+                // 普通用户默认可以查看企业共享权限
+
                 CollectionUtils.addIfNotNull(result.getDataIds(), enterpriseUserBind.getEnterpriseId());
 
+//                result.setSelf(true);   //只能看自己的权限
             }
             return result;
         }
@@ -350,20 +351,22 @@ public class MdePermissionServiceImpl implements MdePermissionService {
                 result.setAll(true);
                 continue;
             }
-            // 情况二,DEPT_CUSTOM 自定义
+            // 情况二,ENTERPRISE_CUSTOM 自定义
             if (Objects.equals(role.getDataScope(), MdeDataScopeEnum.ENTERPRISE_CUSTOM.getScope())) {
                 CollUtil.addAll(result.getDataIds(), role.getDataScopeEnterpriseIds());
                 // 自定义可见企业时,保证可以看到自己所在的企业。否则,一些场景下可能会有问题。
                 // 例如说,登录时,基于 t_user 的 username 查询会可能被 dept_id 过滤掉
-                CollUtil.addAll(result.getDataIds(), enterpriseUserBind.getEnterpriseId());
+                // 例如说,可以看到指定企业,但是不可见自己所在的企业,然后呢登录查询数据,肯定会查自己企业的数据的,这个时候被过滤掉就会有问题
+                // TODO 注释掉,因为目前逻辑没有对企业表数据进行控制,所以自定义不需要考虑加入自己企业的数据
+                // CollUtil.addAll(result.getDataIds(), enterpriseUserBind.getEnterpriseId());
                 continue;
             }
-            // 情况三,DEPT_ONLY 自己所在的数据权限
+            // 情况三,ENTERPRISE_ONLY 自己所在的数据权限
             if (Objects.equals(role.getDataScope(), MdeDataScopeEnum.ENTERPRISE_ONLY.getScope())) {
                 CollectionUtils.addIfNotNull(result.getDataIds(), enterpriseUserBind.getEnterpriseId());
                 continue;
             }
-            // 情况四,DEPT_DEPT_AND_CHILD 自己所在及以下的数据权限
+            // 情况四,ENTERPRISE_AND_CHILD 自己所在及以下的数据权限
             if (Objects.equals(role.getDataScope(), MdeDataScopeEnum.ENTERPRISE_AND_CHILD.getScope())) {
                 CollUtil.addAll(result.getDataIds(), enterpriseService
                         .getChildEnterpriseIdListFromCache(enterpriseUserBind.getEnterpriseId()));
@@ -374,12 +377,8 @@ public class MdePermissionServiceImpl implements MdePermissionService {
             }
             // 情况五,SELF
             if (Objects.equals(role.getDataScope(), MdeDataScopeEnum.SELF.getScope())) {
-                //                if (!EnterpriseUserTypeEnum.ADMIN.getType()
-                //                        .equals(enterpriseUserBind.getUserType())) {
-                //                    // 不是管理员,加入自己的权限
-                //                    result.setSelf(true);
-                //                }
-                // 20240718 更改 所有用户都只能看到自己的数据
+                // 所有用户都只能看到当前自己企业的数据
+                CollUtil.addAll(result.getDataIds(), enterpriseUserBind.getEnterpriseId());
                 result.setSelf(true);
                 continue;
             }

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/permission/MdeRoleServiceImpl.java

@@ -66,7 +66,7 @@ public class MdeRoleServiceImpl implements MdeRoleService {
         MdeRoleDO role = BeanUtils.toBean(createReqVO, MdeRoleDO.class)
                 .setEnterpriseId(LoginUserContext.getEnterpriseId())
                 .setType(ObjectUtil.defaultIfNull(type, MdeRoleTypeEnum.CUSTOM.getType().toString()))
-                .setDataScope(MdeDataScopeEnum.ALL.getScope()); // 默认可查看所有数据。原因是,可能一些项目不需要项目权限
+                .setDataScope(MdeDataScopeEnum.SELF.getScope()); // 默认可查看所有数据。原因是,可能一些项目不需要项目权限
         roleMapper.insert(role);
 
         // 3. 记录操作日志上下文
@@ -141,7 +141,7 @@ public class MdeRoleServiceImpl implements MdeRoleService {
             throw exception(MDE_ROLE_ADMIN_CODE_ERROR, code);
         }
         // 1. 该 name 名字被其它角色所使用
-        MdeRoleDO role = roleMapper.selectByName(name);
+        MdeRoleDO role = roleMapper.selectByName(LoginUserContext.getEnterpriseId(),name);
         if (role != null && !role.getId().equals(id)) {
             throw exception(MDE_ROLE_NAME_DUPLICATE, name);
         }
@@ -150,7 +150,7 @@ public class MdeRoleServiceImpl implements MdeRoleService {
             return;
         }
         // 该 code 编码被其它角色所使用
-        role = roleMapper.selectByCode(code);
+        role = roleMapper.selectByCode(LoginUserContext.getEnterpriseId(),code);
         if (role != null && !role.getId().equals(id)) {
             throw exception(MDE_ROLE_CODE_DUPLICATE, code);
         }