浏览代码

Merge remote-tracking branch 'origin/dev_v3.2.2' into dev_v3.2.2

wangliang 2 年之前
父节点
当前提交
daebaae77a

+ 11 - 10
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -1229,18 +1229,19 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
 
     @Override
     @Override
     public String createCourseSequence(Long schoolId, String courseCode) {
     public String createCourseSequence(Long schoolId, String courseCode) {
-        String sequence = "1";
-        QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(ExamTask::getSchoolId, schoolId).eq(ExamTask::getCourseCode, courseCode);
-        List<ExamTask> examTasks = examTaskService.list(queryWrapper);
-        if (examTasks != null && examTasks.size() > 0) {
-            String maxSequence = examTasks.stream().max(Comparator.comparing(ExamTask::getSequence)).get().getSequence();
-            if (StringUtils.isNotBlank(maxSequence)) {
-                String incMaxSequence = String.valueOf(Integer.parseInt(maxSequence) + 1);
-                return incMaxSequence;
+        String sequence = commonCacheService.addExamTaskSequence(schoolId, courseCode);
+        if ("0".equals(sequence)) {
+            QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(ExamTask::getSchoolId, schoolId).eq(ExamTask::getCourseCode, courseCode);
+            List<ExamTask> examTasks = examTaskService.list(queryWrapper);
+            if (examTasks != null && examTasks.size() > 0) {
+                String maxSequence = examTasks.stream().max(Comparator.comparing(ExamTask::getSequence)).get().getSequence();
+                if (StringUtils.isNotBlank(maxSequence)) {
+                    sequence = maxSequence;
+                }
             }
             }
         }
         }
-        return sequence;
+        return commonCacheService.updateExamTaskSequence(schoolId, courseCode, sequence);
     }
     }
 
 
     @Override
     @Override

+ 4 - 4
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -427,8 +427,8 @@
             b.exam_end_time examEndTime,
             b.exam_end_time examEndTime,
             b.exam_place examPlace,
             b.exam_place examPlace,
             COUNT(b.package_code) packageCount,
             COUNT(b.package_code) packageCount,
-            GROUP_CONCAT(c.course_name_code) courseNameCode,
-            GROUP_CONCAT(c.paper_number) paperNumber,
+            GROUP_CONCAT(distinct c.course_name_code) courseNameCode,
+            GROUP_CONCAT(distinct c.paper_number) paperNumber,
             SUM(b.total_subjects) totalSubjects,
             SUM(b.total_subjects) totalSubjects,
             SUM(CASE b.status
             SUM(CASE b.status
                 WHEN 'FINISH' THEN 0
                 WHEN 'FINISH' THEN 0
@@ -454,8 +454,8 @@
                 JOIN
                 JOIN
             (SELECT
             (SELECT
                 exam_detail_id,
                 exam_detail_id,
-                    GROUP_CONCAT(CONCAT(a.course_name, '(', a.course_code, ')')) course_name_code,
-                    GROUP_CONCAT(a.paper_number) paper_number
+                    GROUP_CONCAT(distinct CONCAT(a.course_name, '(', a.course_code, ')')) course_name_code,
+                    GROUP_CONCAT(distinct a.paper_number) paper_number
                 FROM
                 FROM
                     exam_detail_course a
                     exam_detail_course a
                     <where>
                     <where>

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -319,6 +319,8 @@ public class SystemConstant {
     public static final String NUMBER_CACHE = "school:number:cache:";
     public static final String NUMBER_CACHE = "school:number:cache:";
     public static final String ORG_COLLEGE_LEVEL_CACHE = "org:college:level:cache";
     public static final String ORG_COLLEGE_LEVEL_CACHE = "org:college:level:cache";
 
 
+    public static final String EXAM_TASK_SEQUENCE_CACHE = "exam:task:sequence:cache";
+
     /**
     /**
      * 报表缓存
      * 报表缓存
      */
      */

+ 20 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/CommonCacheService.java

@@ -33,6 +33,7 @@ public interface CommonCacheService {
      */
      */
     public SysRole updateRoleCache(Long roleId);
     public SysRole updateRoleCache(Long roleId);
 
 
+
     /**
     /**
      * 删除角色缓存
      * 删除角色缓存
      *
      *
@@ -503,4 +504,23 @@ public interface CommonCacheService {
      * @return
      * @return
      */
      */
     void removeCustomRoleCache();
     void removeCustomRoleCache();
+
+    /**
+     * 命题任务序号查询
+     *
+     * @param schoolId   学校ID
+     * @param courseCode 课程代码
+     * @return int
+     */
+    public String addExamTaskSequence(Long schoolId, String courseCode);
+
+    /**
+     * 命题任务序号修改
+     *
+     * @param schoolId   学校ID
+     * @param courseCode 课程代码
+     * @param value      新值
+     * @return int
+     */
+    public String updateExamTaskSequence(Long schoolId, String courseCode, String value);
 }
 }

+ 26 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/CommonCacheServiceImpl.java

@@ -7,6 +7,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.PrivilegePropertyEnum;
 import com.qmth.teachcloud.common.enums.PrivilegePropertyEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.service.*;
+import io.swagger.models.auth.In;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.cache.CacheManager;
 import org.springframework.cache.CacheManager;
@@ -762,4 +763,29 @@ public class CommonCacheServiceImpl implements CommonCacheService {
     public void removeCustomRoleCache() {
     public void removeCustomRoleCache() {
 
 
     }
     }
+
+    /**
+     * 命题任务序号查询
+     *
+     * @param schoolId   学校ID
+     * @param courseCode 课程代码
+     */
+    @Override
+    @Cacheable(value = SystemConstant.EXAM_TASK_SEQUENCE_CACHE, key = "#schoolId+'-'+#courseCode")
+    public String addExamTaskSequence(Long schoolId, String courseCode) {
+        return "0";
+    }
+
+    /**
+     * 命题任务序号自增
+     *
+     * @param schoolId   学校ID
+     * @param courseCode 课程代码
+     * @return int
+     */
+    @Override
+    @CachePut(value = SystemConstant.EXAM_TASK_SEQUENCE_CACHE, key = "#schoolId+'-'+#courseCode")
+    public String updateExamTaskSequence(Long schoolId, String courseCode, String value) {
+        return String.valueOf(Integer.valueOf(value) + 1);
+    }
 }
 }