|
@@ -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
|