فهرست منبع

3.1.0-保存source值

xiaof 3 سال پیش
والد
کامیت
172b7461c8

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/DataSyncReportServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qmth.distributed.print.business.entity.GradeBatch;
 import com.qmth.distributed.print.business.entity.GradeBatchPaper;
 import com.qmth.distributed.print.business.entity.TBSyncTask;
@@ -15,6 +16,8 @@ import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.enums.TaskStatusEnum;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.sync.TeachCloudReportTaskUtils;
+import com.qmth.teachcloud.common.util.Base64Util;
+import com.qmth.teachcloud.common.util.ShaUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Async;
@@ -130,6 +133,7 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
         TaskResultEnum result = null;
         TaskStatusEnum status;
         String errorMessage = null;
+        String source = null;
         Long schoolId = tbSyncTask.getSchoolId();
         try {
             // 同步中
@@ -144,6 +148,7 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
             }
 
             List<String> courseCodes = gradeBatchPaperList.stream().map(m -> m.getPaperNumber() + m.getPaperType()).collect(Collectors.toList());
+            source = Base64Util.encode(ShaUtils.sha1(gradeBatch.getThirdExamId() + courseCodes.toString()));
             teachCloudReportTaskUtils.startCalc(schoolId, gradeBatch.getThirdExamId(), courseCodes);
             // 任务结果
             result = TaskResultEnum.SUCCESS;
@@ -157,6 +162,12 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
             // 同步结束
             status = TaskStatusEnum.FINISH;
             tbSyncTaskService.updateStatusAndResultById(tbSyncTask.getId(), null, status, result, errorMessage);
+
+            if(source != null){
+                UpdateWrapper<GradeBatch> updateWrapper = new UpdateWrapper<>();
+                updateWrapper.lambda().set(GradeBatch::getSource, source).eq(GradeBatch::getId, gradeBatch.getId());
+                gradeBatchService.update(updateWrapper);
+            }
         }
     }
 }