浏览代码

复制v3场景

lyhzzz 2 年之前
父节点
当前提交
e76e7fbc2a

+ 5 - 1
src/main/java/com/fdkankan/manage_jp/service/impl/Scene3dNumServiceImpl.java

@@ -7,6 +7,7 @@ import com.fdkankan.manage_jp.mapper.IScene3dNumMapper;
 import com.fdkankan.manage_jp.service.IScene3dNumService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage_jp.util.GenerateNumUtil;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.sql.SQLOutput;
@@ -24,9 +25,12 @@ import java.util.List;
 @Service
 public class Scene3dNumServiceImpl extends ServiceImpl<IScene3dNumMapper, Scene3dNum> implements IScene3dNumService {
 
+    @Value("${scene:num:pre}")
+    private String pre;
+
     @Override
     public String generateNum() {
-        String num = GenerateNumUtil.generateNum();
+        String num = pre + GenerateNumUtil.generateNum();
         List<Scene3dNum> numList = this.getByNum(num);
         if(numList.size() >0){
             return this.generateNum();

+ 9 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/SceneCommonService.java

@@ -8,6 +8,7 @@ import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.image.MatrixToImageWriterUtil;
 import com.fdkankan.manage_jp.common.ResultCode;
 import com.fdkankan.manage_jp.exception.BusinessException;
+import com.fdkankan.manage_jp.service.IScene3dNumService;
 import com.fdkankan.manage_jp.util.SceneResourcePath;
 import com.fdkankan.manage_jp.util.SnowflakeIdGenerator;
 import lombok.extern.slf4j.Slf4j;
@@ -24,6 +25,14 @@ public class SceneCommonService {
 
     @Autowired
     FYunFileServiceInterface fYunFileServiceInterface;
+    @Autowired
+    IScene3dNumService scene3dNumService;
+
+    public String getNewNum(String oldNum ){
+        String newNum = scene3dNumService.generateNum();
+        String pre = oldNum.split("-")[0];
+        return pre + newNum;
+    }
 
     /**
      * 生成新的dataSouce

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

@@ -77,8 +77,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
             throw new BusinessException(ResultCode.SCENE_ERROR);
         }
         String oldNum = scenePlus.getNum();
+        String newNum = sceneCommonService.getNewNum(oldNum);
         Long plusId = scenePlus.getId();
-        String newNum = scene3dNumService.generateNum();
         String oldSceneName = scenePlus.getTitle();
 
         ScenePlusExt plusExt = scenePlusExtService.getByPlusId(plusId);

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

@@ -201,8 +201,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(scenePro.getStatus() !=-2){
             throw new BusinessException(ResultCode.SCENE_ERROR);
         }
-        String newNum = scene3dNumService.generateNum();
         String oldNum = scenePro.getNum();
+        String newNum = sceneCommonService.getNewNum(oldNum);
 
         String oldDataSource = scenePro.getDataSource();
         String newDataSource = sceneCommonService.getNewDataSource(oldDataSource);
@@ -217,8 +217,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         scenePro.setNum(newNum);
         scenePro.setSceneName(scenePro.getSceneName() +"(copy)");
         scenePro.setViewCount(0);
-        scenePro.setWebSite(scenePro.getWebSite().replaceAll(scenePro.getNum(),scenePro.getNum()));
-        scenePro.setThumb(scenePro.getWebSite().replaceAll(scenePro.getNum(),scenePro.getNum()));
+        scenePro.setThumb(scenePro.getThumb().replaceAll(oldNum,scenePro.getNum()));
+        scenePro.setWebSite(scenePro.getWebSite().replaceAll(oldNum,scenePro.getNum()));
         scenePro.setDataSource(newDataSource);
         this.save(scenePro);
 
@@ -252,7 +252,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             cn.hutool.core.io.FileUtil.copyContent(new File(oldDataSource),new File(newDataSource),true);
 
             String sourceData = String.format(SceneResourcePath.dataPath, oldNum);
-
             String targetData = String.format(SceneResourcePath.dataPath, scenePro.getNum());
             this.copyOssAndNas(oldNum,scenePro.getNum(),sourceData,targetData);
             //修改 oss status.json ,nas scene.json