فهرست منبع

Merge branch 'dev_v3.3.1' into dev_v3.3.2

xiaofei 1 سال پیش
والد
کامیت
11dd3136e4

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

@@ -25,5 +25,5 @@ public interface ExamCardMapper extends BaseMapper<ExamCard> {
 
     IPage<ExamCard> listPage(@Param("page") Page<ExamCard> page, @Param("schoolId") Long schoolId, @Param("cardType") String cardType, @Param("title") String title, @Param("createMethod") String createMethod, @Param("enable") Boolean enable, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime, @Param("dpr") DataPermissionRule dpr);
 
-    List<ExamCard> listCustomByExamStage(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("type") String type);
+    List<ExamCard> listCustomByExamStage(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("type") String type);
 }

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

@@ -23,7 +23,7 @@ public interface ExamCardService extends IService<ExamCard> {
 
     Map<String, String> saveExamCard(ExamCardParams examCardParams) throws Exception;
 
-    List<ExamCard> listSelectCard(String courseCode, Long cardRuleId, String paperNumber);
+    List<ExamCard> listSelectCard(String courseCode, Long examId, String paperNumber);
 
     IPage<ExamCard> listPage(String cardType, String title, String createMethod, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize);
 

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

@@ -150,7 +150,7 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
                 markPaper = new MarkPaper(basicExamStudent.getExamId(), basicExamStudent.getCourseCode(), basicCourse.getName(), basicExamStudent.getPaperNumber(), String.valueOf(System.currentTimeMillis()), requestUser.getId(), SystemConstant.DEFAULT_PAPER_TYPE_A);
                 markPaperService.save(markPaper);
             }
-        } else if (ExamModelEnum.MODEL1.equals(basicExam.getExamModel())) {
+        } else {
             if (StringUtils.isNotBlank(basicExamStudent.getPaperNumber())) {
                 markPaper = markPaperService.getByExamIdAndPaperNumber(basicExamStudent.getExamId(), basicExamStudent.getPaperNumber());
             }

+ 4 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientUpgradeServiceImpl.java

@@ -85,11 +85,11 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
                 parentDirVar = SystemConstant.getFileTempDirVar(SystemConstant.ZIP_PREFIX);
 //                file.transferTo(parentDirVar);
                 FileUtils.copyToFile(file.getInputStream(), parentDirVar);
-                ZipReader zipReader1 = new ZipReader(parentDirVar);
+                ZipReader zipReader = new ZipReader(parentDirVar);
                 String mainfestJson = "mainfest.json";
 
                 // 读取指定文件内容mainfest.josn
-                String mainfestContent = readMainfest(zipReader1.read(mainfestJson));
+                String mainfestContent = readMainfest(zipReader.read(mainfestJson));
                 if (StringUtils.isBlank(mainfestContent)) {
                     throw ExceptionResultEnum.ERROR.exception("读取mainfest.json文件内容失败");
                 }
@@ -116,7 +116,6 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
                 clientUpgrade.setUpgradePath(JSON.toJSONString(filePathVo));
 
                 // 上传mainfest.json文件
-                ZipReader zipReader = new ZipReader(parentDirVar);
                 String mainfestPathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "update", platform, version, String.valueOf(build)) + mainfestJson;
                 FilePathVo mainfestPathVo = fileUploadService.uploadFile(zipReader.read(mainfestJson), UploadFileEnum.UPGRADE, mainfestPathName, DigestUtils.md5Hex(zipReader.read(mainfestJson)));
                 clientUpgrade.setMainfestPath(JSON.toJSONString(mainfestPathVo));
@@ -145,7 +144,7 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
             }
             // 保存或更新
             this.saveOrUpdate(clientUpgrade);
-        } catch (IOException e) {
+        } catch (Exception e) {
             throw ExceptionResultEnum.ERROR.exception(type.getName() + "上传失败:" + e.getMessage());
         } finally {
             if (parentDirVar != null) {
@@ -159,7 +158,7 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
             return;
         }
         // 上传
-        String filePath = pathType + File.separator + fileName;
+        String filePath = FileUtil.replaceSplit(pathType + File.separator + fileName);
         String dataPathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "update", platform, version, String.valueOf(build), pathType) + fileName;
         try {
             fileUploadService.uploadFile(zipReader.read(filePath), UploadFileEnum.UPGRADE, dataPathName, DigestUtils.md5Hex(zipReader.read(filePath)));

+ 7 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -26,6 +26,7 @@ import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicPrintConfig;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.CardCreateMethodEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -81,6 +82,8 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     private FileUploadService fileUploadService;
     @Resource
     private ScanAnswerCardService scanAnswerCardService;
+    @Resource
+    private BasicPrintConfigService basicPrintConfigService;
 
     @Transactional
     @Override
@@ -163,9 +166,10 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     }
 
     @Override
-    public List<ExamCard> listSelectCard(String courseCode, Long cardRuleId, String paperNumber) {
+    public List<ExamCard> listSelectCard(String courseCode, Long examId, String paperNumber) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examId);
+        Long cardRuleId = basicPrintConfig.getCardRuleId();
 
         // 通用题卡
         List<ExamCard> list = new ArrayList<>();
@@ -183,7 +187,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         }
 
         // 命题任务未提交的任务,单独查询题卡
-        List<ExamCard> customCards = this.baseMapper.listCustomByExamStage(schoolId, courseCode, paperNumber, CardTypeEnum.CUSTOM.name());
+        List<ExamCard> customCards = this.baseMapper.listCustomByExamStage(schoolId, examId, courseCode, paperNumber, CardTypeEnum.CUSTOM.name());
         if (!customCards.isEmpty()) {
             for (ExamCard customCard : customCards) {
                 long count = list.stream().filter(m -> m.getId().equals(customCard.getId())).count();

+ 2 - 1
distributed-print-business/src/main/resources/mapper/ExamCardMapper.xml

@@ -116,7 +116,8 @@
                               exam_task_detail b
                                   LEFT JOIN exam_task et on b.exam_task_id = et.id
                           WHERE
-                              et.paper_number = #{paperNumber}
+                                et.exam_id = #{examId}
+                              and et.paper_number = #{paperNumber}
                             and FIND_IN_SET(a.id, REPLACE(REPLACE(substring_index(substring_index(CONVERT((b.paper_attachment_ids ->>'$[*].cardId') USING utf8), ']', 1), '[',-1),' "','"'),'"','')))
         order by a.create_time desc
     </select>

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

@@ -136,9 +136,8 @@ public class ExamCardController {
      */
     @ApiOperation(value = "选择已有题卡列表")
     @RequestMapping(value = "/select_card_list", method = RequestMethod.POST)
-    public Result selectCardList(@RequestParam String examId, @RequestParam String courseCode, @RequestParam(required = false) String paperNumber) {
-        BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(SystemConstant.convertIdToLong(examId));
-        List<ExamCard> list = examCardService.listSelectCard(courseCode, basicPrintConfig.getCardRuleId(), paperNumber);
+    public Result selectCardList(@RequestParam Long examId, @RequestParam String courseCode, @RequestParam(required = false) String paperNumber) {
+        List<ExamCard> list = examCardService.listSelectCard(courseCode, examId, paperNumber);
         return ResultUtil.ok(list);
     }
 

+ 2 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java

@@ -169,8 +169,9 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
         if (count > 0) {
             throw ExceptionResultEnum.ERROR.exception("删除评卷员失败,该评卷员已开始评卷");
         } else {
-            this.removeById(markUserGroupId);
+            // 先回收,再删除
             releaseMarker(Arrays.asList(markUserGroupId));
+            this.removeById(markUserGroupId);
         }
     }