dsx пре 2 година
родитељ
комит
f1ab3c66a7

+ 15 - 1
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java

@@ -64,6 +64,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     ISceneProService sceneProService;
     @Autowired
     RedisUtil redisUtil;
+    @Autowired
+    private ISceneProEditService sceneProEditService;
 
     @Override
     public Long getCountByUserId(Long userId, List<Integer> sceneSourceList) {
@@ -138,15 +140,26 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         String dataSource = plusExt.getDataSource();
         String oldUuid = dataSource.substring(dataSource.lastIndexOf("/") + 1);
         Thread.sleep(RandomUtil.randomInt(10, 100));
-        String newUuid = oldUuid.split("_")[0].concat(DateUtil.format(Calendar.getInstance().getTime(), "yyMMddHHmmssSSS"));
+        String newUuid = oldUuid.split("_")[0].concat("_").concat(DateUtil.format(Calendar.getInstance().getTime(), "yyyyMMddHHmmssSSS"));
         String newDataSource = plusExt.getDataSource().replace(oldUuid, newUuid);
 
         ScenePro scenePro = sceneProService.getById(plusId);
         scenePro.setId(null);
         scenePro.setDataSource(newDataSource);
         scenePro.setNum(newNum);
+        scenePro.setWebSite(scenePro.getWebSite().replace(num, newNum));
+        scenePro.setThumb(scenePro.getThumb().replace(num, newNum));
+        if(StrUtil.isNotEmpty(scenePro.getVideos())){
+            scenePro.setVideos(scenePro.getVideos().replaceAll(num, newNum));
+        }
+        scenePro.setSceneName(scenePlus.getTitle());
         sceneProService.save(scenePro);
 
+        SceneProEdit sceneProEdit = sceneProEditService.getByProId(plusId);
+        sceneProEdit.setProId(scenePro.getId());
+        sceneProEdit.setId(null);
+        sceneProEditService.save(sceneProEdit);
+
         // 拷贝数据
         scenePlus.setNum(newNum);
         scenePlus.setId(scenePro.getId());
@@ -186,6 +199,7 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
                     }
 
                     plusExt.setId(null);
+                    plusExt.setDataSource(newDataSource);
                     plusExt.setPlusId(scenePlus.getId());
                     plusExt.setWebSite(plusExt.getWebSite().replace(num, newNum));
                     plusExt.setThumb(plusExt.getThumb().replace(num, newNum));

+ 3 - 3
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -354,9 +354,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(StringUtils.isEmpty(sceneNum)){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
         }
-        ScenePro scenePro = this.getByNum(sceneNum);
+        ScenePro scenePro = this.getOne(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, sceneNum));
         ScenePlus scenePlus = scenePlusService.getByNum(sceneNum);
-        if((scenePro == null || scenePro.getCameraId() == null ) && (scenePlus== null || scenePlus.getCameraId() == null)){
+        if(scenePro == null || scenePro.getCameraId() == null  || scenePlus== null || scenePlus.getCameraId() == null){
             throw new BusinessException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
         }
         Long cameraId = scenePro.getCameraId();
@@ -380,7 +380,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
     @Override
     public void copySceneNoCheck(String sceneNum) throws Exception {
-        ScenePro scenePro = this.getByNum(sceneNum);
+        ScenePro scenePro = this.getOne(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, sceneNum));
         ScenePlus scenePlus = scenePlusService.getByNum(sceneNum);
         Long cameraId = scenePro.getCameraId();
         CameraDetail detailEntity = cameraDetailService.getByCameraId(cameraId);