فهرست منبع

增加计算流程日志记录

dsx 2 سال پیش
والد
کامیت
89f3d80be5

+ 78 - 53
src/main/java/com/fdkankan/contro/mq/service/impl/BuildObjServiceImpl.java

@@ -1,7 +1,9 @@
 package com.fdkankan.contro.mq.service.impl;
 
+import cn.hutool.core.exceptions.ExceptionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.common.constant.CommonOperStatus;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.contro.entity.ScenePlus;
 import com.fdkankan.contro.entity.ScenePro;
@@ -12,6 +14,7 @@ import com.fdkankan.contro.service.impl.FdkkV4Service;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFileName;
 import com.fdkankan.model.constants.ConstantFilePath;
+import com.fdkankan.model.constants.SceneBuildProcessType;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.CreateObjUtil;
 import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
@@ -77,10 +80,11 @@ public class BuildObjServiceImpl implements IBuildSceneService {
     @Override
     public void buildScenePre(BuildSceneCallMessage message) {
         boolean success = false;
+        String num = message.getSceneNum();
         try {
-
             //记录日志
-            sceneBuildProcessLogService.clearSceneBuildProcessLog(message.getSceneNum(), scenebuildt);
+            sceneBuildProcessLogService.clearSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueObjModelingPre);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueObjModelingPre, CommonOperStatus.WAITING.code(), null);
 
             String path = message.getPath();
             //根据相机类型,组装资源路径
@@ -120,12 +124,15 @@ public class BuildObjServiceImpl implements IBuildSceneService {
             //发送mq,就进行计算
             mqProducer.sendByWorkQueue(queueModelingCall, message);
 
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueObjModelingPre, CommonOperStatus.SUCCESS.code(), null);
+
             success = true;
 
             log.info("场景计算资源准备结束,场景码:{}", message.getSceneNum());
 
         }catch (Exception e){
             log.error("场景计算前置处理出错", e);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueObjModelingPre, CommonOperStatus.FAILD.code(), ExceptionUtil.stacktraceToString(e, 3000));
         }finally {
             //如果前置处理失败,发送钉钉消息
             if(!success){
@@ -153,74 +160,92 @@ public class BuildObjServiceImpl implements IBuildSceneService {
     @Override
     public void buildScenePost(BuildSceneResultMqMessage message) throws Exception {
 
-        if (!message.getBuildSuccess()) {
-            log.error("生成OBJ场景计算失败!");
-            // 发送钉钉消息,计算失败
-            buildSceneDTService.handModelFail("生成OBJ场景计算失败!", message.getPath(), message.getBuildContext().get("sceneNum").toString(), message.getHostName());
-            return;
-        }
-
         String path = message.getPath();
         String projectNum = message.getBuildContext().get("sceneNum").toString();
+        boolean success = false;
+        try {
+            //记录日志
+            sceneBuildProcessLogService.clearSceneBuildProcessLog(projectNum, SceneBuildProcessType.POST.code(), queueObjModelingPost);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(projectNum, SceneBuildProcessType.POST.code(), queueObjModelingPost, CommonOperStatus.WAITING.code(), null);
+
+            if (!message.getBuildSuccess()) {
+                log.error("生成OBJ场景计算失败!");
+                // 发送钉钉消息,计算失败
+                buildSceneDTService.handModelFail("生成OBJ场景计算失败!", message.getPath(), message.getBuildContext().get("sceneNum").toString(), message.getHostName());
+                return;
+            }
 
-        String laserObjFilePath = path;
-        CreateObjUtil.convertTxtToDam(laserObjFilePath + File.separator + "results" + File.separator + "tex" + File.separator + "modeldata.txt", laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam");
-        CreateObjUtil.convertDamToLzma(laserObjFilePath + File.separator + "results/");
-        CreateObjUtil.convertTxtToDam(laserObjFilePath + File.separator + "results" + File.separator + "tex" + File.separator + "modeldata.txt", laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam");
-        File file = new File(laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam.lzma");
-        while (!file.exists()) {
-            Thread.sleep(60000);
-        }
+            String laserObjFilePath = path;
+            CreateObjUtil.convertTxtToDam(laserObjFilePath + File.separator + "results" + File.separator + "tex" + File.separator + "modeldata.txt", laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam");
+            CreateObjUtil.convertDamToLzma(laserObjFilePath + File.separator + "results/");
+            CreateObjUtil.convertTxtToDam(laserObjFilePath + File.separator + "results" + File.separator + "tex" + File.separator + "modeldata.txt", laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam");
+            File file = new File(laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam.lzma");
+            while (!file.exists()) {
+                Thread.sleep(60000);
+            }
 
-        fYunFileService.uploadFile(laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam.lzma", String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + ConstantFileName.modelUUID + "_50k.dam.lzma");
-        fYunFileService.uploadFile(laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam", String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + ConstantFileName.modelUUID + "_50k.dam");
+            fYunFileService.uploadFile(laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam.lzma", String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + ConstantFileName.modelUUID + "_50k.dam.lzma");
+            fYunFileService.uploadFile(laserObjFilePath + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam", String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + ConstantFileName.modelUUID + "_50k.dam");
 
-        String texPath = laserObjFilePath + File.separator + "results" + File.separator + "tex";
+            String texPath = laserObjFilePath + File.separator + "results" + File.separator + "tex";
 
-        File texFile = new File(texPath);
-        if(texFile.exists()){
-            for (File textureFile : texFile.listFiles()) {
-                if(textureFile.getName().endsWith(".jpg")){
-                    fYunFileService.uploadFile(textureFile.getAbsolutePath(),
-                            String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + ConstantFileName.modelUUID + "_50k_texture_jpg_high1/"+textureFile.getName());
+            File texFile = new File(texPath);
+            if(texFile.exists()){
+                for (File textureFile : texFile.listFiles()) {
+                    if(textureFile.getName().endsWith(".jpg")){
+                        fYunFileService.uploadFile(textureFile.getAbsolutePath(),
+                                String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + ConstantFileName.modelUUID + "_50k_texture_jpg_high1/"+textureFile.getName());
+                    }
                 }
             }
-        }
 
-        fYunFileService.uploadFile(laserObjFilePath + File.separator + "results" + File.separator + "tex/texture1.jpg",
-                String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + "/" + ConstantFileName.modelUUID + "_50k_texture_jpg_high1/texture1.jpg");
+            fYunFileService.uploadFile(laserObjFilePath + File.separator + "results" + File.separator + "tex/texture1.jpg",
+                    String.format(UploadFilePath.IMG_VIEW_PATH,  projectNum) + "/" + ConstantFileName.modelUUID + "_50k_texture_jpg_high1/texture1.jpg");
 
-        // 拷贝结果
-        log.info("开始拷贝obj文件");
-        FileUtils.copyFolderAllFiles(laserObjFilePath + "/results/mesh", laserObjFilePath + "/laserData/mesh/", true);
+            // 拷贝结果
+            log.info("开始拷贝obj文件");
+            FileUtils.copyFolderAllFiles(laserObjFilePath + "/results/mesh", laserObjFilePath + "/laserData/mesh/", true);
 
-        File meshFolder = new File(laserObjFilePath + "/results/mesh");
+            File meshFolder = new File(laserObjFilePath + "/results/mesh");
 
-        for (File meshFile : meshFolder.listFiles()) {
-            fYunFileService.uploadFile(meshFile.getAbsolutePath(), String.format(UploadFilePath.DATA_VIEW_PATH,  projectNum) + "mesh/" + meshFile.getName());
-        }
+            for (File meshFile : meshFolder.listFiles()) {
+                fYunFileService.uploadFile(meshFile.getAbsolutePath(), String.format(UploadFilePath.DATA_VIEW_PATH,  projectNum) + "mesh/" + meshFile.getName());
+            }
 
-        fdkkLaserService.pushBuildStatusToLaserSystem(projectNum, laserObjFilePath + "/laserData/mesh");
+            fdkkLaserService.pushBuildStatusToLaserSystem(projectNum, laserObjFilePath + "/laserData/mesh");
 
 
-        ScenePro scenePro = sceneProService.getByNum(projectNum);
-        if(!ObjectUtils.isEmpty(scenePro)){
-            LambdaUpdateWrapper<ScenePro> updateWrapper = new LambdaUpdateWrapper<ScenePro>()
-                    .set(ScenePro::getStatus, -2).eq(ScenePro::getNum, projectNum);
-            sceneProService.update(updateWrapper);
-            sceneProEditService.update(new LambdaUpdateWrapper<SceneProEdit>().set(SceneProEdit::getMapVisi,0)
-                    .eq(SceneProEdit::getProId,scenePro.getId()));
-        }
+            ScenePro scenePro = sceneProService.getByNum(projectNum);
+            if(!ObjectUtils.isEmpty(scenePro)){
+                LambdaUpdateWrapper<ScenePro> updateWrapper = new LambdaUpdateWrapper<ScenePro>()
+                        .set(ScenePro::getStatus, -2).eq(ScenePro::getNum, projectNum);
+                sceneProService.update(updateWrapper);
+                sceneProEditService.update(new LambdaUpdateWrapper<SceneProEdit>().set(SceneProEdit::getMapVisi,0)
+                        .eq(SceneProEdit::getProId,scenePro.getId()));
+            }
 
-        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(projectNum);
-        if(!ObjectUtils.isEmpty(scenePlus)){
-            LambdaUpdateWrapper<ScenePlus> plusUpdateWrapper = new LambdaUpdateWrapper<ScenePlus>()
-                    .set(ScenePlus::getSceneStatus, -2).eq(ScenePlus::getNum, projectNum);
-            scenePlusService.update(plusUpdateWrapper);
-        }
+            ScenePlus scenePlus = scenePlusService.getScenePlusByNum(projectNum);
+            if(!ObjectUtils.isEmpty(scenePlus)){
+                LambdaUpdateWrapper<ScenePlus> plusUpdateWrapper = new LambdaUpdateWrapper<ScenePlus>()
+                        .set(ScenePlus::getSceneStatus, -2).eq(ScenePlus::getNum, projectNum);
+                scenePlusService.update(plusUpdateWrapper);
+            }
 
-        // 如果未升级V4,则升级V4
-        fdkkV4Service.upgradeToV4(projectNum);
+            // 如果未升级V4,则升级V4
+            fdkkV4Service.upgradeToV4(projectNum);
+
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(projectNum, SceneBuildProcessType.POST.code(), queueObjModelingPost, CommonOperStatus.SUCCESS.code(), null);
+
+            success = true;
+
+        }catch (Exception e){
+            log.error("场景计算结果处理出错,num=" + projectNum, e);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(projectNum, SceneBuildProcessType.POST.code(), queueObjModelingPost, CommonOperStatus.FAILD.code(), ExceptionUtil.stacktraceToString(e, 3000));
+        }finally {
+            if(!success){
+                buildSceneDTService.handBaseFail("生成OBJ场景计算结果处理异常", message.getPath(), projectNum, "计算控制服务器");
+            }
+        }
     }
 
 }

+ 27 - 0
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.contro.mq.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.exceptions.ExceptionUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileNameUtil;
 import cn.hutool.core.util.StrUtil;
@@ -26,6 +27,7 @@ import com.fdkankan.fyun.constant.FYunTypeEnum;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFileName;
 import com.fdkankan.model.constants.ConstantFilePath;
+import com.fdkankan.model.constants.SceneBuildProcessType;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.enums.ModelTypeEnums;
 import com.fdkankan.model.utils.CreateHouseJsonUtil;
@@ -70,6 +72,12 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
     @Value("${queue.modeling.single.modeling-call}")
     private String singleModelingCall;
 
+    @Value("${queue.modeling.modeling-pre}")
+    private String queueModelingPre;
+
+    @Value("${queue.modeling.modeling-post}")
+    private String queueModelingPost;
+
     @Value("${model.type:#{null}}")
     private String modelType;
 
@@ -115,11 +123,19 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
     private ICompanyService companyService;
     @Autowired
     private ISceneAsynOperLogService sceneAsynOperLogService;
+    @Autowired
+    private ISceneBuildProcessLogService sceneBuildProcessLogService;
 
     @Override
     public void buildScenePre(BuildSceneCallMessage message) {
         boolean success = false;
+        String num = message.getSceneNum();
         try {
+
+            //记录日志
+            sceneBuildProcessLogService.clearSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueModelingPre);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueModelingPre, CommonOperStatus.WAITING.code(), null);
+
             //重新计算时需要删除文件夹,否知使用缓存
             if(new File(message.getPath() + File.separator + "results").exists()){
                 FileUtils.deleteDirectory(message.getPath() + File.separator + "results");
@@ -163,12 +179,15 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
                 mqProducer.sendByWorkQueue(singleModelingCall, message);
             }
 
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueModelingPre, CommonOperStatus.SUCCESS.code(), null);
+
             success = true;
 
             log.info("场景计算资源准备结束,场景码:{}", message.getSceneNum());
 
         }catch (Exception e){
             log.error("场景计算前置处理出错", e);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueModelingPre, CommonOperStatus.FAILD.code(), ExceptionUtil.stacktraceToString(e, 3000));
         }finally {
             //如果前置处理失败,发送钉钉消息
             if(!success){
@@ -200,6 +219,11 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
         String sceneCode = message.getBuildContext().get("sceneNum").toString();
         String path = message.getPath();
         try {
+
+            //记录日志
+            sceneBuildProcessLogService.clearSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueModelingPost);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueModelingPost, CommonOperStatus.WAITING.code(), null);
+
             // 上传计算日志
             //如果是重复计算,没有走到计算逻辑,不需要上传日志文件
             log.info("开始上传计算日志");
@@ -323,11 +347,14 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
 
             CreateObjUtil.deleteFile(path.replace(ConstantFilePath.BUILD_MODEL_PATH, "/") + "/capture");
 
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueModelingPost, CommonOperStatus.SUCCESS.code(), null);
+
             log.info("场景计算结果处理结束,场景码:{}", sceneCode);
 
         }catch (Exception e){
             log.error("场景计算结果处理出错!", e);
             buildSceneDTService.handBaseFail("场景计算结果处理出错!", message.getPath(), sceneCode, "计算控制服务器");
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueModelingPost, CommonOperStatus.FAILD.code(), ExceptionUtil.stacktraceToString(e, 3000));
         }
     }
 

+ 32 - 7
src/main/java/com/fdkankan/contro/mq/service/impl/BuildV3SceneServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.contro.mq.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.exceptions.ExceptionUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileNameUtil;
 import cn.hutool.core.util.StrUtil;
@@ -10,6 +11,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.common.constant.CommonOperStatus;
 import com.fdkankan.common.constant.ExpiredStatus;
 import com.fdkankan.common.constant.PayStatus;
 import com.fdkankan.common.constant.SceneStatus;
@@ -23,6 +25,7 @@ import com.fdkankan.fyun.constant.FYunTypeEnum;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFileName;
 import com.fdkankan.model.constants.ConstantFilePath;
+import com.fdkankan.model.constants.SceneBuildProcessType;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.CreateHouseJsonUtil;
 import com.fdkankan.model.utils.CreateObjUtil;
@@ -63,6 +66,9 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
     @Value("${queue.modeling.v3.modeling-post}")
     private String queueV3ModelingPost;
 
+    @Value("${queue.modeling.v3.modeling-pre}")
+    private String queueV3ModelingPre;
+
     @Value("${model.type:#{null}}")
     private String modelSceneKind;
 
@@ -97,11 +103,19 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
 
     @Autowired
     private ISceneProEditService sceneProEditService;
+    @Autowired
+    private ISceneBuildProcessLogService sceneBuildProcessLogService;
 
     @Override
     public void buildScenePre(BuildSceneCallMessage message) {
         boolean success = false;
+        String num = message.getSceneNum();
         try {
+
+            //记录日志
+            sceneBuildProcessLogService.clearSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueV3ModelingPre);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueV3ModelingPre, CommonOperStatus.WAITING.code(), null);
+
             //根据相机类型,组装资源路径
             //下载资源到本地
             this.downLoadSource(message, message.getPath());
@@ -134,12 +148,15 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
             //发送mq,就进行计算
             mqProducer.sendByWorkQueue(queueModelingCall, message);
 
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueV3ModelingPre, CommonOperStatus.SUCCESS.code(), null);
+
             success = true;
 
             log.info("场景计算资源准备结束,场景码:{}", message.getSceneNum());
 
         }catch (Exception e){
             log.error("场景计算前置处理出错", e);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(num, SceneBuildProcessType.PRE.code(), queueV3ModelingPre, CommonOperStatus.FAILD.code(), ExceptionUtil.stacktraceToString(e, 3000));
         }finally {
             //如果前置处理失败,发送钉钉消息
             if(!success){
@@ -168,16 +185,21 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
 
     @Override
     public void buildScenePost(BuildSceneResultMqMessage message) throws Exception {
-        Integer cameraType = Integer.parseInt(message.getBuildContext().get("cameraType").toString());
         String sceneCode = message.getBuildContext().get("sceneNum").toString();
-        Long computeTime = message.getComputeTime();
+        try {
 
-        String path = message.getPath();
+            //记录日志
+            sceneBuildProcessLogService.clearSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueV3ModelingPost);
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueV3ModelingPost, CommonOperStatus.WAITING.code(), null);
 
-        Boolean buildSuccess = message.getBuildSuccess();
-        JSONObject fdageData = getFdageData(path + File.separator + "capture" +File.separator+"data.fdage");
-        Integer videoVersion = fdageData.getInteger("videoVersion");
-        try {
+            Integer cameraType = Integer.parseInt(message.getBuildContext().get("cameraType").toString());
+            Long computeTime = message.getComputeTime();
+
+            String path = message.getPath();
+
+            Boolean buildSuccess = message.getBuildSuccess();
+            JSONObject fdageData = getFdageData(path + File.separator + "capture" +File.separator+"data.fdage");
+            Integer videoVersion = fdageData.getInteger("videoVersion");
             // 上传计算日志
             //如果是重复计算,没有走到计算逻辑,不需要上传日志文件
             log.info("开始上传计算日志");
@@ -273,9 +295,12 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
                 fdkkV4Service.upgradeToV4(sceneCode);
             }
 
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueV3ModelingPost, CommonOperStatus.SUCCESS.code(), null);
+
         }catch (Exception e){
             log.error("场景计算结果处理出错!", e);
             buildSceneDTService.handBaseFail("场景计算结果处理出错!", message.getPath(), sceneCode, "计算控制服务器");
+            sceneBuildProcessLogService.saveSceneBuildProcessLog(sceneCode, SceneBuildProcessType.POST.code(), queueV3ModelingPost, CommonOperStatus.FAILD.code(), ExceptionUtil.stacktraceToString(e, 3000));
         }
     }
 

+ 1 - 1
src/main/java/com/fdkankan/contro/service/ISceneBuildProcessLogService.java

@@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISceneBuildProcessLogService extends IService<SceneBuildProcessLog> {
 
-    public void clearSceneBuildProcessLog(String num, String process);
+    public void clearSceneBuildProcessLog(String num, String process, String queueName);
 
     public void saveSceneBuildProcessLog(String num, String process, String queueName, int status, String reason);
 

+ 5 - 2
src/main/java/com/fdkankan/contro/service/impl/SceneBuildProcessLogServiceImpl.java

@@ -22,8 +22,11 @@ public class SceneBuildProcessLogServiceImpl extends ServiceImpl<ISceneBuildProc
 
 
     @Override
-    public void clearSceneBuildProcessLog(String num, String process) {
-        this.remove(new LambdaQueryWrapper<SceneBuildProcessLog>().eq(SceneBuildProcessLog::getNum, num).eq(SceneBuildProcessLog::getProcess, process));
+    public void clearSceneBuildProcessLog(String num, String process, String queueName) {
+        this.remove(new LambdaQueryWrapper<SceneBuildProcessLog>()
+                .eq(SceneBuildProcessLog::getNum, num)
+                .eq(SceneBuildProcessLog::getProcess, process)
+                .eq(SceneBuildProcessLog::getQueueName, queueName));
     }
 
     @Override