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

3.4.4 update-20250516 数据同步bug修复

xiaofei 1 сар өмнө
parent
commit
15f9f71f7a

+ 2 - 1
distributed-print/install/mysql/init/teachcloud_db.sql

@@ -6407,7 +6407,8 @@ CREATE TABLE IF NOT EXISTS `t_sync_data_student`
     `xqm`                  varchar(45)   DEFAULT NULL COMMENT '学期名',
     `xqm`                  varchar(45)   DEFAULT NULL COMMENT '学期名',
     `exam_date`            varchar(45)   DEFAULT NULL COMMENT '考试日期',
     `exam_date`            varchar(45)   DEFAULT NULL COMMENT '考试日期',
     `exam_time`            varchar(45)   DEFAULT NULL COMMENT '考试时间',
     `exam_time`            varchar(45)   DEFAULT NULL COMMENT '考试时间',
-    PRIMARY KEY (`id`) USING BTREE
+    PRIMARY KEY (`id`) USING BTREE,
+    INDEX `idx_1`(`exam_id` ASC) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='数据同步考生';
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='数据同步考生';
 
 
 -- ----------------------------
 -- ----------------------------

+ 2 - 1
distributed-print/install/mysql/upgrade/3.4.3.sql

@@ -63,7 +63,8 @@ CREATE TABLE `t_sync_data_student`  (
         `jxbzc` VARCHAR(2000) NULL COMMENT '教学班组成',
         `jxbzc` VARCHAR(2000) NULL COMMENT '教学班组成',
         `xnm` VARCHAR(45) NULL COMMENT '学年名',
         `xnm` VARCHAR(45) NULL COMMENT '学年名',
         `xqm` VARCHAR(45) NULL COMMENT '学期名',
         `xqm` VARCHAR(45) NULL COMMENT '学期名',
-        PRIMARY KEY (`id`) USING BTREE
+        PRIMARY KEY (`id`) USING BTREE,
+        INDEX `idx_1`(`exam_id` ASC) USING BTREE
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据同步考生' ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据同步考生' ROW_FORMAT = Dynamic;
 
 
 ALTER TABLE `basic_message`
 ALTER TABLE `basic_message`

+ 1 - 0
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/TSyncDataStudentService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface TSyncDataStudentService extends IService<TSyncDataStudent> {
 public interface TSyncDataStudentService extends IService<TSyncDataStudent> {
 
 
+    void deleteByExamId(Long examId);
 }
 }

+ 2 - 1
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/DataServiceImpl.java

@@ -240,7 +240,7 @@ public class DataServiceImpl implements DataService {
             }
             }
             log.info("考生同步:处理考试时间结束");
             log.info("考生同步:处理考试时间结束");
             log.info("考生同步:删除临时表数据开始");
             log.info("考生同步:删除临时表数据开始");
-            tSyncDataStudentService.remove(new UpdateWrapper<TSyncDataStudent>().lambda().eq(TSyncDataStudent::getSchoolId, schoolId).eq(TSyncDataStudent::getExamId, examId));
+            tSyncDataStudentService.deleteByExamId(examId);
             log.info("考生同步:删除临时表数据结束");
             log.info("考生同步:删除临时表数据结束");
             log.info("考生同步:插入临时表数据开始");
             log.info("考生同步:插入临时表数据开始");
             tSyncDataStudentService.saveOrUpdateBatch(dataVoList);
             tSyncDataStudentService.saveOrUpdateBatch(dataVoList);
@@ -258,6 +258,7 @@ public class DataServiceImpl implements DataService {
             errMsg = errMsg == null && map.containsKey("errMsg") ? map.get("errMsg").toString() : errMsg;
             errMsg = errMsg == null && map.containsKey("errMsg") ? map.get("errMsg").toString() : errMsg;
             long endTime = System.currentTimeMillis();
             long endTime = System.currentTimeMillis();
             tSyncDataLogService.saveLog(schoolId, examId, DataType.D.name(), startTime, endTime, dataVoList.size(), successCount, errMsg);
             tSyncDataLogService.saveLog(schoolId, examId, DataType.D.name(), startTime, endTime, dataVoList.size(), successCount, errMsg);
+            tSyncDataStudentService.deleteByExamId(examId);
             log.info("考生同步:保存日志数据结束");
             log.info("考生同步:保存日志数据结束");
         }
         }
         return new SyncDataResult(successCount, errMsg);
         return new SyncDataResult(successCount, errMsg);

+ 7 - 0
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/TSyncDataStudentServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.data.service.impl;
 package com.qmth.teachcloud.data.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qmth.teachcloud.common.bean.sync.TSyncDataStudent;
 import com.qmth.teachcloud.common.bean.sync.TSyncDataStudent;
 import com.qmth.teachcloud.data.mapper.TSyncDataStudentMapper;
 import com.qmth.teachcloud.data.mapper.TSyncDataStudentMapper;
 import com.qmth.teachcloud.data.service.TSyncDataStudentService;
 import com.qmth.teachcloud.data.service.TSyncDataStudentService;
@@ -17,4 +18,10 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class TSyncDataStudentServiceImpl extends ServiceImpl<TSyncDataStudentMapper, TSyncDataStudent> implements TSyncDataStudentService {
 public class TSyncDataStudentServiceImpl extends ServiceImpl<TSyncDataStudentMapper, TSyncDataStudent> implements TSyncDataStudentService {
 
 
+    @Override
+    public void deleteByExamId(Long examId) {
+        UpdateWrapper<TSyncDataStudent> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(TSyncDataStudent::getExamId, examId);
+        this.remove(updateWrapper);
+    }
 }
 }