1.修改任务信息修改的方法,防止全量修改任务信息。

master
liuzongren 7 months ago
parent 890ed17d84
commit fb81a13b9d
  1. 14
      src/main/java/com/keyware/composeanalysis/service/impl/AnalysisTaskServiceImpl.java
  2. 7
      src/main/java/com/keyware/composeanalysis/task/PorjectAnalysisTask.java

@ -2,6 +2,7 @@ package com.keyware.composeanalysis.service.impl;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.keyware.common.constant.RedisConst;
import com.keyware.common.constant.enums.AnalysisStatusEnum;
@ -69,8 +70,11 @@ public class AnalysisTaskServiceImpl extends ServiceImpl<AnalyzeTaskMapper, Anal
retryGetDecompressionFlag(analysisTask);
//开始分析前,将成分分析的状态为 进行中
analysisTask.setComposeFlag(AnalysisStatusEnum.ANALYSISING.getCode());
this.updateById(analysisTask);
LambdaUpdateWrapper<AnalysisTask> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(AnalysisTask::getId, analysisTask.getId())
.set(AnalysisTask::getComposeFlag, AnalysisStatusEnum.ANALYSISING.getCode());
this.update(null,updateWrapper);
MongoTemplate mongoTemplate = new MongoTemplate(mongoClient, MongoDBConst.DB_NAME_PREFIX + analysisTask.getId());
AnalysisLogUtil.insert(mongoTemplate, "【成分分析】开始:" + analysisTask.getFileName());
@ -85,8 +89,10 @@ public class AnalysisTaskServiceImpl extends ServiceImpl<AnalyzeTaskMapper, Anal
checkProjectIfOpen(mongoTemplate,analysisTask);
//修改成分分析状态为完成
analysisTask.setComposeFlag(AnalysisStatusEnum.ANALYSIS_DONE.getCode());
this.updateById(analysisTask);
updateWrapper.set(AnalysisTask::getId, analysisTask.getId())
.set(AnalysisTask::getComposeFlag, AnalysisStatusEnum.ANALYSIS_DONE.getCode())
.set(AnalysisTask::getOpenType, analysisTask.getOpenType());
this.update(null,updateWrapper);
//插入分析日志
AnalysisLogUtil.insert(mongoTemplate,"【成分分析】已完成,耗时:"+ DateUtil.between(analysisTask.getAnalysisStartTime(),DateUtil.date(), DateUnit.SECOND) +"秒");

@ -2,6 +2,7 @@ package com.keyware.composeanalysis.task;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.common.collect.Sets;
import com.keyware.common.constant.enums.AnalysisStatusEnum;
import com.keyware.composeanalysis.constant.FixedValue;
@ -85,8 +86,10 @@ public class PorjectAnalysisTask {
} catch (Exception e) {
AnalysisLogUtil.insert(mongoTemplate, "成分分析失败:" + e.getStackTrace());
log.error("项目级分析失败,项目名称:" + analysisTask.getFileName(), e);
analysisTask.setAnalysisStatus(AnalysisStatusEnum.FAIL_ANALYSIS.getCode());
analysisService.updateById(analysisTask);
LambdaUpdateWrapper<AnalysisTask> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(AnalysisTask::getId, analysisTask.getId())
.set(AnalysisTask::getAnalysisStatus, AnalysisStatusEnum.FAIL_ANALYSIS.getCode());
analysisService.update(null,updateWrapper);
}
}

Loading…
Cancel
Save