xiaofei 1 жил өмнө
parent
commit
0916dd0e62
21 өөрчлөгдсөн 140 нэмэгдсэн , 85 устгасан
  1. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java
  2. 23 20
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  3. 1 0
      distributed-print-business/src/main/resources/mapper/BasicExamMapper.xml
  4. 0 2
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  5. 1 3
      distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java
  6. 4 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java
  7. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskAuditController.java
  8. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskQueryController.java
  9. 25 3
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysPrivilegeController.java
  10. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/TFCustomFlowController.java
  11. 11 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/SysRolePrivilegeParams.java
  12. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysRole.java
  13. 1 3
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/ExceptionResultEnum.java
  14. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysPrivilegeService.java
  15. 2 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysRolePrivilegeService.java
  16. 3 13
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysPrivilegeServiceImpl.java
  17. 31 13
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRolePrivilegeServiceImpl.java
  18. 19 12
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRoleServiceImpl.java
  19. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/CloudMarkingTaskUtils.java
  20. 1 1
      teachcloud-common/src/main/resources/mapper/SysRoleMapper.xml
  21. 6 1
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/SysPrivilegeController.java

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

@@ -618,7 +618,7 @@ public class ClientServiceImpl implements ClientService {
         List<SysPrivilege> sysPrivileges = sysPrivilegeService.getClientUrlByUserId(userId);
         List<SysPrivilege> sysPrivileges = sysPrivilegeService.getClientUrlByUserId(userId);
         long count = sysPrivileges.stream().filter(m -> "客户端".equals(m.getName()) && "client".equals(m.getUrl())).count();
         long count = sysPrivileges.stream().filter(m -> "客户端".equals(m.getName()) && "client".equals(m.getUrl())).count();
         if (count == 0) {
         if (count == 0) {
-            throw ExceptionResultEnum.ERROR.exception("用户没有权限,无法登录");
+            throw ExceptionResultEnum.ERROR.exception("用户没有客户端权限");
         }
         }
     }
     }
 
 

+ 23 - 20
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1054,38 +1054,39 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
 
     @Override
     @Override
     public void checkDataByExamination(Long printPlanId, Long examDetailId, SysUser user) {
     public void checkDataByExamination(Long printPlanId, Long examDetailId, SysUser user) {
-        boolean judge = true;
+        StringJoiner stringJoiner = new StringJoiner("\r\n");
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
         ExamDetail examDetail = examDetailService.getById(examDetailId);
         ExamDetail examDetail = examDetailService.getById(examDetailId);
         if (Objects.isNull(examDetail)) {
         if (Objects.isNull(examDetail)) {
-            throw ExceptionResultEnum.ERROR.exception("考务-考场不存在");
+            stringJoiner.add(String.format("印刷计划[%s]没有考场ID[%s]的数据", examPrintPlan.getName(), examDetailId));
         }
         }
         List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda()
         List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda()
-                .eq(ExamDetailCourse::getExamDetailId, examDetailId)
-                .eq(ExamDetailCourse::getSchoolId, examDetail.getSchoolId()));
-        if (examDetailCourseList.size() < 1) {
-            throw ExceptionResultEnum.ERROR.exception("考务-课程不存在");
+                .eq(ExamDetailCourse::getSchoolId, examDetail.getSchoolId())
+                .eq(ExamDetailCourse::getExamDetailId, examDetailId));
+        if (CollectionUtils.isEmpty(examDetailCourseList)) {
+            stringJoiner.add(String.format("印刷计划[%s]没有考点[%s]、考场[%s]的课程数据", examPrintPlan.getName(), examDetail.getExamPlace(), examDetail.getExamRoom()));
         }
         }
+
         for (ExamDetailCourse examDetailCourse : examDetailCourseList) {
         for (ExamDetailCourse examDetailCourse : examDetailCourseList) {
             String courseCode = examDetailCourse.getCourseCode();
             String courseCode = examDetailCourse.getCourseCode();
+            String courseName = examDetailCourse.getCourseName();
             String paperNumber = examDetailCourse.getPaperNumber();
             String paperNumber = examDetailCourse.getPaperNumber();
             Long schoolId = examDetailCourse.getSchoolId();
             Long schoolId = examDetailCourse.getSchoolId();
-            ExamTask examTask = this.getOne(new QueryWrapper<ExamTask>().lambda()
-                    .eq(ExamTask::getSchoolId, schoolId)
-                    .eq(ExamTask::getExamId, examPrintPlan.getExamId())
-                    .eq(ExamTask::getCourseCode, courseCode)
-                    .eq(ExamTask::getPaperNumber, paperNumber));
-            if (examTask == null) {
-                judge = false;
-            } else if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
-                judge = false;
+
+            List<ExamTask> examTaskList = examTaskMapper.findExamTaskByFlowStatus(schoolId, examPrintPlan.getExamId(), courseCode, paperNumber, FlowStatusEnum.FINISH.name());
+            if (CollectionUtils.isEmpty(examTaskList)) {
+                stringJoiner.add(String.format("课程[%s(%s)],试卷编号[%s]的任务未创建或者未审核通过", courseName, courseCode, paperNumber));
             }
             }
         }
         }
-        if (judge) {
-            Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
-            MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(map.get(SystemConstant.TB_TASK_ID)));
-            redisUtil.sendMessage(mqDto.getTopic(), mqDto);
+
+        // 有异常抛出
+        if (stringJoiner.length() > 0) {
+            throw ExceptionResultEnum.ERROR.exception(stringJoiner.toString());
         }
         }
+
+        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
+        MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(map.get(SystemConstant.TB_TASK_ID)));
+        redisUtil.sendMessage(mqDto.getTopic(), mqDto);
     }
     }
 
 
     @Override
     @Override
@@ -1181,7 +1182,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     public void removeByExamTaskId(Long examTaskId) {
     public void removeByExamTaskId(Long examTaskId) {
         // 删除任务
         // 删除任务
         this.removeById(examTaskId);
         this.removeById(examTaskId);
-        ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTaskId);
+        QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskId);
+        ExamTaskDetail examTaskDetail = examTaskDetailService.getOne(queryWrapper);
         if (examTaskDetail != null) {
         if (examTaskDetail != null) {
             examTaskDetailService.removeById(examTaskDetail.getId());
             examTaskDetailService.removeById(examTaskDetail.getId());
 
 

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

@@ -28,6 +28,7 @@
             a.category,
             a.category,
             a.exam_model examModel,
             a.exam_model examModel,
             a.enable,
             a.enable,
+            a.auto_sync_student autoSyncStudent,
             a.create_id createId,
             a.create_id createId,
             a.create_time createTime,
             a.create_time createTime,
             a.update_id updateId,
             a.update_id updateId,

+ 0 - 2
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -8,7 +8,6 @@
         <result column="school_id" property="schoolId"/>
         <result column="school_id" property="schoolId"/>
         <result column="course_code" property="courseCode"/>
         <result column="course_code" property="courseCode"/>
         <result column="course_name" property="courseName"/>
         <result column="course_name" property="courseName"/>
-        <result column="specialty" property="specialty"/>
         <result column="paper_number" property="paperNumber"/>
         <result column="paper_number" property="paperNumber"/>
         <result column="start_time" property="startTime"/>
         <result column="start_time" property="startTime"/>
         <result column="end_time" property="endTime"/>
         <result column="end_time" property="endTime"/>
@@ -695,7 +694,6 @@
             AND e.course_code = d.course_code
             AND e.course_code = d.course_code
             AND e.paper_number = d.paper_number
             AND e.paper_number = d.paper_number
             and e.machine_code = #{machineCode}
             and e.machine_code = #{machineCode}
-
         LEFT JOIN
         LEFT JOIN
             sys_user f ON d.user_id = f.id
             sys_user f ON d.user_id = f.id
         <where>
         <where>

+ 1 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java

@@ -69,12 +69,10 @@ public class ClientController {
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
         }
-
         BasicSchool basicSchool = commonCacheService.schoolCache(login.getSchoolCode());
         BasicSchool basicSchool = commonCacheService.schoolCache(login.getSchoolCode());
         if (Objects.isNull(basicSchool)) {
         if (Objects.isNull(basicSchool)) {
             throw ExceptionResultEnum.SCHOOL_NO_DATA.exception();
             throw ExceptionResultEnum.SCHOOL_NO_DATA.exception();
         }
         }
-
         QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
         QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
         wrapper.lambda().eq(SysUser::getSchoolId, basicSchool.getId()).eq(SysUser::getLoginName, login.getLoginName());
         wrapper.lambda().eq(SysUser::getSchoolId, basicSchool.getId()).eq(SysUser::getLoginName, login.getLoginName());
         SysUser sysUser = sysUserService.getOne(wrapper);
         SysUser sysUser = sysUserService.getOne(wrapper);
@@ -84,7 +82,7 @@ public class ClientController {
         }
         }
         // 校验密码
         // 校验密码
         if (!Objects.equals(sysUser.getPassword(), login.getPassword())) {
         if (!Objects.equals(sysUser.getPassword(), login.getPassword())) {
-            throw ExceptionResultEnum.PASSWORD_ERROR.exception();
+            throw ExceptionResultEnum.USER_NO_DATA.exception();
         }
         }
         // 是否有客户端权限
         // 是否有客户端权限
         clientService.checkPrivilege(sysUser.getId());
         clientService.checkPrivilege(sysUser.getId());

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java

@@ -161,10 +161,10 @@ public class ExamTaskApplyController {
     public Result taskApplySave(@RequestBody ExamTaskDetail examTaskDetail) throws IOException {
     public Result taskApplySave(@RequestBody ExamTaskDetail examTaskDetail) throws IOException {
         Map<String, Object> map = examTaskService.saveExamTaskDetail(examTaskDetail);
         Map<String, Object> map = examTaskService.saveExamTaskDetail(examTaskDetail);
         ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
         ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
-        if (examTaskDetail.getOperateType().equals(ExamStatusEnum.SUBMIT.name()) && (Objects.nonNull(examTask.getReview()) && !examTask.getReview())) {
+        /*if (examTaskDetail.getOperateType().equals(ExamStatusEnum.SUBMIT.name()) && (Objects.nonNull(examTask.getReview()) && !examTask.getReview())) {
             // 校验是否可以提交打印状态
             // 校验是否可以提交打印状态
             printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
             printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
-        }
+        }*/
         Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
         Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
         if (Objects.nonNull(sendFlowMq) && sendFlowMq) {
         if (Objects.nonNull(sendFlowMq) && sendFlowMq) {
             activitiService.sendFlowTaskApproveMsg(map);
             activitiService.sendFlowTaskApproveMsg(map);
@@ -201,10 +201,10 @@ public class ExamTaskApplyController {
     public Result submitTaskApply(@RequestBody ExamTaskApplyTemp examTaskApplyTemp) throws IOException {
     public Result submitTaskApply(@RequestBody ExamTaskApplyTemp examTaskApplyTemp) throws IOException {
         Map<String, Object> map = examTaskService.submitTaskApply(examTaskApplyTemp);
         Map<String, Object> map = examTaskService.submitTaskApply(examTaskApplyTemp);
         ExamTask examTask = (ExamTask) map.get(SystemConstant.EXAM_TASK);
         ExamTask examTask = (ExamTask) map.get(SystemConstant.EXAM_TASK);
-        if (Objects.nonNull(examTask.getReview()) && !examTask.getReview()) {
+        /*if (Objects.nonNull(examTask.getReview()) && !examTask.getReview()) {
             // 校验是否可以提交打印状态
             // 校验是否可以提交打印状态
             printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
             printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
-        }
+        }*/
         Boolean sendFlowStartMq = (Boolean) map.get(SystemConstant.SEND_FLOW_START_MQ);
         Boolean sendFlowStartMq = (Boolean) map.get(SystemConstant.SEND_FLOW_START_MQ);
         Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
         Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
         if (Objects.nonNull(sendFlowStartMq) && sendFlowStartMq) {
         if (Objects.nonNull(sendFlowStartMq) && sendFlowStartMq) {

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

@@ -186,9 +186,9 @@ public class ExamTaskAuditController {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         boolean isSuccess = examTaskService.taskReviewSave(taskReviewLog);
         boolean isSuccess = examTaskService.taskReviewSave(taskReviewLog);
         if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
         if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
-            ExamTask examTask = examTaskService.getById(taskReviewLog.getExamTaskId());
+//            ExamTask examTask = examTaskService.getById(taskReviewLog.getExamTaskId());
             // 校验是否可以提交打印状态
             // 校验是否可以提交打印状态
-            printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
+//            printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
             // 发送审核通过短信通知
             // 发送审核通过短信通知
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_PASS, sysUser);
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_PASS, sysUser);
         } else if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.NOT_PASS.name())) {
         } else if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.NOT_PASS.name())) {

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

@@ -143,13 +143,13 @@ public class ExamTaskQueryController {
                 // 发送短信
                 // 发送短信
                 basicMessageService.sendNoticeTaskAuditCreateOrReview(examTask, MessageEnum.NOTICE_OF_AUDIT_REVIEW);
                 basicMessageService.sendNoticeTaskAuditCreateOrReview(examTask, MessageEnum.NOTICE_OF_AUDIT_REVIEW);
             } else {
             } else {
-                SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+               /* SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
                 // 校验课程关联考场,是否已经提交打印
                 // 校验课程关联考场,是否已经提交打印
                 Boolean isCreate = printCommonService.checkExamDetailStatus(examTask.getSchoolId(), null, examTask.getCourseCode(), examTask.getPaperNumber());
                 Boolean isCreate = printCommonService.checkExamDetailStatus(examTask.getSchoolId(), null, examTask.getCourseCode(), examTask.getPaperNumber());
                 // 校验是否可以提交打印状态
                 // 校验是否可以提交打印状态
                 if (isCreate) {
                 if (isCreate) {
                     printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
                     printCommonService.checkData(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
-                }
+                }*/
             }
             }
             Boolean sendFlowStartMq = (Boolean) map.get(SystemConstant.SEND_FLOW_START_MQ);
             Boolean sendFlowStartMq = (Boolean) map.get(SystemConstant.SEND_FLOW_START_MQ);
             Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
             Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);

+ 25 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/SysPrivilegeController.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.bean.params.SysRolePrivilegeParams;
 import com.qmth.teachcloud.common.bean.params.SysRolePrivilegeParams;
+import com.qmth.teachcloud.common.entity.SysRolePrivilege;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -13,12 +14,17 @@ import com.qmth.teachcloud.common.service.SysPrivilegeService;
 import com.qmth.teachcloud.common.service.SysRoleService;
 import com.qmth.teachcloud.common.service.SysRoleService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -30,7 +36,7 @@ import java.util.Objects;
  */
  */
 @Api(tags = "菜单权限Controller")
 @Api(tags = "菜单权限Controller")
 @RestController
 @RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX  + SystemConstant.PREFIX_URL_SYS + "/privilege")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_SYS + "/privilege")
 public class SysPrivilegeController {
 public class SysPrivilegeController {
 
 
     @Resource
     @Resource
@@ -98,13 +104,29 @@ public class SysPrivilegeController {
     @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
     @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
     public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
     public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
         SysRole sysRole = sysRoleService.getById(roleId);
         SysRole sysRole = sysRoleService.getById(roleId);
-        if (Objects.isNull(sysRole)){
+        if (Objects.isNull(sysRole)) {
             throw ExceptionResultEnum.ERROR.exception("角色不存在");
             throw ExceptionResultEnum.ERROR.exception("角色不存在");
         }
         }
 
 
         SysRolePrivilegeParams result = new SysRolePrivilegeParams();
         SysRolePrivilegeParams result = new SysRolePrivilegeParams();
         // 该角色拥有的权限集合
         // 该角色拥有的权限集合
-        result.setPrivilegeIds(sysPrivilegeService.getRolePrivileges(sysRole));
+        List<SysRolePrivilege> sysRolePrivilegeList = sysPrivilegeService.getRolePrivileges(sysRole);
+        if (!CollectionUtils.isEmpty(sysRolePrivilegeList)) {
+            Long schoolId = Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild()) ? Long.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString()) : null;
+            List<String> privilegeIds;
+            if (schoolId == null && sysRole.getDefaultRole()) {
+                privilegeIds = sysRolePrivilegeList.stream().filter(m -> m.getSchoolId() == null).map(m -> String.valueOf(m.getPrivilegeId())).collect(Collectors.toList());
+            } else {
+                privilegeIds = sysRolePrivilegeList.stream().map(m -> String.valueOf(m.getPrivilegeId())).collect(Collectors.toList());
+            }
+            result.setPrivilegeIds(privilegeIds);
+            // 内置角色,只返回内置角色对应权限,不显示学校编辑的权限
+            if (schoolId != null && sysRole.getDefaultRole()) {
+                List<String> defaultPrivilegeIds = sysRolePrivilegeList.stream().filter(m -> m.getSchoolId() == null).map(m -> String.valueOf(m.getPrivilegeId())).collect(Collectors.toList());
+                result.setDefaultPrivilegeIds(defaultPrivilegeIds);
+            }
+        }
+
         // 该角色拥有的数据权限
         // 该角色拥有的数据权限
         result.setDataPermissionInfo(basicRoleDataPermissionService.findRoleDataPermissionInfo(roleId));
         result.setDataPermissionInfo(basicRoleDataPermissionService.findRoleDataPermissionInfo(roleId));
         result.setId(roleId);
         result.setId(roleId);

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

@@ -185,7 +185,7 @@ public class TFCustomFlowController {
         map.computeIfAbsent(SystemConstant.APPROVE_USER_IDS, v -> flowTaskApproveParam.getApproveUserIds());
         map.computeIfAbsent(SystemConstant.APPROVE_USER_IDS, v -> flowTaskApproveParam.getApproveUserIds());
         activitiService.taskApprove(map);
         activitiService.taskApprove(map);
         activitiService.sendFlowTaskApproveMsg(map);
         activitiService.sendFlowTaskApproveMsg(map);
-        TFFlowLog tfFlowLog = (TFFlowLog) map.get(SystemConstant.APPROVE_TF_FLOW_LOG);
+        /*TFFlowLog tfFlowLog = (TFFlowLog) map.get(SystemConstant.APPROVE_TF_FLOW_LOG);
         TFFlowApprove tfFlowApprove = (TFFlowApprove) map.get(SystemConstant.APPROVE_TF_FLOW_APPROVE);
         TFFlowApprove tfFlowApprove = (TFFlowApprove) map.get(SystemConstant.APPROVE_TF_FLOW_APPROVE);
         if (Objects.nonNull(tfFlowLog.getObjectTable())) {
         if (Objects.nonNull(tfFlowLog.getObjectTable())) {
             if (Objects.equals(tfFlowLog.getObjectTable(), TFCustomTypeEnum.ELECTRON_FLOW.getTable())
             if (Objects.equals(tfFlowLog.getObjectTable(), TFCustomTypeEnum.ELECTRON_FLOW.getTable())
@@ -199,7 +199,7 @@ public class TFCustomFlowController {
                     throw ExceptionResultEnum.ERROR.exception("生成pdf失败");
                     throw ExceptionResultEnum.ERROR.exception("生成pdf失败");
                 }
                 }
             }
             }
-        }
+        }*/
         return ResultUtil.ok(true);
         return ResultUtil.ok(true);
     }
     }
 
 

+ 11 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/SysRolePrivilegeParams.java

@@ -36,6 +36,9 @@ public class SysRolePrivilegeParams implements Serializable {
     @NotEmpty(message = "权限集合不能为空")
     @NotEmpty(message = "权限集合不能为空")
     private List<String> privilegeIds;
     private List<String> privilegeIds;
 
 
+    @ApiModelProperty("内置超管设置权限id数组")
+    private List<String> defaultPrivilegeIds;
+
     @ApiModelProperty("数据权限集合")
     @ApiModelProperty("数据权限集合")
     @NotEmpty(message = "数据权限集合不能为空")
     @NotEmpty(message = "数据权限集合不能为空")
     private List<DataPermissionInfo> dataPermissionInfo;
     private List<DataPermissionInfo> dataPermissionInfo;
@@ -75,6 +78,14 @@ public class SysRolePrivilegeParams implements Serializable {
         this.privilegeIds = privilegeIds;
         this.privilegeIds = privilegeIds;
     }
     }
 
 
+    public List<String> getDefaultPrivilegeIds() {
+        return defaultPrivilegeIds;
+    }
+
+    public void setDefaultPrivilegeIds(List<String> defaultPrivilegeIds) {
+        this.defaultPrivilegeIds = defaultPrivilegeIds;
+    }
+
     public List<DataPermissionInfo> getDataPermissionInfo() {
     public List<DataPermissionInfo> getDataPermissionInfo() {
         return dataPermissionInfo;
         return dataPermissionInfo;
     }
     }

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysRole.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.common.entity;
 package com.qmth.teachcloud.common.entity;
 
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -28,7 +29,7 @@ public class SysRole extends BaseEntity implements Serializable {
 
 
     @ApiModelProperty(value = "学校id")
     @ApiModelProperty(value = "学校id")
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
-    @TableField("school_id")
+    @TableField(value = "school_id", updateStrategy = FieldStrategy.IGNORED)
     private Long schoolId;
     private Long schoolId;
 
 
     @ApiModelProperty(value = "机构id")
     @ApiModelProperty(value = "机构id")

+ 1 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/ExceptionResultEnum.java

@@ -37,9 +37,7 @@ public enum ExceptionResultEnum {
 
 
     USER_NO_DATA(HttpStatus.INTERNAL_SERVER_ERROR, 5000009, "用户或密码不正确"),
     USER_NO_DATA(HttpStatus.INTERNAL_SERVER_ERROR, 5000009, "用户或密码不正确"),
 
 
-    PASSWORD_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, 5000010, "密码不正确"),
-
-    USER_ENABLE(HttpStatus.INTERNAL_SERVER_ERROR, 5000011, "用户已停用"),
+    USER_ENABLE(HttpStatus.INTERNAL_SERVER_ERROR, 5000011, "用户已禁用"),
 
 
     NOT_LOGIN(HttpStatus.INTERNAL_SERVER_ERROR, 5000012, "请先登录"),
     NOT_LOGIN(HttpStatus.INTERNAL_SERVER_ERROR, 5000012, "请先登录"),
 
 

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysPrivilegeService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.dto.PrivilegeDto;
 import com.qmth.teachcloud.common.bean.dto.PrivilegeDto;
 import com.qmth.teachcloud.common.entity.SysPrivilege;
 import com.qmth.teachcloud.common.entity.SysPrivilege;
 import com.qmth.teachcloud.common.entity.SysRole;
 import com.qmth.teachcloud.common.entity.SysRole;
+import com.qmth.teachcloud.common.entity.SysRolePrivilege;
 
 
 import java.util.Collection;
 import java.util.Collection;
 import java.util.List;
 import java.util.List;
@@ -31,7 +32,7 @@ public interface SysPrivilegeService extends IService<SysPrivilege> {
 
 
     boolean remove(Long id);
     boolean remove(Long id);
 
 
-    List<String> getRolePrivileges(SysRole sysRole);
+    List<SysRolePrivilege> getRolePrivileges(SysRole sysRole);
 
 
     List<PrivilegeDto> listPrivilegeTreeAuth();
     List<PrivilegeDto> listPrivilegeTreeAuth();
 
 

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysRolePrivilegeService.java

@@ -18,6 +18,8 @@ public interface SysRolePrivilegeService extends IService<SysRolePrivilege> {
 
 
     void removeByRoleId(Long id);
     void removeByRoleId(Long id);
 
 
+    void removeBySchoolIdAndRoleId(Long schoolId, Long roleId);
+
     boolean saveBatch(SysRole role);
     boolean saveBatch(SysRole role);
 
 
     List<SysRolePrivilege> listByRoleId(Long roleId);
     List<SysRolePrivilege> listByRoleId(Long roleId);

+ 3 - 13
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysPrivilegeServiceImpl.java

@@ -165,19 +165,9 @@ public class SysPrivilegeServiceImpl extends ServiceImpl<SysPrivilegeMapper, Sys
     }
     }
 
 
     @Override
     @Override
-    public List<String> getRolePrivileges(SysRole sysRole) {
-        Long schoolId = Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild()) ? Long.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString()) : null;
-        List<SysRolePrivilege> sysRolePrivileges = commonCacheService.rolePrivilegeCache(sysRole.getId());
-        List<String> list = new ArrayList<>();
-        if (!CollectionUtils.isEmpty(sysRolePrivileges)) {
-            // 内置角色,只返回内置角色对应权限,不显示学校编辑的权限
-            if (schoolId == null && sysRole.getDefaultRole()) {
-                list = sysRolePrivileges.stream().filter(m -> m.getSchoolId() == null).map(m -> String.valueOf(m.getPrivilegeId())).collect(Collectors.toList());
-            } else {
-                list = sysRolePrivileges.stream().map(m -> String.valueOf(m.getPrivilegeId())).collect(Collectors.toList());
-            }
-        }
-        return list;
+    public List<SysRolePrivilege> getRolePrivileges(SysRole sysRole) {
+
+        return commonCacheService.rolePrivilegeCache(sysRole.getId());
     }
     }
 
 
     @Override
     @Override

+ 31 - 13
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRolePrivilegeServiceImpl.java

@@ -46,8 +46,8 @@ public class SysRolePrivilegeServiceImpl extends ServiceImpl<SysRolePrivilegeMap
         Long schoolId = Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild()) ? Long.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString()) : null;
         Long schoolId = Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild()) ? Long.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString()) : null;
 
 
         List<SysRolePrivilege> sysRolePrivilegeList = commonCacheService.rolePrivilegeCache(role.getId());
         List<SysRolePrivilege> sysRolePrivilegeList = commonCacheService.rolePrivilegeCache(role.getId());
-        if(schoolId == null && role.getDefaultRole()){
-            sysRolePrivilegeList = sysRolePrivilegeList.stream().filter(m->m.getSchoolId() == null).collect(Collectors.toList());
+        if (schoolId == null && role.getDefaultRole()) {
+            sysRolePrivilegeList = sysRolePrivilegeList.stream().filter(m -> m.getSchoolId() == null).collect(Collectors.toList());
         }
         }
 
 
         QueryWrapper<SysPrivilege> sysPrivilegeQueryWrapper = new QueryWrapper<>();
         QueryWrapper<SysPrivilege> sysPrivilegeQueryWrapper = new QueryWrapper<>();
@@ -68,27 +68,33 @@ public class SysRolePrivilegeServiceImpl extends ServiceImpl<SysRolePrivilegeMap
         }
         }
         // 修改后权限集合
         // 修改后权限集合
         List<Long> relatedList = new ArrayList<>(finalRelatedSet);
         List<Long> relatedList = new ArrayList<>(finalRelatedSet);
-        int count = (int) sysRolePrivilegeList.stream().filter(s -> relatedList.contains(s.getPrivilegeId())).count();
+        List<Long> finalRelatedList = relatedList;
+        int count = (int) sysRolePrivilegeList.stream().filter(s -> finalRelatedList.contains(s.getPrivilegeId())).count();
         if (count != sysRolePrivilegeList.size() || count != finalRelatedSet.size()) {
         if (count != sysRolePrivilegeList.size() || count != finalRelatedSet.size()) {
-            List<SysRolePrivilege> list = new ArrayList<>();
             //学校角色编辑超管
             //学校角色编辑超管
-            if(role.getDefaultRole()){
+            if (role.getDefaultRole()) {
                 // 超管页面
                 // 超管页面
-                if(schoolId == null) {
-                    this.removeByRoleId(role.getId());
+                if (schoolId == null) {
+                    this.removeBySchoolIdAndRoleId(schoolId, role.getId());
                 }
                 }
                 // 学校页面
                 // 学校页面
                 else {
                 else {
-
+                    this.removeBySchoolIdAndRoleId(schoolId, role.getId());
+                    List<Long> sysRolePrivilegeIdList = sysRolePrivilegeList.stream().filter(m -> m.getSchoolId() == null).map(SysRolePrivilege::getPrivilegeId).collect(Collectors.toList());
+                    relatedList = relatedList.stream().filter(m -> !sysRolePrivilegeIdList.contains(m)).collect(Collectors.toList());
                 }
                 }
             } else {
             } else {
                 this.removeByRoleId(role.getId());
                 this.removeByRoleId(role.getId());
-                for (Long privilegeId : finalRelatedSet) {
-                    SysRolePrivilege sysRolePrivilege = new SysRolePrivilege();
-                    sysRolePrivilege.setRoleId(role.getId());
-                    sysRolePrivilege.setPrivilegeId(privilegeId);
-                    list.add(sysRolePrivilege);
+            }
+            List<SysRolePrivilege> list = new ArrayList<>();
+            for (Long privilegeId : relatedList) {
+                SysRolePrivilege sysRolePrivilege = new SysRolePrivilege();
+                sysRolePrivilege.setRoleId(role.getId());
+                sysRolePrivilege.setPrivilegeId(privilegeId);
+                if(role.getDefaultRole() && schoolId != null){
+                    sysRolePrivilege.setSchoolId(schoolId);
                 }
                 }
+                list.add(sysRolePrivilege);
             }
             }
             this.saveBatch(list);
             this.saveBatch(list);
             return true;
             return true;
@@ -96,6 +102,18 @@ public class SysRolePrivilegeServiceImpl extends ServiceImpl<SysRolePrivilegeMap
         return false;
         return false;
     }
     }
 
 
+    @Override
+    public void removeBySchoolIdAndRoleId(Long schoolId, Long roleId) {
+        UpdateWrapper<SysRolePrivilege> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(SysRolePrivilege::getRoleId, roleId);
+        if (schoolId == null) {
+            updateWrapper.lambda().isNull(SysRolePrivilege::getSchoolId);
+        } else {
+            updateWrapper.lambda().eq(SysRolePrivilege::getSchoolId, schoolId);
+        }
+        this.remove(updateWrapper);
+    }
+
     @Override
     @Override
     public List<SysRolePrivilege> listByRoleId(Long roleId) {
     public List<SysRolePrivilege> listByRoleId(Long roleId) {
         QueryWrapper<SysRolePrivilege> queryWrapper = new QueryWrapper<>();
         QueryWrapper<SysRolePrivilege> queryWrapper = new QueryWrapper<>();

+ 19 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRoleServiceImpl.java

@@ -12,6 +12,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.FieldUniqueEnum;
 import com.qmth.teachcloud.common.enums.FieldUniqueEnum;
+import com.qmth.teachcloud.common.enums.RoleSourceEnum;
 import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.mapper.SysRoleMapper;
 import com.qmth.teachcloud.common.mapper.SysRoleMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.service.*;
@@ -87,24 +88,30 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
             // 组装角色
             // 组装角色
             SysRole role = new SysRole();
             SysRole role = new SysRole();
             role.setId(sysRolePrivilegeParams.getId());
             role.setId(sysRolePrivilegeParams.getId());
-            role.setSchoolId(schoolId);
             role.setName(sysRolePrivilegeParams.getName());
             role.setName(sysRolePrivilegeParams.getName());
-            role.setInterpret(sysRolePrivilegeParams.getInterpret());
             role.setPrivilegeIds(sysRolePrivilegeParams.getPrivilegeIds().stream().map(SystemConstant::convertIdToLong).toArray(Long[]::new));
             role.setPrivilegeIds(sysRolePrivilegeParams.getPrivilegeIds().stream().map(SystemConstant::convertIdToLong).toArray(Long[]::new));
             role.setDefaultRole(sysRolePrivilegeParams.getDefaultRole() == null ? false : sysRolePrivilegeParams.getDefaultRole());
             role.setDefaultRole(sysRolePrivilegeParams.getDefaultRole() == null ? false : sysRolePrivilegeParams.getDefaultRole());
+            if (role.getDefaultRole()) {
+                role.setSource(RoleSourceEnum.SYS);
+                role.setInterpret("系统内置");
+            }
+            // 内置角色学校为null
+            role.setSchoolId(role.getDefaultRole() ? null : schoolId);
 
 
             List<SysRole> sysRoleList = this.list();
             List<SysRole> sysRoleList = this.list();
             // 内置角色检验
             // 内置角色检验
             if (role.getDefaultRole()) {
             if (role.getDefaultRole()) {
-                // 校验在内置角色中是否存在相同名称角色
-                List<SysRole> defaultRoleList = sysRoleList.stream().filter(m -> m.getSchoolId() == null && m.getName().equals(role.getName()) && !m.getId().equals(role.getId())).distinct().collect(Collectors.toList());
-                if (!CollectionUtils.isEmpty(defaultRoleList)) {
-                    throw ExceptionResultEnum.ERROR.exception("内置角色中已存在名称[" + role.getName() + "]的角色");
-                }
-                // 校验在学校角色中是否存在相同名称角色
-                List<SysRole> schoolRoleList = sysRoleList.stream().filter(m -> m.getSchoolId() != null && m.getName().equals(role.getName())).distinct().collect(Collectors.toList());
-                if (!CollectionUtils.isEmpty(schoolRoleList)) {
-                    throw ExceptionResultEnum.ERROR.exception("学校角色中已存在名称[" + role.getName() + "]的角色");
+                if (schoolId == null) {
+                    // 校验在内置角色中是否存在相同名称角色
+                    List<SysRole> defaultRoleList = sysRoleList.stream().filter(m -> m.getSchoolId() == null && m.getName().equals(role.getName()) && !m.getId().equals(role.getId())).distinct().collect(Collectors.toList());
+                    if (!CollectionUtils.isEmpty(defaultRoleList)) {
+                        throw ExceptionResultEnum.ERROR.exception("内置角色中已存在名称[" + role.getName() + "]的角色");
+                    }
+                    // 校验在学校角色中是否存在相同名称角色
+                    List<SysRole> schoolRoleList = sysRoleList.stream().filter(m -> m.getSchoolId() != null && m.getName().equals(role.getName())).distinct().collect(Collectors.toList());
+                    if (!CollectionUtils.isEmpty(schoolRoleList)) {
+                        throw ExceptionResultEnum.ERROR.exception("学校角色中已存在名称[" + role.getName() + "]的角色");
+                    }
                 }
                 }
             } else {
             } else {
                 // 校验在内置角色中是否存在相同名称角色
                 // 校验在内置角色中是否存在相同名称角色
@@ -113,7 +120,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
                     throw ExceptionResultEnum.ERROR.exception("内置角色中已存在名称[" + role.getName() + "]的角色");
                     throw ExceptionResultEnum.ERROR.exception("内置角色中已存在名称[" + role.getName() + "]的角色");
                 }
                 }
                 // 校验在学校角色中是否存在相同名称角色
                 // 校验在学校角色中是否存在相同名称角色
-                List<SysRole> schoolRoleList = sysRoleList.stream().filter(m -> m.getSchoolId().equals(schoolId) && m.getName().equals(role.getName()) && !m.getId().equals(role.getId())).distinct().collect(Collectors.toList());
+                List<SysRole> schoolRoleList = sysRoleList.stream().filter(m -> schoolId.equals(m.getSchoolId()) && m.getName().equals(role.getName()) && !m.getId().equals(role.getId())).distinct().collect(Collectors.toList());
                 if (!CollectionUtils.isEmpty(schoolRoleList)) {
                 if (!CollectionUtils.isEmpty(schoolRoleList)) {
                     throw ExceptionResultEnum.ERROR.exception("学校角色中已存在名称[" + role.getName() + "]的角色");
                     throw ExceptionResultEnum.ERROR.exception("学校角色中已存在名称[" + role.getName() + "]的角色");
                 }
                 }

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/CloudMarkingTaskUtils.java

@@ -687,7 +687,7 @@ public class CloudMarkingTaskUtils {
             Map<String, Object> map = new HashMap<>();
             Map<String, Object> map = new HashMap<>();
             map.put("redirectUrl", postUrl);
             map.put("redirectUrl", postUrl);
             map.put("account", prefix + sysUser.getLoginName());
             map.put("account", prefix + sysUser.getLoginName());
-            map.put("name", sysUser.getLoginName());
+            map.put("name", sysUser.getRealName());
             map.put("time", time);
             map.put("time", time);
             if (this.isCollegeMode(sysUser.getSchoolId())) {
             if (this.isCollegeMode(sysUser.getSchoolId())) {
                 map.put("schoolCode", orgCode);
                 map.put("schoolCode", orgCode);

+ 1 - 1
teachcloud-common/src/main/resources/mapper/SysRoleMapper.xml

@@ -70,7 +70,7 @@
                 and t.enable = #{enable}
                 and t.enable = #{enable}
             </if>
             </if>
             ) t
             ) t
-        ORDER BY t.create_time
+        ORDER BY t.default_role desc, t.create_time
     </select>
     </select>
 
 
     <select id="listRolesBySchoolId" resultMap="BaseResultMap">
     <select id="listRolesBySchoolId" resultMap="BaseResultMap">

+ 6 - 1
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/SysPrivilegeController.java

@@ -4,6 +4,7 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysPrivilege;
 import com.qmth.teachcloud.common.entity.SysPrivilege;
 import com.qmth.teachcloud.common.entity.SysRole;
 import com.qmth.teachcloud.common.entity.SysRole;
+import com.qmth.teachcloud.common.entity.SysRolePrivilege;
 import com.qmth.teachcloud.common.service.SysPrivilegeService;
 import com.qmth.teachcloud.common.service.SysPrivilegeService;
 import com.qmth.teachcloud.common.service.SysRoleService;
 import com.qmth.teachcloud.common.service.SysRoleService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.Result;
@@ -14,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -90,7 +93,9 @@ public class SysPrivilegeController {
     @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
     @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
     public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
     public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
         SysRole sysRole = sysRoleService.getById(roleId);
         SysRole sysRole = sysRoleService.getById(roleId);
-        return ResultUtil.ok(sysPrivilegeService.getRolePrivileges(sysRole));
+        List<SysRolePrivilege> sysRolePrivilegeList = sysPrivilegeService.getRolePrivileges(sysRole);
+        List<String> privilegeIds = sysRolePrivilegeList.stream().map(m -> String.valueOf(m.getPrivilegeId())).collect(Collectors.toList());
+        return ResultUtil.ok(privilegeIds);
     }
     }
 }
 }