Эх сурвалжийг харах

基础管理数据权限控制

caozixuan 2 жил өмнө
parent
commit
c4050081c2
36 өөрчлөгдсөн 333 нэмэгдсэн , 110 устгасан
  1. 3 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicCardRuleMapper.java
  2. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicExamMapper.java
  3. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicPrintConfigMapper.java
  4. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicTemplateMapper.java
  5. 11 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java
  6. 16 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java
  7. 23 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamServiceImpl.java
  8. 15 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicMessageServiceImpl.java
  9. 9 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicPrintConfigServiceImpl.java
  10. 8 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java
  11. 18 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  12. 25 2
      distributed-print-business/src/main/resources/mapper/BasicCardRuleMapper.xml
  13. 11 0
      distributed-print-business/src/main/resources/mapper/BasicExamMapper.xml
  14. 11 0
      distributed-print-business/src/main/resources/mapper/BasicPrintConfigMapper.xml
  15. 11 0
      distributed-print-business/src/main/resources/mapper/BasicTemplateMapper.xml
  16. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCardRuleController.java
  17. 6 21
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicMessageController.java
  18. 13 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicExam.java
  19. 6 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicClazzMapper.java
  20. 3 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCollegeMapper.java
  21. 3 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCourseMapper.java
  22. 3 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicMajorMapper.java
  23. 3 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicSemesterMapper.java
  24. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java
  25. 16 6
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicClazzServiceImpl.java
  26. 7 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCollegeServiceImpl.java
  27. 9 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  28. 9 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicMajorServiceImpl.java
  29. 17 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSemesterServiceImpl.java
  30. 7 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java
  31. 10 5
      teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml
  32. 10 5
      teachcloud-common/src/main/resources/mapper/BasicCollegeMapper.xml
  33. 10 5
      teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml
  34. 10 5
      teachcloud-common/src/main/resources/mapper/BasicMajorMapper.xml
  35. 10 5
      teachcloud-common/src/main/resources/mapper/BasicSemesterMapper.xml
  36. 10 5
      teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicCardRuleMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.CardRuleDto;
 import com.qmth.distributed.print.business.bean.params.CardRuleParam;
 import com.qmth.distributed.print.business.entity.BasicCardRule;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -21,7 +22,7 @@ import java.util.Set;
  */
 public interface BasicCardRuleMapper extends BaseMapper<BasicCardRule> {
 
-    IPage<CardRuleDto> listPage(Page<CardRuleDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("name") String name, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime);
+    IPage<CardRuleDto> listPage(Page<CardRuleDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("name") String name, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime, @Param("dpr") DataPermissionRule dpr);
 
-    List<BasicCardRule> list(@Param("schoolId") Long schoolId, @Param("param") String param, @Param("orgIds") Set<Long> orgIds);
+    List<BasicCardRule> list(@Param("schoolId") Long schoolId, @Param("param") String param, @Param("dpr") DataPermissionRule dpr);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicExamMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.BasicExamDto;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import org.apache.ibatis.annotations.Param;
 
@@ -20,5 +21,5 @@ public interface BasicExamMapper extends BaseMapper<BasicExam> {
      * @param schoolId 学校id
      * @return 分页结果
      */
-    IPage<BasicExamDto> findBasicExamPage(@Param("objectPage") Page<Object> objectPage, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("enable") Boolean enable, @Param("o") Object o);
+    IPage<BasicExamDto> findBasicExamPage(@Param("objectPage") Page<Object> objectPage, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("enable") Boolean enable, @Param("o") Object o,@Param("dpr") DataPermissionRule dpr);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicPrintConfigMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.BasicPrintConfigDto;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.entity.BasicPrintConfig;
 import org.apache.ibatis.annotations.Param;
 
@@ -19,7 +20,7 @@ import java.util.List;
  */
 public interface BasicPrintConfigMapper extends BaseMapper<BasicPrintConfig> {
 
-    IPage<BasicPrintConfigDto> listPage(@Param("page") Page<BasicPrintConfigDto> page, @Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("enable") Boolean enable, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime);
+    IPage<BasicPrintConfigDto> listPage(@Param("page") Page<BasicPrintConfigDto> page, @Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("enable") Boolean enable, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime,@Param("dpr") DataPermissionRule dpr);
 
     List<BasicPrintConfig> listBySchoolIdAndExamIdAndOrgId(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("orgId") Long orgId, @Param("type") String type);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicTemplateMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.TemplateDto;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.BasicTemplate;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -20,7 +21,7 @@ import java.util.List;
  */
 public interface BasicTemplateMapper extends BaseMapper<BasicTemplate> {
 
-    IPage<TemplateDto> listPage(Page<TemplateDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("type") String type, @Param("name") String name, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
+    IPage<TemplateDto> listPage(Page<TemplateDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("type") String type, @Param("name") String name, @Param("startTime") Long startTime, @Param("endTime") Long endTime,@Param("dpr") DataPermissionRule dpr);
 
     /**
      * 查找模版(机构同级及以下)

+ 11 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java

@@ -13,10 +13,12 @@ import com.qmth.distributed.print.business.service.BasicCardRuleService;
 import com.qmth.distributed.print.business.service.BasicPrintConfigService;
 import com.qmth.distributed.print.business.service.ExamCardService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicPrintConfig;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
@@ -50,17 +52,23 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
     @Resource
     ExamTaskService examTaskService;
 
+    @Resource
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     @Override
     public IPage<CardRuleDto> list(Boolean enable, String name, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, enable, SystemConstant.translateSpecificSign(name), createStartTime, createEndTime);
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, enable, SystemConstant.translateSpecificSign(name), createStartTime, createEndTime, dpr);
     }
 
     @Override
     public List<BasicCardRule> list(String param) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        return this.baseMapper.list(schoolId, param, orgIds);
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.list(schoolId, param, dpr);
     }
 
     @Override

+ 16 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java

@@ -11,13 +11,17 @@ import com.qmth.distributed.print.business.enums.RequiredFieldsEnum;
 import com.qmth.distributed.print.business.mapper.BasicExamRuleMapper;
 import com.qmth.distributed.print.business.service.BasicExamRuleService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.EnumResult;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -34,15 +38,26 @@ import java.util.stream.Collectors;
 @Service
 public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, BasicExamRule> implements BasicExamRuleService {
 
-    @Autowired
+    @Resource
     private ExamPrintPlanService examPrintPlanService;
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     @Override
     public BasicExamRule getBySchoolId() {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,sysUser.getId(),ServletUtil.getRequest().getServletPath());
+
         QueryWrapper<BasicExamRule> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(BasicExamRule::getSchoolId, schoolId);
+        if (SystemConstant.longNotNull(dpr.getRequestUserId())){
+            queryWrapper.lambda().eq(BasicExamRule::getCreateId,dpr.getRequestUserId());
+        }
+        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
+            queryWrapper.lambda().in(BasicExamRule::getOrgId,dpr.getOrgIdSet());
+        }
+
         BasicExamRule basicExamRule = this.getOne(queryWrapper);
         if(basicExamRule == null){
             List<EnumResult> enumResultList = RequiredFieldsEnum.listTypes();

+ 23 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamServiceImpl.java

@@ -10,11 +10,13 @@ import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.mapper.BasicExamMapper;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExamModelEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -36,11 +38,13 @@ import java.util.stream.Collectors;
 @Service
 public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam> implements BasicExamService {
     @Resource
-    ExamPrintPlanService examPrintPlanService;
+    private ExamPrintPlanService examPrintPlanService;
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     @Transactional
     @Override
-    public BasicExam saveBasicExam(BasicExam basicExam) throws IllegalAccessException {
+    public BasicExam saveBasicExam(BasicExam basicExam) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Long id = basicExam.getId();
         Long schoolId = sysUser.getSchoolId();
@@ -65,14 +69,15 @@ public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam
                     .set(BasicExam::getExamModel, basicExam.getExamModel())
                     .set(BasicExam::getReview, basicExam.getReview())
                     .set(BasicExam::getPrintMethod, basicExam.getPrintMethod())
-                    .set(BasicExam::getCreateId, sysUser.getId())
-                    .set(BasicExam::getCreateTime, System.currentTimeMillis()));
+                    .set(BasicExam::getUpdateId, sysUser.getId())
+                    .set(BasicExam::getUpdateTime, System.currentTimeMillis()));
         } else {
             // 新增
             basicExam.setId(SystemConstant.getDbUuid());
             basicExam.setSchoolId(schoolId);
-            basicExam.setUpdateId(sysUser.getId());
-            basicExam.setUpdateTime(System.currentTimeMillis());
+            basicExam.setOrgId(sysUser.getOrgId());
+            basicExam.setCreateId(sysUser.getId());
+            basicExam.setCreateTime(System.currentTimeMillis());
             // 生成简码
             String shortCode = createShortCode(schoolId);
             basicExam.setShortCode(shortCode);
@@ -94,6 +99,9 @@ public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam
     @Override
     public List<BasicExam> query(Long semesterId, List<ExamModelEnum> examModels, Boolean inUsed) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+
         QueryWrapper<BasicExam> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(BasicExam::getSchoolId, schoolId)
                 .eq(BasicExam::getSemesterId, semesterId)
@@ -104,6 +112,12 @@ public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam
         if (Objects.nonNull(inUsed)) {
             queryWrapper.lambda().eq(BasicExam::getInUsed, inUsed);
         }
+        if (SystemConstant.longNotNull(dpr.getRequestUserId())){
+            queryWrapper.lambda().eq(BasicExam::getCreateId,dpr.getRequestUserId());
+        }
+        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
+            queryWrapper.lambda().in(BasicExam::getOrgId,dpr.getOrgIdSet());
+        }
         return this.list(queryWrapper);
     }
 
@@ -132,7 +146,9 @@ public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam
     @Override
     public IPage<BasicExamDto> basicExamPage(Long semesterId, Boolean enable, Integer pageNumber, Integer pageSize) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.findBasicExamPage(new Page<>(pageNumber, pageSize), schoolId, semesterId, enable, null);
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.findBasicExamPage(new Page<>(pageNumber, pageSize), schoolId, semesterId, enable, null, dpr);
     }
 
     /**

+ 15 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicMessageServiceImpl.java

@@ -13,6 +13,7 @@ import com.qmth.distributed.print.business.mapper.BasicMessageMapper;
 import com.qmth.distributed.print.business.service.BasicMessageService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
 import com.qmth.distributed.print.business.util.SmsUtils;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -20,11 +21,11 @@ import com.qmth.teachcloud.common.entity.SysConfig;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.EnumResult;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.CommonCacheService;
 import com.qmth.teachcloud.common.service.SysConfigService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -45,12 +46,18 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
     @Resource
     private CommonCacheService commonCacheService;
 
-    @Autowired
+    @Resource
     private SmsUtils smsUtils;
 
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     @Override
     public IPage<BasicMessage> listByMessageType(MessageEnum messageType, Boolean sendStatus, String mobileNumber, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+
         Page<BasicMessage> page = new Page<>(pageNumber, pageSize);
         QueryWrapper<BasicMessage> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(BasicMessage::getSchoolId, schoolId);
@@ -67,6 +74,12 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
         if (StringUtils.isNotBlank(mobileNumber)) {
             queryWrapper.lambda().like(BasicMessage::getMobileNumber, "%" + mobileNumber + "%");
         }
+        if (SystemConstant.longNotNull(dpr.getRequestUserId())){
+            queryWrapper.lambda().eq(BasicMessage::getCreateId,dpr.getRequestUserId());
+        }
+        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
+            queryWrapper.lambda().in(BasicMessage::getOrgId,dpr.getOrgIdSet());
+        }
         queryWrapper.lambda().orderByDesc(BasicMessage::getCreateTime);
         return this.page(page, queryWrapper);
     }

+ 9 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicPrintConfigServiceImpl.java

@@ -14,6 +14,7 @@ import com.qmth.distributed.print.business.mapper.BasicPrintConfigMapper;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.distributed.print.business.service.BasicPrintConfigService;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.BasicPrintConfig;
@@ -21,6 +22,7 @@ import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,11 +62,17 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
     @Resource
     BasicPrintConfigService basicPrintConfigService;
 
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     @Override
     public IPage<BasicPrintConfigDto> listPage(Long examId, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+
         Page<BasicPrintConfigDto> page = new Page<>(pageNumber, pageSize);
-        IPage<BasicPrintConfigDto> printConfigDtoIPage = this.baseMapper.listPage(page, schoolId, examId, enable, createStartTime, createEndTime);
+        IPage<BasicPrintConfigDto> printConfigDtoIPage = this.baseMapper.listPage(page, schoolId, examId, enable, createStartTime, createEndTime,dpr);
         if (printConfigDtoIPage.getRecords().size() > 0) {
             printConfigDtoIPage.getRecords().forEach(m -> {
                 //查询适用学院

+ 8 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.distributed.print.business.service.BasicPrintConfigService;
 import com.qmth.distributed.print.business.service.BasicTemplateService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.distributed.print.business.util.PdfFillUtils;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.BasicPrintConfig;
@@ -24,6 +25,7 @@ import com.qmth.teachcloud.common.enums.ClassifyEnum;
 import com.qmth.teachcloud.common.enums.EnumResult;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicAttachmentService;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.io.FileUtils;
@@ -65,10 +67,15 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     @Resource
     ExamPrintPlanService examPrintPlanService;
 
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     @Override
     public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, enable, type, SystemConstant.translateSpecificSign(name), startTime, endTime);
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, enable, type, SystemConstant.translateSpecificSign(name), startTime, endTime,dpr);
     }
 
     @Transactional

+ 18 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -24,6 +24,7 @@ import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.CreatePrintPdfUtil;
 import com.qmth.distributed.print.business.util.HtmlToPdfUtil;
 import com.qmth.distributed.print.business.util.PdfUtil;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
@@ -66,13 +67,13 @@ import java.util.stream.Collectors;
 public class PrintCommonServiceImpl implements PrintCommonService {
     private final static Logger log = LoggerFactory.getLogger(PrintCommonServiceImpl.class);
 
-    @Autowired
+    @Resource
     private DictionaryConfig dictionaryConfig;
 
     @Resource
     BasicAttachmentService basicAttachmentService;
 
-    @Autowired
+    @Resource
     @Lazy
     private ExamTaskService examTaskService;
 
@@ -88,7 +89,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Resource
     SysOrgService sysOrgService;
 
-    @Autowired
+    @Resource
     private SysUserService sysUserService;
 
     @Resource
@@ -100,7 +101,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Resource
     ExamDetailService examDetailService;
 
-    @Autowired
+    @Resource
     private ConvertUtil convertUtil;
 
     @Resource
@@ -125,10 +126,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Resource
     RedisUtil redisUtil;
 
-    @Autowired
+    @Resource
     BasicSchoolService basicSchoolService;
 
-    @Autowired
+    @Resource
     BasicExamService basicExamService;
 
     @Resource
@@ -152,6 +153,9 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Resource
     CommonCacheService commonCacheService;
 
+    @Resource
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     /**
      * 保存附件
      *
@@ -656,7 +660,9 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Override
     public List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(teachingRoomId);
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
         /*if (Objects.nonNull(teachingRoomId)) {
             orgIds = new HashSet<>(Arrays.asList(teachingRoomId));
         } else {
@@ -667,6 +673,12 @@ public class PrintCommonServiceImpl implements PrintCommonService {
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId)
                     .eq(BasicCourse::getEnable, true)
                     .in(BasicCourse::getTeachingRoomId, orgIds);
+            if (SystemConstant.longNotNull(dpr.getRequestUserId())){
+                queryWrapper.lambda().eq(BasicCourse::getCreateId,dpr.getRequestUserId());
+            }
+            if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
+                queryWrapper.lambda().in(BasicCourse::getOrgId,dpr.getOrgIdSet());
+            }
             if (StringUtils.isNotBlank(param)) {
                 queryWrapper.lambda().and(i -> i.like(BasicCourse::getCode, SystemConstant.translateSpecificSign(param))
                         .or().like(BasicCourse::getName, SystemConstant.translateSpecificSign(param)));

+ 25 - 2
distributed-print-business/src/main/resources/mapper/BasicCardRuleMapper.xml

@@ -49,6 +49,17 @@
             <if test="createEndTime != null and createEndTime != ''">
                 and create_time &lt;= #{createEndTime}
             </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
         </where>
         order by create_time desc
     </select>
@@ -58,9 +69,21 @@
             *
         FROM
             basic_card_rule a
-        WHERE
-            a.school_id = #{schoolId}
+        <where>
+            AND a.school_id = #{schoolId}
             AND a.enable = true
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+        </where>
         order by create_time desc
     </select>
 

+ 11 - 0
distributed-print-business/src/main/resources/mapper/BasicExamMapper.xml

@@ -43,6 +43,17 @@
             <if test="enable != null and enable != '' or enable == 0">
                 and a.enable = #{enable}
             </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND a.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND a.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
         </where>
     </select>
 </mapper>

+ 11 - 0
distributed-print-business/src/main/resources/mapper/BasicPrintConfigMapper.xml

@@ -45,6 +45,17 @@
             <if test="createEndTime != null and createEndTime != ''">
                 and create_time &lt;= #{createEndTime}
             </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
         </where>
     </select>
     <select id="listBySchoolIdAndExamIdAndOrgId" resultMap="BaseResultMap">

+ 11 - 0
distributed-print-business/src/main/resources/mapper/BasicTemplateMapper.xml

@@ -54,6 +54,17 @@
             <if test="endTime != null and endTime != ''">
                 and create_time &lt;= #{endTime}
             </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
         </where>
         order by create_time desc
     </select>

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCardRuleController.java

@@ -14,10 +14,10 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.util.List;
@@ -36,7 +36,7 @@ import java.util.List;
 @Validated
 public class BasicCardRuleController {
 
-    @Autowired
+    @Resource
     private BasicCardRuleService basicCardRuleService;
 
     /**

+ 6 - 21
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicMessageController.java

@@ -2,42 +2,27 @@ package com.qmth.distributed.print.api;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.entity.BasicMessage;
 import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.service.BasicMessageService;
-import com.qmth.distributed.print.business.service.PrintCommonService;
-import com.qmth.distributed.print.business.templete.execute.AsyncCourseDataImportService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
-import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicCourse;
-import com.qmth.teachcloud.common.entity.SysUser;
-import com.qmth.teachcloud.common.entity.TBTask;
 import com.qmth.teachcloud.common.enums.EnumResult;
-import com.qmth.teachcloud.common.enums.TaskTypeEnum;
 import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
-import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
-import com.qmth.teachcloud.common.util.ServletUtil;
-import com.sun.org.apache.xpath.internal.operations.Bool;
-import io.swagger.annotations.*;
-import org.springframework.validation.BindingResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-import javax.validation.Valid;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
-import java.awt.*;
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * <p>

+ 13 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicExam.java

@@ -25,6 +25,11 @@ public class BasicExam extends BaseEntity implements Serializable {
     @TableField("school_id")
     private Long schoolId;
 
+    @ApiModelProperty(value = "机构id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField("org_id")
+    private Long orgId;
+
     @ApiModelProperty(value = "学期ID")
     @TableField("semester_id")
     private String semesterId;
@@ -69,6 +74,14 @@ public class BasicExam extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
     }
 
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
     public String getSemesterId() {
         return semesterId;
     }

+ 6 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicClazzMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
 import com.qmth.teachcloud.common.entity.BasicClazz;
 import org.apache.ibatis.annotations.Param;
@@ -19,16 +20,17 @@ import java.util.Set;
 public interface BasicClazzMapper extends BaseMapper<BasicClazz> {
 
     IPage<BasicClazzResult> findBasicClazzPage(@Param("iPage") Page<BasicClazzResult> iPage,
-                                                   @Param("queryParams") String queryParams,
-                                                   @Param("schoolId") Long schoolId,
-                                                   @Param("orgIds") Set<Long> orgIds);
+                                               @Param("queryParams") String queryParams,
+                                               @Param("schoolId") Long schoolId,
+                                               @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 根据班级idList和学校id查询新命题任务数据
+     *
      * @param schoolId 学校id
      * @param clazzIds 班级idSet
      * @return 数据
      */
     @SuppressWarnings("MybatisXMapperMethodInspection")
-    List<Map<Object,Object>> findExamTaskPrintByClazzIdSet(@Param("schoolId") Long schoolId,@Param("clazzIds") List<Long> clazzIds);
+    List<Map<Object, Object>> findExamTaskPrintByClazzIdSet(@Param("schoolId") Long schoolId, @Param("clazzIds") List<Long> clazzIds);
 }

+ 3 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCollegeMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.result.BasicCollegeResult;
 import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
 import com.qmth.teachcloud.common.entity.BasicCollege;
@@ -22,11 +23,11 @@ public interface BasicCollegeMapper extends BaseMapper<BasicCollege> {
      * @param iPage       分页参数
      * @param schoolId    学校id
      * @param collegeName 学院名称
-     * @param orgIds      数据权限集合
+     * @param dpr      dpr
      * @return 基础专业分页参数
      */
     IPage<BasicCollegeResult> findBasicCollegePage(@Param("iPage") Page<BasicCollegeResult> iPage,
                                                    @Param("schoolId") Long schoolId,
                                                    @Param("collegeName") String collegeName,
-                                                   @Param("orgIds") Set<Long> orgIds);
+                                                   @Param("dpr") DataPermissionRule dpr);
 }

+ 3 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCourseMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.common.bean.dto.CourseInfoDto;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import org.apache.ibatis.annotations.Param;
@@ -37,7 +38,7 @@ public interface BasicCourseMapper extends BaseMapper<BasicCourse> {
      * @param startCreateTime 课程创建时间(起始值)
      * @param endCreateTime   课程创建时间(终止值)
      * @param schoolId        学校id
-     * @param orgIds          权限机构组
+     * @param dpr          权限机构组
      * @return 结果
      */
     IPage<BasicCourseResult> findBasicCoursePage(@Param("iPage") Page<BasicCourseResult> iPage,
@@ -46,7 +47,7 @@ public interface BasicCourseMapper extends BaseMapper<BasicCourse> {
                                                  @Param("startCreateTime") Long startCreateTime,
                                                  @Param("endCreateTime") Long endCreateTime,
                                                  @Param("schoolId") Long schoolId,
-                                                 @Param("orgIds") Set<Long> orgIds);
+                                                 @Param("dpr") DataPermissionRule dpr);
 
     @SuppressWarnings("MybatisXMapperMethodInspection")
     Set<Map<String, Object>> findExamTaskByCourseCode(@Param("schoolId") Long schoolId, @Param("courseCodeSet") Set<String> courseCodeSet);

+ 3 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicMajorMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
 import com.qmth.teachcloud.common.entity.BasicMajor;
 import org.apache.ibatis.annotations.Param;
@@ -24,11 +25,11 @@ public interface BasicMajorMapper extends BaseMapper<BasicMajor> {
      * @param iPage 分页参数
      * @param schoolId 学校id
      * @param majorName 专业名称
-     * @param orgIds 数据权限集合
+     * @param dpr 数据权限集合
      * @return 基础专业分页参数
      */
     IPage<BasicMajorResult> findBasicMajorPage(@Param("iPage") Page<BasicMajorResult> iPage,
                                                @Param("schoolId") Long schoolId,
                                                @Param("majorName") String majorName,
-                                               @Param("orgIds") Set<Long> orgIds);
+                                               @Param("dpr") DataPermissionRule dpr);
 }

+ 3 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicSemesterMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.bean.result.BasicSemesterResult;
@@ -25,12 +26,12 @@ public interface BasicSemesterMapper extends BaseMapper<BasicSemester> {
      *
      * @param iPage    分页参数
      * @param schoolId 学校id
-     * @param orgIds   权限id
+     * @param dpr   权限id
      * @return 分页结果
      */
     IPage<BasicSemesterResult> findBasicSemesterPage(@Param("iPage") Page<BasicSemesterResult> iPage,
                                                      @Param("schoolId") Long schoolId,
-                                                     @Param("orgIds") Set<Long> orgIds);
+                                                     @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 根据学期id查询分布式印刷考试数量

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import com.qmth.teachcloud.common.entity.BasicStudent;
@@ -30,7 +31,7 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
                                                    @Param("collegeId") Long collegeId,
                                                    @Param("majorId") Long majorId,
                                                    @Param("clazzIdList") Set<Long> clazzIdList,
-                                                   @Param("orgIds") Set<Long> orgIds);
+                                                   @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 根据基础学生主键同步删除教学学生信息

+ 16 - 6
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicClazzServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.excel.BasicClazzImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
@@ -16,10 +17,7 @@ import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicClazzMapper;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.service.BasicMajorService;
-import com.qmth.teachcloud.common.service.BasicStudentService;
-import com.qmth.teachcloud.common.service.BasicUserCourseService;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -47,14 +45,18 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
     private BasicUserCourseService basicUserCourseService;
     @Resource
     private BasicMajorService basicMajorService;
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
 
     @Override
     public IPage<BasicClazzResult> basicClazzPage(String queryParams, int pageNumber, int pageSize) {
+
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         queryParams = SystemConstant.translateSpecificSign(queryParams);
-
-        return basicClazzMapper.findBasicClazzPage(new Page<>(pageNumber, pageSize), queryParams, schoolId, null);
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        return basicClazzMapper.findBasicClazzPage(new Page<>(pageNumber, pageSize), queryParams, schoolId, dpr);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -172,10 +174,18 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
     public List<ClazzDatasourceResult> findClazzDatasource(Long campusId) {
         // TODO: 2022/8/17 czx - 废弃方法
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
         QueryWrapper<BasicClazz> basicClazzQueryWrapper = new QueryWrapper<>();
 
         basicClazzQueryWrapper.lambda().eq(BasicClazz::getEnable, true)
                 .eq(BasicClazz::getSchoolId, schoolId);
+        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
+            basicClazzQueryWrapper.lambda().in(BasicClazz::getOrgId,dpr.getOrgIdSet());
+        }
+        if (SystemConstant.longNotNull(dpr.getRequestUserId())){
+            basicClazzQueryWrapper.lambda().eq(BasicClazz::getCreateId,dpr.getRequestUserId());
+        }
 
         return this.list(basicClazzQueryWrapper).stream()
                 .map(e -> {

+ 7 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCollegeServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.params.BasicCollegeParams;
 import com.qmth.teachcloud.common.bean.result.BasicCollegeResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -12,6 +13,7 @@ import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicCollegeMapper;
 import com.qmth.teachcloud.common.service.*;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -33,11 +35,15 @@ public class BasicCollegeServiceImpl extends ServiceImpl<BasicCollegeMapper, Bas
     private BasicStudentService basicStudentService;
     @Resource
     private CommonCacheService commonCacheService;
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     @Override
     public IPage<BasicCollegeResult> basicCollegePage(Long schoolId, String collegeName, int pageNumber, int pageSize) {
         collegeName = SystemConstant.translateSpecificSign(collegeName);
-        return this.baseMapper.findBasicCollegePage(new Page<>(pageNumber, pageSize), schoolId, collegeName, null);
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.findBasicCollegePage(new Page<>(pageNumber, pageSize), schoolId, collegeName, dpr);
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 9 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.base.BaseEntity;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.excel.BasicCourseImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
@@ -51,6 +52,9 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     @Resource
     private BasicClazzService basicClazzService;
 
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
+
 //    @Resource
 //    private SysUserService sysUserService;
 
@@ -110,9 +114,12 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     @Override
     public IPage<BasicCourseResult> basicCoursePage(Long belongOrgId, String courseName, Long startCreateTime, Long endCreateTime, int pageNumber, int pageSize) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
+
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+
         courseName = SystemConstant.translateSpecificSign(courseName);
-        IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), belongOrgId, courseName, startCreateTime, endCreateTime, schoolId, orgIds);
+        IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), belongOrgId, courseName, startCreateTime, endCreateTime, schoolId, dpr);
         List<BasicCourseResult> list = iPage.getRecords();
         for (BasicCourseResult basicCourseResult : list) {
             Long courseId = basicCourseResult.getId();

+ 9 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicMajorServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.params.BasicMajorParams;
 import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -18,7 +19,9 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicMajorMapper;
 import com.qmth.teachcloud.common.service.BasicClazzService;
 import com.qmth.teachcloud.common.service.BasicMajorService;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.BasicStudentService;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -41,11 +44,16 @@ public class BasicMajorServiceImpl extends ServiceImpl<BasicMajorMapper, BasicMa
     private BasicClazzService basicClazzService;
     @Resource
     private BasicStudentService basicStudentService;
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     @Override
     public IPage<BasicMajorResult> basicMajorPage(Long schoolId, String majorName, int pageNumber, int pageSize) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+
         majorName = SystemConstant.translateSpecificSign(majorName);
-        return this.baseMapper.findBasicMajorPage(new Page<>(pageNumber, pageSize),schoolId,majorName,null);
+        return this.baseMapper.findBasicMajorPage(new Page<>(pageNumber, pageSize),schoolId,majorName,dpr);
     }
 
     @Transactional

+ 17 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSemesterServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.bean.result.BasicSemesterResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -12,6 +13,7 @@ import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicSemesterMapper;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
@@ -37,9 +39,14 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
     @Resource
     BasicSemesterService basicSemesterService;
 
+    @Resource
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     @Override
     public IPage<BasicSemesterResult> basicSemesterPage(Long schoolId, int pageNumber, int pageSize) {
-        return this.baseMapper.findBasicSemesterPage(new Page<>(pageNumber, pageSize), schoolId, null);
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.findBasicSemesterPage(new Page<>(pageNumber, pageSize), schoolId, dpr);
     }
 
     @Transactional
@@ -125,8 +132,17 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
 
     @Override
     public List<BasicSemester> list(Long schoolId, Boolean inUsed) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+
         QueryWrapper<BasicSemester> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(BasicSemester::getSchoolId, schoolId).eq(BasicSemester::getEnable, true);
+        if (SystemConstant.longNotNull(dpr.getRequestUserId())){
+            queryWrapper.lambda().eq(BasicSemester::getCreateId,dpr.getRequestUserId());
+        }
+        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
+            queryWrapper.lambda().in(BasicSemester::getOrgId,dpr.getOrgIdSet());
+        }
         if (Objects.nonNull(inUsed)) {
             queryWrapper.lambda().eq(BasicSemester::getInUsed, inUsed);
         }

+ 7 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.base.BaseEntity;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
 import com.qmth.teachcloud.common.bean.dto.excel.BasicStudentImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
@@ -16,10 +17,7 @@ import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.TeachBasicEnum;
 import com.qmth.teachcloud.common.mapper.BasicStudentMapper;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.service.BasicCollegeService;
-import com.qmth.teachcloud.common.service.BasicMajorService;
-import com.qmth.teachcloud.common.service.BasicStudentService;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -49,13 +47,17 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     private BasicMajorService basicMajorService;
     @Resource
     private BasicCollegeService basicCollegeService;
+    @Resource
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
 
     @Override
     public IPage<BasicStudentResult> basicStudentPage(String queryParams, Long collegeId, Long majorId, Set<Long> clazzIdList, int pageNumber, int pageSize) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
         queryParams = SystemConstant.translateSpecificSign(queryParams);
-        return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber, pageSize), queryParams, schoolId, collegeId, majorId, clazzIdList, null);
+        return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber, pageSize), queryParams, schoolId, collegeId, majorId, clazzIdList, dpr);
     }
 
     @Override

+ 10 - 5
teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml

@@ -27,11 +27,16 @@
             <if test="queryParams != null and queryParams != ''">
                 AND (clz.clazz_name LIKE CONCAT('%',#{queryParams},'%') OR clz.clazz_code LIKE CONCAT('%',#{queryParams},'%'))
             </if>
-            <if test="orgIds != null and orgIds != '' and orgIds.size > 0">
-                AND clz.org_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND clz.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND clz.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
         </where>
         ORDER BY clz.create_time DESC

+ 10 - 5
teachcloud-common/src/main/resources/mapper/BasicCollegeMapper.xml

@@ -16,11 +16,16 @@
             <if test="collegeName != null and collegeName != ''">
                 AND college_name LIKE CONCAT('%',#{collegeName},'%')
             </if>
-            <if test="orgIds != null and orgIds != '' and orgIds.size > 0">
-                AND org_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
         </where>
         ORDER BY create_time DESC

+ 10 - 5
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -97,11 +97,16 @@
             <if test="schoolId != null and schoolId != ''">
                 and bc.school_id = #{schoolId}
             </if>
-            <if test="orgIds != null and orgIds != '' and orgIds.size > 0">
-                AND bc.teaching_room_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND bc.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND bc.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
         </where>
         ORDER BY createTime DESC

+ 10 - 5
teachcloud-common/src/main/resources/mapper/BasicMajorMapper.xml

@@ -24,11 +24,16 @@
             <if test="majorName != null and majorName != ''">
                 AND bm.name LIKE CONCAT('%',#{majorName},'%')
             </if>
-            <if test="orgIds != null and orgIds != '' and orgIds.size > 0">
-                AND bm.org_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND bm.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND bm.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
         </where>
         ORDER BY bm.create_time DESC

+ 10 - 5
teachcloud-common/src/main/resources/mapper/BasicSemesterMapper.xml

@@ -18,11 +18,16 @@
             <if test="schoolId != null and schoolId != ''">
                 AND bs.school_id = #{schoolId}
             </if>
-            <if test="orgIds != null and orgIds != '' and orgIds.size > 0">
-                AND bs.org_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND bs.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND bs.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
         </where>
         ORDER BY bs.create_time DESC

+ 10 - 5
teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -75,11 +75,16 @@
                     #{item}
                 </foreach>
             </if>
-            <if test="orgIds != null and orgIds != '' and orgIds.size > 0">
-                AND stu.org_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND stu.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND stu.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
         </where>
         ORDER BY stu.create_time DESC