Просмотр исходного кода

Merge branch 'release-注册用户复制场景' into test

# Conflicts:
#	src/main/java/com/fdkankan/scene/service/impl/SceneCopyServiceImpl.java
dengsixing 1 месяц назад
Родитель
Сommit
91e71cf709

+ 3 - 0
src/main/java/com/fdkankan/scene/entity/ScenePlus.java

@@ -134,5 +134,8 @@ public class ScenePlus implements Serializable {
     @TableField("has_floorplan_ai")
     private Integer hasFloorplanAi;
 
+    @TableField("demo")
+    private Integer demo;
+
 
 }

+ 2 - 1
src/main/java/com/fdkankan/scene/mq/consumer/CopySceneConsumer.java

@@ -37,7 +37,8 @@ public class CopySceneConsumer {
             JSONObject jsonObject = JSONObject.parseObject(msg);
             String oldNum = jsonObject.getString("oldNum");
             String newNum = jsonObject.getString("newNum");
-            sceneCopyService.copyScene(oldNum,newNum);
+            Long userId = jsonObject.getLong("userId");
+            sceneCopyService.copyScene(oldNum,newNum, userId);
         }catch (Exception e){
             log.info("copy-scene----消费失败",e);
         }

+ 1 - 1
src/main/java/com/fdkankan/scene/service/ILaserService.java

@@ -2,7 +2,7 @@ package com.fdkankan.scene.service;
 
 public interface ILaserService {
 
-    void copy(String oldNum , String newNum, String  path,Boolean flag);
+    void copy(String oldNum , String newNum, String  path,Boolean flag, Long userId, Integer demo);
 
     void cloudPointBuild(String oldNum, String newNum);
 }

+ 1 - 1
src/main/java/com/fdkankan/scene/service/ISceneCopyService.java

@@ -2,7 +2,7 @@ package com.fdkankan.scene.service;
 
 public interface ISceneCopyService {
 
-    void copyScene(String oldNum,String newNum);
+    void copyScene(String oldNum,String newNum, Long userId);
 
     Integer isCopyScene(String num);
 }

+ 11 - 1
src/main/java/com/fdkankan/scene/service/impl/LaserServiceImpl.java

@@ -2,7 +2,9 @@ package com.fdkankan.scene.service.impl;
 
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.rabbitmq.util.RabbitMqProducer;
+import com.fdkankan.scene.entity.User;
 import com.fdkankan.scene.service.ILaserService;
+import com.fdkankan.scene.service.IUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -31,13 +33,21 @@ public class LaserServiceImpl implements ILaserService {
     private String laserCopyScene;
     @Value("${queue.application.laser.copy-scene:laser-copy-scene-init}")
     private String laserInitCopyScene;
+    @Autowired
+    private IUserService userService;
     @Override
-    public void copy(String oldNum, String newNum, String path, Boolean flag) {
+    public void copy(String oldNum, String newNum, String path, Boolean flag, Long userId, Integer demo) {
         Map<String,Object> params = new HashMap<>();
         params.put("sceneCode", newNum);
         params.put("oldSceneCode", oldNum);
         params.put("path",path);
         params.put("init",flag);
+        params.put("userId",userId);
+        if(userId != null){
+            User user = userService.getById(userId);
+            params.put("userName",user.getUserName());
+        }
+        params.put("demo",demo);//注册新用户时,复制出来的示例场景做一个标示
         if(flag){
             rabbitMqProducer.sendByWorkQueue(laserInitCopyScene,params);
             return;

+ 11 - 6
src/main/java/com/fdkankan/scene/service/impl/SceneCopyServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.extra.qrcode.QrCodeUtil;
 import cn.hutool.extra.qrcode.QrConfig;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.common.constant.CommonStatus;
 import com.fdkankan.common.constant.SceneSource;
 import com.fdkankan.common.constant.SceneVersionType;
 import com.fdkankan.common.exception.BusinessException;
@@ -69,18 +70,18 @@ public class SceneCopyServiceImpl implements ISceneCopyService {
     }
 
     @Override
-    public void copyScene(String oldNum, String newNum) {
+    public void copyScene(String oldNum, String newNum, Long userId) {
         ScenePro scenePro = sceneProService.getByNum(oldNum);
         if(scenePro != null && scenePro.getIsUpgrade() == 0){
             cpV3(scenePro,oldNum,newNum);
         }
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(oldNum);
         if(scenePlus != null){
-            cpV4(scenePlus,oldNum,newNum);
+            cpV4(scenePlus,oldNum,newNum, userId);
         }
     }
 
-    private void cpV4(ScenePlus scenePlus, String oldNum, String newNum) {
+    private void cpV4(ScenePlus scenePlus, String oldNum, String newNum, Long userId) {
         try {
             Long plusId = scenePlus.getId();
             ScenePlusExt plusExt = scenePlusExtService.getScenePlusExtByPlusId(plusId);
@@ -91,6 +92,10 @@ public class SceneCopyServiceImpl implements ISceneCopyService {
             scenePlus.setTitle(scenePlus.getTitle() +"(copy)");
             scenePlus.setSceneStatus(0);
             scenePlus.setId(null);
+            if(userId != null){//目标用户ID不为空,则是注册用户复制场景
+                scenePlus.setUserId(userId);
+                scenePlus.setCameraId(null);
+            }
             scenePlusService.save(scenePlus);
 
             this.saveFolder(plusId,scenePlus.getId());
@@ -164,7 +169,7 @@ public class SceneCopyServiceImpl implements ISceneCopyService {
             this.updateNasSceneJson(targetData,oldNum,newNum,scenePlus.getTitle(),"v4","scene.json");
 
             if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5 || scenePlus.getSceneSource() == 7){  //深时复制
-                laserService.copy(oldNum,newNum,newDataSource,false);
+                laserService.copy(oldNum,newNum,newDataSource,false, userId, scenePlus.getDemo());
             }else {
                 scenePlus.setSceneStatus(-2);
                 scenePlusService.updateById(scenePlus);
@@ -227,7 +232,7 @@ public class SceneCopyServiceImpl implements ISceneCopyService {
             sceneProEditService.save(oldEditScene);
 
             if(scenePro.getSceneSource() == 4 || scenePro.getSceneSource() == 5) {  //深时复制
-                laserService.copy(oldNum,newNum,newDataSource,true);
+                laserService.copy(oldNum,newNum,newDataSource,true, null, CommonStatus.NO.code().intValue());
             }
             //重新生成编辑页基础设置二维码
             this.createNewQrCode(SceneVersionType.V3.code(),oldEditScene.getShareLogo(),newNum,scenePro.getWebSite());
@@ -255,7 +260,7 @@ public class SceneCopyServiceImpl implements ISceneCopyService {
             this.copyOssAndNasV3(oldNum,scenePro.getNum(),sourceVoice,targetVoice);
 
             if(scenePro.getSceneSource() == 4 || scenePro.getSceneSource() == 5){  //深时复制
-                laserService.copy(oldNum,newNum,newDataSource,false);
+                laserService.copy(oldNum,newNum,newDataSource,false, null, CommonStatus.NO.code().intValue());
             }else {
                 scenePro.setStatus(-2);
                 sceneProService.updateById(scenePro);