Преглед на файлове

修改完成返回逻辑

欧阳劲驰 преди 2 месеца
родител
ревизия
65d082aece
променени са 1 файла, в които са добавени 11 реда и са изтрити 4 реда
  1. 11 4
      src/main/java/com/shkpr/service/alambizplugin/bizservice/GisSurveyThirdImportBizService.java

+ 11 - 4
src/main/java/com/shkpr/service/alambizplugin/bizservice/GisSurveyThirdImportBizService.java

@@ -68,13 +68,20 @@ public class GisSurveyThirdImportBizService {
     public GisSurveyThirdImportResult thirdImport(GisSurveyThirdImportParams params) {
         //获取已存在的任务
         ListenableFuture<GisSurveyThirdImportResult> previousFuture = TASK_CACHE.get(params.getJobId());
-        //如任务已完成,则检查历史失败
-        if (!params.getIgnoreFail() && previousFuture != null && previousFuture.isDone()) {
+
+        //判断完成
+        if (previousFuture != null && previousFuture.isDone()) {
             try {
-                //获取结果,并检查失败
+                //获取结果
                 GisSurveyThirdImportResult thirdImportResult = previousFuture.get();
-                if (Objects.equals(thirdImportResult.getImportStatus(), GisSurveyImportStatusEnum.FAIL.getCode()))
+                //如不忽略失败,且失败,则返回失败
+                if (!params.getIgnoreFail() && Objects.equals(thirdImportResult.getImportStatus(), GisSurveyImportStatusEnum.FAIL.getCode()))
+                    return thirdImportResult;
+                else if (Objects.equals(thirdImportResult.getImportStatus(), GisSurveyImportStatusEnum.SUCCESS.getCode())) {
+                    //如成功,返回成功,并清除缓存
+                    removeCache(params.getJobId());
                     return thirdImportResult;
+                }
             } catch (InterruptedException | ExecutionException e) {
                 //打印报错信息(不太可能走到这)
                 LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName