caozixuan 3 жил өмнө
parent
commit
5f3fda295c

+ 13 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java

@@ -12,7 +12,6 @@ import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -55,7 +54,6 @@ public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, B
         examRule.setSchoolId(schoolId);
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
 
-        // 已开始新建印刷计划,不能新增、删除扩展字段
         // 新增
         if (examRule.getId() == null) {
             examRule.setId(SystemConstant.getDbUuid());
@@ -70,6 +68,7 @@ public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, B
             queryWrapper.lambda().eq(ExamPrintPlan::getSchoolId, schoolId).ne(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END);
             List<ExamPrintPlan> examPrintPlanList = examPrintPlanService.list(queryWrapper);
             if (examPrintPlanList != null && examPrintPlanList.size() > 0) {
+                // -- 可直接抛出异常下面的判断均可不用执行
                 BasicExamRule basicExamRule = this.getById(examRule.getId());
                 // 匹配扩展字段是否有变动
                 String oldExtends = basicExamRule.getExtendFields();
@@ -98,6 +97,18 @@ public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, B
                         throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改扩展字段");
                     }
                 }
+                if (!basicExamRule.getReview().equals(examRule.getReview())){
+                    throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改入库审核控制");
+                }
+                if (!basicExamRule.getIncludePaper().equals(examRule.getIncludePaper())){
+                    throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改包含试卷控制");
+                }
+                if (!basicExamRule.getCustomCard().equals(examRule.getCustomCard())){
+                    throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改客服制卡控制");
+                }
+                if (!basicExamRule.getPrintMethod().equals(examRule.getPrintMethod())){
+                    throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改印刷方式控制");
+                }
             }
             examRule.setUpdateId(sysUser.getId());
             examRule.setUpdateTime(System.currentTimeMillis());

+ 27 - 27
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java

@@ -49,38 +49,38 @@ public class BasicCourseController {
     @Resource
     private AsyncCourseDataImportService asyncCourseDataImportService;
 
-    /**
-     * 查询
-     *
-     * @param code
-     * @param name
-     * @param pageNumber
-     * @param pageSize
-     * @return
-     */
-    @ApiOperation(value = "查询")
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public Result list(@RequestParam(value = "code", required = false) String code,
-                       @RequestParam(value = "name", required = false) String name,
-                       @RequestParam Integer pageNumber,
-                       @RequestParam Integer pageSize) {
-        IPage<BasicCourse> userDtos = printCommonService.list(code, name, pageNumber, pageSize);
-        return ResultUtil.ok(userDtos);
-    }
-
 //    /**
-//     * 模糊查询
+//     * 查询
 //     *
-//     * @param param
+//     * @param code
+//     * @param name
+//     * @param pageNumber
+//     * @param pageSize
 //     * @return
 //     */
-//    @ApiOperation(value = "模糊查询")
-//    @RequestMapping(value = "/query", method = RequestMethod.POST)
-//    public Result query(@RequestParam(value = "param", required = false) String param,
-//                        @RequestParam(value = "printPlanId", required = false) Long printPlanId) {
-//        List<BasicCourse> userDtos = printCommonService.list(param, printPlanId);
+//    @ApiOperation(value = "查询")
+//    @RequestMapping(value = "/list", method = RequestMethod.POST)
+//    public Result list(@RequestParam(value = "code", required = false) String code,
+//                       @RequestParam(value = "name", required = false) String name,
+//                       @RequestParam Integer pageNumber,
+//                       @RequestParam Integer pageSize) {
+//        IPage<BasicCourse> userDtos = printCommonService.list(code, name, pageNumber, pageSize);
 //        return ResultUtil.ok(userDtos);
 //    }
+
+    /**
+     * 模糊查询
+     *
+     * @param param
+     * @return
+     */
+    @ApiOperation(value = "模糊查询")
+    @RequestMapping(value = "/query", method = RequestMethod.POST)
+    public Result query(@RequestParam(value = "param", required = false) String param,
+                        @RequestParam(value = "printPlanId", required = false) Long printPlanId) {
+        List<BasicCourse> userDtos = printCommonService.list(param, printPlanId);
+        return ResultUtil.ok(userDtos);
+    }
 //
 //    /**
 //     * 新增/修改
@@ -113,7 +113,7 @@ public class BasicCourseController {
 
 
     @ApiOperation(value = "课程管理-查询")
-    @RequestMapping(value = "/query", method = RequestMethod.POST)
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     public Result findBasicCampusList(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) String courseName,
                                       @ApiParam(value = "创建时间(起始位置)") @RequestParam(required = false) String startCreateTime,

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

@@ -1,8 +1,6 @@
 package com.qmth.distributed.print.api;
 
 
-import com.qmth.boot.api.annotation.Aac;
-import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.entity.BasicExamRule;
 import com.qmth.distributed.print.business.service.BasicExamRuleService;
@@ -57,5 +55,4 @@ public class BasicExamRuleController {
         return ResultUtil.ok(id, "");
     }
 
-}
-
+}

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

@@ -24,10 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -84,6 +81,9 @@ public class ExamDetailController {
                                        @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
 
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        if (Objects.isNull(printPlanIdList)){
+            printPlanIdList = new ArrayList<>();
+        }
         List<Long> idList = printPlanIdList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         return ResultUtil.ok(examDetailService.findExaminationBriefPage(schoolId,
@@ -103,6 +103,9 @@ public class ExamDetailController {
                                      @ApiParam(value = "考试日期-终止") @RequestParam(required = false) Long endDate) {
 
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        if (Objects.isNull(printPlanIdList)){
+            printPlanIdList = new ArrayList<>();
+        }
         List<Long> idList = printPlanIdList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         return ResultUtil.ok(examDetailService.findSummarizedData(schoolId, idList, courseCode, paperNumber, examPlace, examRoom, packageCode,startDate,endDate, orgIds));
@@ -122,6 +125,9 @@ public class ExamDetailController {
                                         @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                         @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
 
+        if (Objects.isNull(printPlanIdList)){
+            printPlanIdList = new ArrayList<>();
+        }
         List<Long> idList = printPlanIdList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         return ResultUtil.ok(examDetailService.findExaminationDetail(schoolId, idList,

+ 7 - 7
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java

@@ -1,8 +1,6 @@
 package com.qmth.distributed.print.api;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.qmth.boot.api.annotation.Aac;
-import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
@@ -11,7 +9,6 @@ import com.qmth.distributed.print.business.bean.dto.RelatePaperDto;
 import com.qmth.distributed.print.business.bean.params.DeleteParams;
 import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
-import com.qmth.distributed.print.business.bean.params.SyncDataParam;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
@@ -39,10 +36,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -85,6 +79,9 @@ public class ExamPrintPlanController {
                                     @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
 
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        if (Objects.isNull(printPlanIdList)){
+            printPlanIdList = new ArrayList<>();
+        }
         List<Long> idList = printPlanIdList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
         return ResultUtil.ok(examPrintPlanService.printPlanPage(schoolId, idList, status, startTime, endTime, pageNumber, pageSize));
     }
@@ -151,6 +148,9 @@ public class ExamPrintPlanController {
                              @RequestParam(value = "cardRuleName", required = false) String cardRuleName,
                              @RequestParam Integer pageNumber,
                              @RequestParam Integer pageSize) {
+        if (Objects.isNull(printPlanIdList)){
+            printPlanIdList = new ArrayList<>();
+        }
         List<Long> idList = printPlanIdList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
         IPage<ExamTaskDetailDto> examTasks = examTaskDetailService.list(relateType, idList, courseCode, paperNumber,userName,cardRuleName, pageNumber, pageSize);
         return ResultUtil.ok(examTasks);

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

@@ -55,7 +55,7 @@ import java.util.*;
 @Api(tags = "命题任务Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/task")
-@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
+//@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
 public class ExamTaskController {
 
     @Autowired

+ 78 - 0
distributed-print/src/test/java/com/qmth/distributed/print/AuthHelpTest.java

@@ -0,0 +1,78 @@
+package com.qmth.distributed.print;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.*;
+import com.qmth.teachcloud.common.enums.PrivilegeEnum;
+import com.qmth.teachcloud.common.service.*;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Description: 专门用来插入权限的帮助类
+ * @Author: CaoZixuan
+ * @Date: 2021-08-11
+ */
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class AuthHelpTest {
+    @Resource
+    SysUserService sysUserService;
+    @Resource
+    SysRoleService sysRoleService;
+    @Resource
+    SysUserRoleService sysUserRoleService;
+    @Resource
+    SysRolePrivilegeService sysRolePrivilegeService;
+    @Resource
+    SysPrivilegeService sysPrivilegeService;
+
+    @Test
+    public void createUserPrivilege(){
+        Long userId = 10L;
+        Long roleId = 2L;
+        List<Long> privilegeIdList = new ArrayList<>();
+        for (int i = 1; i<378 ;i ++){
+            privilegeIdList.add((long) i);
+        }
+
+
+        List<SysRolePrivilege> sysRolePrivilegeList = new ArrayList<>();
+        List<SysUserRole> sysUserRoleList = new ArrayList<>();
+
+
+        for (Long privilegeId : privilegeIdList) {
+            SysPrivilege sysPrivilege = sysPrivilegeService.getById(privilegeId);
+            if (Objects.isNull(sysPrivilege) || sysPrivilege.getType().equals(PrivilegeEnum.MENU)){
+                continue;
+            }
+            // 创建'sys_role_privilege' 表
+            SysRolePrivilege sysRolePrivilege = new SysRolePrivilege();
+            sysRolePrivilege.setEnable(true);
+            sysRolePrivilege.setId(SystemConstant.getDbUuid());
+            sysRolePrivilege.setPrivilegeId(privilegeId);
+            sysRolePrivilege.setRoleId(roleId);
+            sysRolePrivilegeList.add(sysRolePrivilege);
+
+            // 创建 'sys_user_role' 表
+            SysUserRole sysUserRole = new SysUserRole();
+            sysUserRole.setEnable(true);
+            sysUserRole.setId(SystemConstant.getDbUuid());
+            sysUserRole.setPrivilegeId(privilegeId);
+            sysUserRole.setRoleId(roleId);
+            sysUserRole.setUserId(userId);
+            sysUserRoleList.add(sysUserRole);
+        }
+        sysRolePrivilegeService.remove(new QueryWrapper<SysRolePrivilege>().lambda().eq(SysRolePrivilege::getRoleId,roleId));
+        sysUserRoleService.remove(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId,userId));
+        sysRolePrivilegeService.saveBatch(sysRolePrivilegeList);
+        sysUserRoleService.saveBatch(sysUserRoleList);
+    }
+}