xiewj %!s(int64=2) %!d(string=hai) anos
pai
achega
3b949862e9

+ 7 - 1
src/main/java/com/fdkankan/scene/controller/SceneController.java

@@ -134,7 +134,13 @@ public class SceneController extends BaseController {
     @PostMapping("/copyScene")
     public ResultData copyScene(@RequestBody SceneParamVO param) throws Exception {
 //        String username = JwtUtil.getUsername(getToken());
-        sceneService.copyScene(param.getNewNum(), param.getSceneNum(),null, param.getDataSource(), param.getBucket());
+        ThreadUtil.execAsync(() -> {
+            try {
+                sceneService.copyScene(param.getNewNum(), param.getSceneNum(),null, param.getDataSource(), param.getBucket());
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        });
         return ResultData.ok();
     }
 

+ 2 - 0
src/main/java/com/fdkankan/scene/service/ISceneService.java

@@ -23,4 +23,6 @@ public interface ISceneService extends IService<Scene> {
 
     String getDataSource(String num, Integer sceneSource, String dataSource);
 
+    boolean updateStatus(String sceneCode, Integer status);
+
 }

+ 2 - 19
src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java

@@ -460,26 +460,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         }
 
         videosJson.put("data", jsonArray);
-        if(Objects.nonNull(videoVersion) && videoVersion >= 4){
-            videosJson.put("version", 3);
-            videosJson.put("upPath", String.format(UploadFilePath.DATA_VIEW_PATH, projectNum) + "Up.xml");
-            if(cameraType == 13){
-                //转台相机
-                videosJson.put("upPath", videosJson.getString("upPath").replace(".xml", ".txt"));
-            }
-        }else {
-            videosJson.put("version", 1);
-            videosJson.put("upPath", String.format(UploadFilePath.DATA_VIEW_PATH, projectNum) + "Up2.xml");
-            if(cameraType == 13){
-                //转台相机
-                videosJson.put("upPath", videosJson.getString("upPath").replace(".xml", ".txt"));
-            }
-        }
+        videosJson.put("version", 3);
+        videosJson.put("upPath", String.format(UploadFilePath.DATA_VIEW_PATH, projectNum) + "Up.txt");
 
-        if(cameraType == 5 || cameraType == 6){
-            videosJson.put("version", 1);
-            videosJson.put("upPath", String.format(UploadFilePath.DATA_VIEW_PATH, projectNum) + "stitch_params.txt");
-        }
         return videosJson;
     }
 

+ 18 - 2
src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -5,9 +5,12 @@ import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.lang.UUID;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.CommonOperStatus;
 import com.fdkankan.common.constant.ErrorCode;
@@ -79,7 +82,8 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
     private ISceneEditControlsService sceneEditControlsService;
     @Autowired
     private ISurveillanceService surveillanceService;
-
+    @Autowired
+    private ISceneService sceneService;
     @Override
     public ResultData uploadBodySegment(MultipartFile file, Integer rotate) throws Exception {
 
@@ -284,11 +288,15 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
             scenePlus.setSceneStatus(-2);
             scenePlusService.updateById(scenePlus);
             log.info("复制成功。。。。。");
+            boolean success = sceneService.updateStatus(newNum,2);
+            log.info("修改复制后的状态-*{}。。。。。",success);
 
         }catch (Exception e){
             log.error("复制场景失败-V4-sceneNum:{},error:{}",oldNum,e);
             scenePlus.setSceneStatus(-1);
             scenePlusService.updateById(scenePlus);
+            boolean success = sceneService.updateStatus(newNum,1);
+            log.info("修改复制后的状态-*{}。。。。。",success);
             throw new BusinessException(ErrorCode.SYSTEM_BUSY.code(),"复制失败!");
         }
 //        }, executor).whenComplete((reslut, e) -> {
@@ -307,11 +315,19 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
             Scene scene = this.getBySceneCode(num);
             dataSource = scene.getPath();
         }
-        if(sceneSource == 4){//D:\4DMega\4DKK_PROGRAM_DATA\dvt600001_202206291618176080\web_laserData\laserData
+        if( dataSource.contains("web_laserData")){//D:\4DMega\4DKK_PROGRAM_DATA\dvt600001_202206291618176080\web_laserData\laserData
             dataSource = dataSource.substring(0, dataSource.indexOf("web_laserData"));
         }else{
             dataSource = dataSource.concat(File.separator);
         }
         return dataSource;
     }
+
+    @Override
+    public boolean updateStatus(String sceneCode, Integer status) {
+        LambdaUpdateWrapper<Scene> wrapper = Wrappers.lambdaUpdate();
+        wrapper.eq(Scene::getSceneCode, sceneCode);
+        wrapper.set(Scene::getStatus, status);
+        return update(wrapper);
+    }
 }