dengsixing 3 år sedan
förälder
incheckning
0b01ca2c23
32 ändrade filer med 1888 tillägg och 1335 borttagningar
  1. 5 5
      4dkankan-center-scene/pom.xml
  2. 0 12
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneController.java
  3. 13 13
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java
  4. 21 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneProController.java
  5. 228 228
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java
  6. 0 223
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/ScenePO.java
  7. 117 24
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/ScenePro.java
  8. 0 22
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/FloorLogoHandlerFactory.java
  9. 0 22
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/FloorPlanHandlerFactory.java
  10. 0 17
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/ISaveUploadHandlerFactory.java
  11. 0 21
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/MusicHandlerFactory.java
  12. 0 22
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/ScreenshotHandlerFactory.java
  13. 0 71
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorLogoHandler.java
  14. 0 127
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorPlanHandler.java
  15. 0 19
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/ISaveUploadHandler.java
  16. 0 67
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/MusicHandler.java
  17. 0 69
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/ScreenshotHandler.java
  18. 2 2
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/generate/AutoGenerate.java
  19. 18 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/ISceneProMapper.java
  20. 0 3
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/ISceneUpgradeMapper.java
  21. 0 99
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/schedule/ScheduleJob.java
  22. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java
  23. 44 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java
  24. 19 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneService.java
  25. 22 26
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  26. 1070 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  27. 46 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java
  28. 184 210
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneUpgradeToV4Service.java
  29. 1 4
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/Scene3dfamilyVO.java
  30. 5 0
      4dkankan-center-scene/src/main/resources/mapper/scene/SceneProMapper.xml
  31. 92 16
      4dkankan-center-scene/src/main/resources/mapper/scene/SceneUpgradeMapper.xml
  32. 0 12
      4dkankan-center-scene/src/test/java/com/fdkankan/scene/SceneApplicationTests.java

+ 5 - 5
4dkankan-center-scene/pom.xml

@@ -99,11 +99,11 @@
             <version>1.5.19</version>
             <version>1.5.19</version>
         </dependency>
         </dependency>
 
 
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.boot</groupId>-->
-<!--            <artifactId>spring-boot-starter-amqp</artifactId>-->
-<!--        </dependency>-->
-
+        <dependency>
+            <groupId>com.google.firebase</groupId>
+            <artifactId>firebase-admin</artifactId>
+            <version>6.8.1</version>
+        </dependency>
 
 
     </dependencies>
     </dependencies>
 
 

+ 0 - 12
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneController.java

@@ -4,14 +4,10 @@ package com.fdkankan.scene.controller;
 import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.response.ResultData;
-import com.fdkankan.scene.service.IPicSceneProgressService;
 import com.fdkankan.scene.service.ISceneEditInfoService;
 import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.ISceneFileBuildService;
 import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.service.ISceneProService;
 import com.fdkankan.scene.service.ISceneService;
 import com.fdkankan.scene.service.ISceneService;
 import com.fdkankan.scene.service.ISceneUpgradeToV4Service;
 import com.fdkankan.scene.service.ISceneUpgradeToV4Service;
-import com.fdkankan.scene.service.IVideoSceneProgressService;
 import com.fdkankan.scene.vo.BaseSceneParamVO;
 import com.fdkankan.scene.vo.BaseSceneParamVO;
 import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
 import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
 import com.fdkankan.scene.vo.SceneInfoParamVO;
 import com.fdkankan.scene.vo.SceneInfoParamVO;
@@ -37,16 +33,8 @@ import org.springframework.web.bind.annotation.RestController;
 public class SceneController extends BaseController{
 public class SceneController extends BaseController{
 
 
     @Autowired
     @Autowired
-    ISceneProService sceneProService;
-    @Autowired
     ISceneService sceneService;
     ISceneService sceneService;
     @Autowired
     @Autowired
-    ISceneFileBuildService sceneFileBuildService;
-    @Autowired
-    IVideoSceneProgressService videoSceneProgressService;
-    @Autowired
-    IPicSceneProgressService picSceneProgressService;
-    @Autowired
     ISceneEditInfoService sceneEditInfoService;
     ISceneEditInfoService sceneEditInfoService;
     @Autowired
     @Autowired
     IScenePlusService scenePlusService;
     IScenePlusService scenePlusService;

+ 13 - 13
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -230,19 +230,19 @@ public class SceneEditController extends BaseController {
     }
     }
 
 
 
 
-    /**
-     * <p>
-            上传后保存
-     * </p>
-     * @author dengsixing
-     * @date 2022/1/20
-     * @param param
-     * @return com.fdkankan.common.response.ResultData
-     **/
-    @PostMapping(value = "/saveUpload")
-    public ResultData saveUpload(@RequestBody @Validated SaveUploadParamVO param) throws Exception{
-        return sceneEditInfoService.saveUpload(param);
-    }
+//    /**
+//     * <p>
+//            上传后保存
+//     * </p>
+//     * @author dengsixing
+//     * @date 2022/1/20
+//     * @param param
+//     * @return com.fdkankan.common.response.ResultData
+//     **/
+//    @PostMapping(value = "/saveUpload")
+//    public ResultData saveUpload(@RequestBody @Validated SaveUploadParamVO param) throws Exception{
+//        return sceneEditInfoService.saveUpload(param);
+//    }
 
 
     /**
     /**
      * <p>
      * <p>

+ 21 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneProController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * pro场景表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-11
+ */
+@RestController
+@RequestMapping("/scene/scenePro")
+public class SceneProController {
+
+}
+

+ 228 - 228
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java

@@ -1,228 +1,228 @@
-package com.fdkankan.scene.controller;
-
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.common.constant.UploadFilePath;
-import com.fdkankan.common.controller.BaseController;
-import com.fdkankan.common.response.ResultData;
-import com.fdkankan.common.util.SpringUtil;
-import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.platform.api.dto.Camera;
-import com.fdkankan.platform.api.dto.Company;
-import com.fdkankan.platform.api.dto.User;
-import com.fdkankan.platform.api.feign.PlatformGoodsClient;
-import com.fdkankan.platform.api.feign.PlatformUserClient;
-import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
-import com.fdkankan.rabbitmq.config.ModelingQueueConfig;
-import com.fdkankan.rabbitmq.util.RabbitMqProducer;
-import com.fdkankan.redis.util.RedisLockUtil;
-import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.scene.service.IFolderService;
-import com.fdkankan.scene.service.IScene3dNumService;
-import com.fdkankan.scene.service.ISceneService;
-import com.google.common.collect.Lists;
-import com.yomahub.tlog.task.spring.SpringScheduledTaskAop;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.sql.DataSource;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RefreshScope
-@RestController
-@RequestMapping("/service/scene/test")
-@Slf4j
-public class TestController extends BaseController {
-
-
-
-    @Autowired
-    RedisUtil redisUtil;
-
-    @Autowired
-    IFolderService folderService;
-
-    @GetMapping("/testdb")
-    public List testdb(){
-        return folderService.list();
-    }
-
-    @Autowired
-    private PlatformUserClient platformUserClient;
-
-    @Autowired
-    private PlatformGoodsClient platformGoodsClient;
-
-    @Autowired
-    private IScene3dNumService scene3dNumService;
-
-    @Autowired
-    RedisTemplate redisTemplate;
-
-    @Autowired
-    RedisLockUtil redisLockUtil;
-
-    @Autowired
-    private RabbitTemplate rabbitTemplate;
-
-    @Autowired
-    ModelingQueueConfig modelingQueueConfig;
-    @Autowired
-    private RabbitMqProducer rabbitMqProducer;
-
-    @Autowired
-    private UploadToOssUtil uploadToOssUtil;
-
-
-
-    @GetMapping("/test")
-    public ResultData test() throws Exception {
-
-//        uploadToOssUtil.uploadBySh(path, "test_dsx/bin.tar");
-
-        return ResultData.ok();
-
-    }
-
-    public static void main(String[] args) throws Exception {
-
-//        MatrixToImageWriterUtil.createQRCode("http://baidu.com" + "123123", ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+"123123"+".png",
-//                ConstantFilePath.SCENE_PATH + "images/images" + "123123" + "/QRShareLogo.png");
-    }
-
-    @GetMapping("/testSetStr")
-    public void testSetStr() throws Exception {
-        redisUtil.set("testIncr", "1");
-        redisUtil.incr("testIncr",1);
-        String testIncr = redisUtil.get("testIncr");
-        System.out.println(testIncr);
-
-
-    }
-
-    @GetMapping("/testGetStr")
-    public String testGetStr() throws Exception {
-        boolean b = redisUtil.hasKey("90c82bdac_202201050951313830");
-        String abc = (String)redisUtil.get("abc");
-        return "123";
-    }
-
-    @GetMapping("/testSetObject")
-    public boolean testSetObject() throws Exception {
-//        User user = new User();
-//        user.setCity("珠海");
-//        user.setId(123l);
-//
-//        String jsons = JSON.toJSONString(user);
-//
-//        redisTemplate.opsForValue().set("test:66", jsons);
-//        redisTemplate.opsForValue().set("test:67", jsons);
-
-        ResultData<Camera>  cameraById = platformGoodsClient.getCameraById(111L);
-
-        Camera data = cameraById.getData();
-
-        ResultData<Company> companyById = platformUserClient.getCompanyById(111L);
-
-
-
-
-
-
-        return true;
-    }
-
-//
-    @GetMapping("/testGetObject")
-    public User testGetObject() throws Exception {
-        String test12 = redisUtil.get("test66");
-        User user = JSONObject.parseObject(test12, User.class);
-        return user;
-    }
-
-
-    @GetMapping("/testSetList")
-    public boolean testSetList() throws Exception {
-
-        List<String> users = Lists.newArrayList();
-        users.add("sdfsdf");
-        users.add("dfgdfg");
-        return redisUtil.lRightPushAll("test5595jj", users);
-    }
-
-    @GetMapping("/testGetList")
-    public List<String> testGetList() throws Exception {
-        return redisUtil.lGet("test5595jj", 0, -1);
-    }
-
-    @GetMapping("/testSetMap")
-    public boolean testSetMap() throws Exception {
-
-        Map<String, User> userMap = new HashMap<>();
-
-        User user1 = new User();
-        user1.setCity("珠海");
-        user1.setId(123l);
-
-        User user2 = new User();
-        user2.setCity("广州");
-        user2.setId(124l);
-
-        userMap.put("user1", user1);
-        userMap.put("user2", user2);
-
-
-        return redisUtil.hmset("userMap", userMap);
-    }
-
-    @GetMapping("/testGetMap")
-    public Map<String ,User> testGetMap() throws Exception {
-        return redisUtil.hmget("userMap");
-    }
-
-    @Autowired
-    ISceneService sceneService;
-
-    @GetMapping("/testSchedule")
-    public void testSchedule(){
-        sceneService.updatePv();
-    }
-
-    @RefreshScope
-    @GetMapping("/testResult")
-    public void testResult(){
-//        rocketMQProducer.sendOneWay("topic_modeling_a_result", BuildSceneResultMqMessage.builder().buildSuccess(true).cameraType("3").build());
-        String dsfsdf = (String) redisUtil.get("dsfsdf");
-        System.out.println(2134);
-
-    }
-
-    @Autowired
-    DataSource dataSource;
-
-    @GetMapping("/testDatasource")
-    public void testDatasource() throws SQLException {
-//        Connection connection = dataSource.getConnection();
-//        System.out.println(connection);
-
-        System.out.println(dataSource.getClass());
-        DruidDataSource druidDataSource = (DruidDataSource) dataSource;
-        System.out.println(druidDataSource.getName());
-        System.out.println("druidDataSource 数据源最大连接数:" + druidDataSource.getMaxActive());
-        System.out.println("druidDataSource 数据源初始化连接数:" + druidDataSource.getInitialSize());
-
-//        connection.close();
-
-    }
-
-}
+//package com.fdkankan.scene.controller;
+//
+//import com.alibaba.druid.pool.DruidDataSource;
+//import com.alibaba.fastjson.JSONObject;
+//import com.fdkankan.common.constant.UploadFilePath;
+//import com.fdkankan.common.controller.BaseController;
+//import com.fdkankan.common.response.ResultData;
+//import com.fdkankan.common.util.SpringUtil;
+//import com.fdkankan.fyun.oss.UploadToOssUtil;
+//import com.fdkankan.platform.api.dto.Camera;
+//import com.fdkankan.platform.api.dto.Company;
+//import com.fdkankan.platform.api.dto.User;
+//import com.fdkankan.platform.api.feign.PlatformGoodsClient;
+//import com.fdkankan.platform.api.feign.PlatformUserClient;
+//import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
+//import com.fdkankan.rabbitmq.config.ModelingQueueConfig;
+//import com.fdkankan.rabbitmq.util.RabbitMqProducer;
+//import com.fdkankan.redis.util.RedisLockUtil;
+//import com.fdkankan.redis.util.RedisUtil;
+//import com.fdkankan.scene.service.IFolderService;
+//import com.fdkankan.scene.service.IScene3dNumService;
+//import com.fdkankan.scene.service.ISceneService;
+//import com.google.common.collect.Lists;
+//import com.yomahub.tlog.task.spring.SpringScheduledTaskAop;
+//import java.sql.SQLException;
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//import javax.sql.DataSource;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.amqp.rabbit.core.RabbitTemplate;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.cloud.context.config.annotation.RefreshScope;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.web.bind.annotation.GetMapping;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RestController;
+//
+//@RefreshScope
+//@RestController
+//@RequestMapping("/service/scene/test")
+//@Slf4j
+//public class TestController extends BaseController {
+//
+//
+//
+//    @Autowired
+//    RedisUtil redisUtil;
+//
+//    @Autowired
+//    IFolderService folderService;
+//
+//    @GetMapping("/testdb")
+//    public List testdb(){
+//        return folderService.list();
+//    }
+//
+//    @Autowired
+//    private PlatformUserClient platformUserClient;
+//
+//    @Autowired
+//    private PlatformGoodsClient platformGoodsClient;
+//
+//    @Autowired
+//    private IScene3dNumService scene3dNumService;
+//
+//    @Autowired
+//    RedisTemplate redisTemplate;
+//
+//    @Autowired
+//    RedisLockUtil redisLockUtil;
+//
+//    @Autowired
+//    private RabbitTemplate rabbitTemplate;
+//
+//    @Autowired
+//    ModelingQueueConfig modelingQueueConfig;
+//    @Autowired
+//    private RabbitMqProducer rabbitMqProducer;
+//
+//    @Autowired
+//    private UploadToOssUtil uploadToOssUtil;
+//
+//
+//
+//    @GetMapping("/test")
+//    public ResultData test() throws Exception {
+//
+////        uploadToOssUtil.uploadBySh(path, "test_dsx/bin.tar");
+//
+//        return ResultData.ok();
+//
+//    }
+//
+//    public static void main(String[] args) throws Exception {
+//
+////        MatrixToImageWriterUtil.createQRCode("http://baidu.com" + "123123", ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+"123123"+".png",
+////                ConstantFilePath.SCENE_PATH + "images/images" + "123123" + "/QRShareLogo.png");
+//    }
+//
+//    @GetMapping("/testSetStr")
+//    public void testSetStr() throws Exception {
+//        redisUtil.set("testIncr", "1");
+//        redisUtil.incr("testIncr",1);
+//        String testIncr = redisUtil.get("testIncr");
+//        System.out.println(testIncr);
+//
+//
+//    }
+//
+//    @GetMapping("/testGetStr")
+//    public String testGetStr() throws Exception {
+//        boolean b = redisUtil.hasKey("90c82bdac_202201050951313830");
+//        String abc = (String)redisUtil.get("abc");
+//        return "123";
+//    }
+//
+//    @GetMapping("/testSetObject")
+//    public boolean testSetObject() throws Exception {
+////        User user = new User();
+////        user.setCity("珠海");
+////        user.setId(123l);
+////
+////        String jsons = JSON.toJSONString(user);
+////
+////        redisTemplate.opsForValue().set("test:66", jsons);
+////        redisTemplate.opsForValue().set("test:67", jsons);
+//
+//        ResultData<Camera>  cameraById = platformGoodsClient.getCameraById(111L);
+//
+//        Camera data = cameraById.getData();
+//
+//        ResultData<Company> companyById = platformUserClient.getCompanyById(111L);
+//
+//
+//
+//
+//
+//
+//        return true;
+//    }
+//
+////
+//    @GetMapping("/testGetObject")
+//    public User testGetObject() throws Exception {
+//        String test12 = redisUtil.get("test66");
+//        User user = JSONObject.parseObject(test12, User.class);
+//        return user;
+//    }
+//
+//
+//    @GetMapping("/testSetList")
+//    public boolean testSetList() throws Exception {
+//
+//        List<String> users = Lists.newArrayList();
+//        users.add("sdfsdf");
+//        users.add("dfgdfg");
+//        return redisUtil.lRightPushAll("test5595jj", users);
+//    }
+//
+//    @GetMapping("/testGetList")
+//    public List<String> testGetList() throws Exception {
+//        return redisUtil.lGet("test5595jj", 0, -1);
+//    }
+//
+//    @GetMapping("/testSetMap")
+//    public boolean testSetMap() throws Exception {
+//
+//        Map<String, User> userMap = new HashMap<>();
+//
+//        User user1 = new User();
+//        user1.setCity("珠海");
+//        user1.setId(123l);
+//
+//        User user2 = new User();
+//        user2.setCity("广州");
+//        user2.setId(124l);
+//
+//        userMap.put("user1", user1);
+//        userMap.put("user2", user2);
+//
+//
+//        return redisUtil.hmset("userMap", userMap);
+//    }
+//
+//    @GetMapping("/testGetMap")
+//    public Map<String ,User> testGetMap() throws Exception {
+//        return redisUtil.hmget("userMap");
+//    }
+//
+//    @Autowired
+//    ISceneService sceneService;
+//
+//    @GetMapping("/testSchedule")
+//    public void testSchedule(){
+//        sceneService.updatePv();
+//    }
+//
+//    @RefreshScope
+//    @GetMapping("/testResult")
+//    public void testResult(){
+////        rocketMQProducer.sendOneWay("topic_modeling_a_result", BuildSceneResultMqMessage.builder().buildSuccess(true).cameraType("3").build());
+//        String dsfsdf = (String) redisUtil.get("dsfsdf");
+//        System.out.println(2134);
+//
+//    }
+//
+//    @Autowired
+//    DataSource dataSource;
+//
+//    @GetMapping("/testDatasource")
+//    public void testDatasource() throws SQLException {
+////        Connection connection = dataSource.getConnection();
+////        System.out.println(connection);
+//
+//        System.out.println(dataSource.getClass());
+//        DruidDataSource druidDataSource = (DruidDataSource) dataSource;
+//        System.out.println(druidDataSource.getName());
+//        System.out.println("druidDataSource 数据源最大连接数:" + druidDataSource.getMaxActive());
+//        System.out.println("druidDataSource 数据源初始化连接数:" + druidDataSource.getInitialSize());
+//
+////        connection.close();
+//
+//    }
+//
+//}

+ 0 - 223
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/ScenePO.java

@@ -1,223 +0,0 @@
-package com.fdkankan.scene.entity;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.Date;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class ScenePO{
-
-    private Long id;
-
-    /**
-     * 场景名称
-     */
-    private String sceneName;
-
-    /**
-     * 场景描述
-     */
-    private String sceneDec;
-
-    /**
-     * 场景的链接地址
-     */
-    private String webSite;
-
-    /**
-     * 场景缩略图
-     */
-    private String thumb;
-
-    /**
-     * 0表示未建好,1表示建好,-1表示出错,-2表示不要在官网上显示
-     */
-    private Integer sceneStatus;
-
-    /**
-     * 原始的大场景数据(七牛)
-     */
-    private String dataSource;
-
-    /**
-     * 用户表t_user的id
-     */
-    private Long userId;
-
-    /**
-     * 0表示未付款,1表示付款了,-1表示欠费
-     */
-    private Integer payStatus;
-
-    /**
-     * 相机主表t_camera的id
-     */
-    private Long cameraId;
-
-    /**
-     * 手机id
-     */
-    private String phoneId;
-
-    /**
-     * 大场景序号
-     */
-    private String num;
-
-    /**
-     * 大场景的密钥
-     */
-    private String sceneKey;
-
-    /**
-     * 0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居
-     */
-    private Integer sceneType;
-
-    /**
-     * 1表示推荐,0表示正常
-     */
-    private Integer recommend;
-
-    /**
-     * 浏览次数
-     */
-    private Integer viewCount;
-
-    /**
-     * 版本
-     */
-    private Integer version;
-
-    /**
-     * 表示缩略图是否存在
-     */
-    private Integer thumbStatus;
-
-    /**
-     * 0表示默认,1表示自己上传
-     */
-    private String floorLogo;
-
-    /**
-     * 标记大小
-     */
-    private Integer floorLogoSize;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-
-    /**
-     * 更新时间
-     */
-    private Date updateTime;
-
-    /**
-     * 0-有效,1-删除
-     */
-    private Integer tbStatus;
-
-    private String hotsIds;
-
-    /**
-     * 表示初始点信息
-     */
-    private String entry;
-
-    /**
-     * 拍摄数量
-     */
-    private Integer shootCount;
-
-    /**
-     * 风格
-     */
-    private Integer style;
-
-    /**
-     * 要gps定位
-     */
-    private String gps;
-
-    /**
-     * 方案:1是双目,2是转台,3是六目,4是八目
-     */
-    private Integer sceneScheme;
-
-    /**
-     * 背景音乐名称
-     */
-    private String bgMusic;
-
-    /**
-     * 记录的状态,A: 生效,I: 禁用
-     */
-    private String recStatus;
-
-    /**
-     * 普通录屏文件地址
-     */
-    private String screencapVoiceSrc;
-
-    /**
-     * 旧版录屏数据地址
-     */
-    private String screencapMusic;
-
-    /**
-     * 录屏文件个数
-     */
-    private Integer screencapLen;
-
-    /**
-     * 录音文件地址
-     */
-    private String screencapVoiceSound;
-
-    /**
-     * 选择的类型,sound为screencapVoiceSound,file为screencapVoiceSrc
-     */
-    private String screencapVoiceType;
-
-    /**
-     * 录屏文件地址
-     */
-    private String playData;
-
-    /**
-     * 算法类型
-     */
-    private String algorithm;
-
-    /**
-     * oss服务商
-     */
-    private String oss;
-
-    /**
-     * 重新建模的版本
-     */
-    private Integer floorEditVer;
-
-    /**
-     * 正式发布重新建模的版本
-     */
-    private Integer floorPublishVer;
-
-    /**
-     * 使用容量
-     */
-    private Long space;
-
-    /**
-     * 录屏图片存放文件
-     */
-    private String screencapThumb;
-
-}

+ 117 - 24
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/ScenePro.java

@@ -1,11 +1,14 @@
 package com.fdkankan.scene.entity;
 package com.fdkankan.scene.entity;
 
 
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Getter;
-import lombok.Setter;
-
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,7 +16,7 @@ import java.util.Date;
  * </p>
  * </p>
  *
  *
  * @author 
  * @author 
- * @since 2022-01-20
+ * @since 2022-07-11
  */
  */
 @Getter
 @Getter
 @Setter
 @Setter
@@ -50,18 +53,48 @@ public class ScenePro implements Serializable {
     private String thumb;
     private String thumb;
 
 
     /**
     /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 0表示未建好,1表示建好,-1表示出错,-2表示不要在官网上显示
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 原始的大场景数据(七牛)
+     */
+    @TableField("data_source")
+    private String dataSource;
+
+    /**
      * 用户表t_user的id
      * 用户表t_user的id
      */
      */
     @TableField("user_id")
     @TableField("user_id")
     private Long userId;
     private Long userId;
 
 
     /**
     /**
+     * 0表示未付款,1表示付款了,-1表示欠费,-2表示容量不足
+     */
+    @TableField("pay_status")
+    private Integer payStatus;
+
+    /**
      * 相机主表t_camera的id
      * 相机主表t_camera的id
      */
      */
     @TableField("camera_id")
     @TableField("camera_id")
     private Long cameraId;
     private Long cameraId;
 
 
     /**
     /**
+     * 手机id
+     */
+    @TableField("phone_id")
+    private String phoneId;
+
+    /**
      * 场景logo
      * 场景logo
      */
      */
     @TableField("scene_logo")
     @TableField("scene_logo")
@@ -74,12 +107,36 @@ public class ScenePro implements Serializable {
     private String num;
     private String num;
 
 
     /**
     /**
-     * 0-其他,1-文博,2-地产,3-电商,4-餐饮,5-家居,99-一件换装虚拟房源
+     * 0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居,99一件换装虚拟房源
      */
      */
     @TableField("scene_type")
     @TableField("scene_type")
     private Integer sceneType;
     private Integer sceneType;
 
 
     /**
     /**
+     * 1表示推荐,0表示正常
+     */
+    @TableField("recommend")
+    private Integer recommend;
+
+    /**
+     * 浏览次数
+     */
+    @TableField("view_count")
+    private Integer viewCount;
+
+    /**
+     * 拍摄数量 ps:点位数量
+     */
+    @TableField("shoot_count")
+    private Integer shootCount;
+
+    /**
+     * 所有资源文件名
+     */
+    @TableField("files_name")
+    private String filesName;
+
+    /**
      * 点位视频
      * 点位视频
      */
      */
     @TableField("videos")
     @TableField("videos")
@@ -92,47 +149,83 @@ public class ScenePro implements Serializable {
     private String gps;
     private String gps;
 
 
     /**
     /**
-     * 方案:1-双目,2-转台,3-六目,4-八目,10-获取4k图,11-获取2k,12-获取1k
+     * 方案:1是双目,2是转台,3是六目,4是八目,10获取4k图,11获取2k,12获取1k
      */
      */
     @TableField("scene_scheme")
     @TableField("scene_scheme")
     private Integer sceneScheme;
     private Integer sceneScheme;
 
 
     /**
     /**
-     * 0表示未付款,1表示付款了,-1表示欠费,-2表示容量不足
+     * 记录的状态,A: 生效,I: 禁用
      */
      */
-    @TableField("pay_status")
-    private Integer payStatus;
+    @TableField("rec_status")
+    @TableLogic
+    private String recStatus;
 
 
     /**
     /**
-     * 0表示未建好,1表示建好,-1表示出错,-2表示不要在官网上显示
+     * 更新时间
      */
      */
-    @TableField("scene_status")
-    private Integer sceneStatus;
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 算法类型
+     */
+    @TableField("algorithm")
+    private String algorithm;
 
 
     /**
     /**
-     * 算法类型(V2,V3)
+     * 服务器的服务商
+     */
+    @TableField("ecs")
+    private String ecs;
+
+    /**
+     * 使用容量
+     */
+    @TableField("space")
+    private Long space;
+
+    /**
+     * 固件版本
+     */
+    @TableField("firmware_version")
+    private String firmwareVersion;
+
+    /**
+     * 调用V2还是V3的算法
      */
      */
     @TableField("build_type")
     @TableField("build_type")
     private String buildType;
     private String buildType;
 
 
     /**
     /**
-     * 创建时间
+     * 计算时间(秒为单位)
      */
      */
-    @TableField("create_time")
-    private Date createTime;
+    @TableField("compute_time")
+    private Long computeTime;
 
 
     /**
     /**
-     * 更新时间
+     * 场景来源,相机拍摄10以内表示,1表示八目,2双目,3转台,4 激光  其他来源10以上,11:一键换装,12:123看房,13文通虚拟场景,14上传的matterport场景
      */
      */
-    @TableField("update_time")
-    private Date updateTime;
+    @TableField("scene_source")
+    private Integer sceneSource;
 
 
     /**
     /**
-     * 0-有效,1-删除
+     * 大场景序号(随心装场景码)
      */
      */
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
+    @TableField("vrnum")
+    private String vrnum;
+
+    @TableField("unicode")
+    private String unicode;
+
+    @TableField("mosaics")
+    private String mosaics;
+
+    /**
+     * 是否已升级v4(0-否,1-是)
+     */
+    @TableField("is_upgrade")
+    private Integer isUpgrade;
 
 
 
 
 }
 }

+ 0 - 22
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/FloorLogoHandlerFactory.java

@@ -1,22 +0,0 @@
-package com.fdkankan.scene.factory;
-
-import cn.hutool.extra.spring.SpringUtil;
-import com.fdkankan.scene.factory.handler.FloorLogoHandler;
-import com.fdkankan.scene.factory.handler.ISaveUploadHandler;
-import com.fdkankan.scene.factory.handler.MusicHandler;
-
-/**
- * <p>
- * logo图片保存业务处理器工厂
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-public class FloorLogoHandlerFactory implements ISaveUploadHandlerFactory {
-
-    @Override
-    public ISaveUploadHandler getHandler() {
-        return SpringUtil.getBean(FloorLogoHandler.class);
-    }
-}

+ 0 - 22
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/FloorPlanHandlerFactory.java

@@ -1,22 +0,0 @@
-package com.fdkankan.scene.factory;
-
-import cn.hutool.extra.spring.SpringUtil;
-import com.fdkankan.scene.factory.handler.FloorPlanHandler;
-import com.fdkankan.scene.factory.handler.ISaveUploadHandler;
-import com.fdkankan.scene.factory.handler.MusicHandler;
-
-/**
- * <p>
- * 背景音乐保存业务处理器工厂
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-public class FloorPlanHandlerFactory implements ISaveUploadHandlerFactory {
-
-    @Override
-    public ISaveUploadHandler getHandler() {
-        return SpringUtil.getBean(FloorPlanHandler.class);
-    }
-}

+ 0 - 17
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/ISaveUploadHandlerFactory.java

@@ -1,17 +0,0 @@
-package com.fdkankan.scene.factory;
-
-import com.fdkankan.scene.factory.handler.ISaveUploadHandler;
-
-/**
- * <p>
- * 文件上传后保存处理器工厂接口
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-public interface ISaveUploadHandlerFactory {
-
-    ISaveUploadHandler getHandler();
-
-}

+ 0 - 21
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/MusicHandlerFactory.java

@@ -1,21 +0,0 @@
-package com.fdkankan.scene.factory;
-
-import cn.hutool.extra.spring.SpringUtil;
-import com.fdkankan.scene.factory.handler.ISaveUploadHandler;
-import com.fdkankan.scene.factory.handler.MusicHandler;
-
-/**
- * <p>
- * 背景音乐保存业务处理器工厂
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-public class MusicHandlerFactory implements ISaveUploadHandlerFactory {
-
-    @Override
-    public ISaveUploadHandler getHandler() {
-        return SpringUtil.getBean(MusicHandler.class);
-    }
-}

+ 0 - 22
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/ScreenshotHandlerFactory.java

@@ -1,22 +0,0 @@
-package com.fdkankan.scene.factory;
-
-import cn.hutool.extra.spring.SpringUtil;
-import com.fdkankan.scene.factory.handler.ISaveUploadHandler;
-import com.fdkankan.scene.factory.handler.MusicHandler;
-import com.fdkankan.scene.factory.handler.ScreenshotHandler;
-
-/**
- * <p>
- * 背景音乐保存业务处理器工厂
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-public class ScreenshotHandlerFactory implements ISaveUploadHandlerFactory {
-
-    @Override
-    public ISaveUploadHandler getHandler() {
-        return SpringUtil.getBean(ScreenshotHandler.class);
-    }
-}

+ 0 - 71
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorLogoHandler.java

@@ -1,71 +0,0 @@
-package com.fdkankan.scene.factory.handler;
-
-import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.response.ResultData;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.service.ISceneProService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * <p>
- * logo图片保存业务处理器
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-@Component
-public class FloorLogoHandler implements ISaveUploadHandler {
-
-    @Autowired
-    private ISceneEditInfoService sceneEditInfoService;
-    @Autowired
-    private ISceneProService sceneProService;
-    @Autowired
-    private IScenePlusService scenePlusService;
-
-    @Override
-    public ResultData save(String num, String fileInfo) {
-
-//        ScenePro scenePro = sceneProService.findBySceneNum(num);
-        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
-        if(Objects.isNull(scenePlus))
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-
-        JSONObject fileInfoJson = JSON.parseObject(fileInfo);
-        String floorLogo = fileInfoJson.getString("floorLogo");
-        //如果传过来的文件路径是空,则置为系统默认
-        floorLogo = StrUtil.isBlank(floorLogo) ? "0" : floorLogo;
-        Integer floorLogoSize = fileInfoJson.getInteger("floorLogoSize");
-
-        SceneEditInfo sceneEditInfoDb = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
-        if(Objects.nonNull(sceneEditInfoDb)){
-            sceneEditInfoService.update(new LambdaUpdateWrapper<SceneEditInfo>()
-                    .set(SceneEditInfo::getFloorLogo, floorLogo)
-                    .set(SceneEditInfo::getFloorLogoSize, floorLogoSize)
-                    .eq(SceneEditInfo::getId, sceneEditInfoDb.getId()));
-        }else{
-            sceneEditInfoDb = new SceneEditInfo();
-            sceneEditInfoDb.setScenePlusId(scenePlus.getId());
-            sceneEditInfoDb.setFloorLogo(floorLogo);
-            sceneEditInfoDb.setFloorLogoSize(floorLogoSize);
-            sceneEditInfoService.save(sceneEditInfoDb);
-        }
-
-
-        return ResultData.ok();
-    }
-}

+ 0 - 127
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorPlanHandler.java

@@ -1,127 +0,0 @@
-package com.fdkankan.scene.factory.handler;
-
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.fdkankan.common.constant.ConstantFilePath;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.constant.UploadFilePath;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.response.ResultData;
-import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePlusExt;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.entity.SceneProExt;
-import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.IScenePlusExtService;
-import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.service.ISceneProExtService;
-import com.fdkankan.scene.service.ISceneProService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * <p>
- * logo图片保存业务处理器
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-@Component
-public class FloorPlanHandler implements ISaveUploadHandler {
-
-    @Autowired
-    private ISceneEditInfoService sceneEditInfoService;
-    @Autowired
-    private ISceneProService sceneProService;
-    @Autowired
-    private ISceneProExtService sceneProExtService;
-    @Autowired
-    UploadToOssUtil uploadToOssUtil;
-    @Autowired
-    IScenePlusService scenePlusService;
-    @Autowired
-    IScenePlusExtService scenePlusExtService;
-
-    @Override
-    public ResultData save(String num, String fileInfo) throws Exception {
-
-//        ScenePro scenePro = sceneProService.findBySceneNum(num);
-        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
-        if(Objects.isNull(scenePlus))
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-        JSONObject fileInfoJson = JSON.parseObject(fileInfo);
-        //户型图文件路径
-        String cadInfo = fileInfoJson.getString("cadInfo");
-        String floorJsonData = fileInfoJson.getString("floorJsonData");
-
-//        String filePaths = fileInfoJson.getString("filePaths");
-//        JSONArray filePathsArrs = JSONUtil.parseArray(filePaths);
-//        List<String> filePathsList = filePathsArrs.toList(String.class);
-//        StringBuilder filePathBuilder = new StringBuilder();
-//        filePathsList.parallelStream().forEach(path -> {
-//            filePathBuilder.append(",").append(path);
-//        });
-
-
-        //写入数据库
-        SceneEditInfo sceneEditInfoDb = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
-        if(Objects.nonNull(sceneEditInfoDb)){
-            sceneEditInfoService.update(new LambdaUpdateWrapper<SceneEditInfo>()
-                    .setSql("version=version+"+1)
-//                    .set(SceneEditInfo::getFloorPlanPath, filePathBuilder.substring(1))
-//                    .set(SceneEditInfo::getCadInfo, cadInfo)
-                    .eq(SceneEditInfo::getId, sceneEditInfoDb.getId()));
-        }else{
-            sceneEditInfoDb = new SceneEditInfo();
-            sceneEditInfoDb.setScenePlusId(scenePlus.getId());
-//            sceneEditInfoDb.setFloorPlanPath(filePaths);
-//            sceneEditInfoDb.setCadInfo(cadInfo);
-            sceneEditInfoService.save(sceneEditInfoDb);
-        }
-
-        //上传houst_floor.json文件
-        String localDataPath = String.format(ConstantFilePath.DATABUFFER_FORMAT, num);
-        String dataPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
-
-        // TODO: 2022/1/27 旧版本目录,待删除
-        String oldDataPath = String.format(ConstantFilePath.DATA_PATH_FORMAT, num);
-
-        if(StrUtil.isEmpty(floorJsonData)){
-//            SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
-            ScenePlusExt scenePlusExt= scenePlusExtService
-                .getScenePlusExtByPlusId(scenePlus.getId());
-            // TODO: 2022/1/27 老版本数据目录挂在nas,新版本目前流程尚不清楚,先暂时按照老版本写,以后再调整
-            FileUtils.copyFile(scenePlusExt.getDataSource() + "/results/floor.json", localDataPath + "houst_floor.json", true);
-            uploadToOssUtil.upload(localDataPath + "houst_floor.json", dataPath + "houst_floor.json");
-
-            // TODO: 2022/1/27 老版本上传目录 待删除
-            uploadToOssUtil.upload(localDataPath + "houst_floor.json", oldDataPath + "houst_floor.json");
-
-            String result = FileUtils.readFile(localDataPath + "houst_floor.json");
-            return ResultData.ok(result);
-        }
-
-        FileUtils.writeFile(localDataPath + "houst_floor.json", floorJsonData);
-        uploadToOssUtil.upload(localDataPath + "houst_floor.json", dataPath + "houst_floor.json");
-
-        // TODO: 2022/1/27 老版本上传目录 待删除
-        uploadToOssUtil.upload(localDataPath + "houst_floor.json", oldDataPath + "houst_floor.json");
-
-        return ResultData.ok();
-    }
-
-}

+ 0 - 19
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/ISaveUploadHandler.java

@@ -1,19 +0,0 @@
-package com.fdkankan.scene.factory.handler;
-
-import com.fdkankan.common.response.ResultData;
-
-import java.util.List;
-
-/**
- * <p>
- * 上传后保存业务处理器接口
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-public interface ISaveUploadHandler {
-
-    ResultData save(String num, String fileInfo) throws Exception;
-
-}

+ 0 - 67
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/MusicHandler.java

@@ -1,67 +0,0 @@
-package com.fdkankan.scene.factory.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.response.ResultData;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.IScenePlusExtService;
-import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.service.ISceneProService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * <p>
- * 背景音乐保存业务处理器
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-@Component
-public class MusicHandler implements ISaveUploadHandler {
-
-    @Autowired
-    private ISceneEditInfoService sceneEditInfoService;
-    @Autowired
-    private ISceneProService sceneProService;
-    @Autowired
-    IScenePlusService scenePlusService;
-    @Autowired
-    IScenePlusExtService scenePlusExtService;
-
-    @Override
-    public ResultData save(String num, String fileInfo) {
-
-//        ScenePro scenePro = sceneProService.findBySceneNum(num);
-        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
-        if(Objects.isNull(scenePlus))
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-
-        JSONObject fileInfoJson = JSON.parseObject(fileInfo);
-        String music = fileInfoJson.getString("music");
-
-        SceneEditInfo sceneEditInfoDb = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
-        if(Objects.nonNull(sceneEditInfoDb)){
-            sceneEditInfoService.update(new LambdaUpdateWrapper<SceneEditInfo>()
-                    .set(SceneEditInfo::getMusic, music)
-                    .eq(SceneEditInfo::getId, sceneEditInfoDb.getId()));
-        }else{
-            sceneEditInfoDb = new SceneEditInfo();
-            sceneEditInfoDb.setScenePlusId(scenePlus.getId());
-            sceneEditInfoDb.setMusic(music);
-            sceneEditInfoService.save(sceneEditInfoDb);
-        }
-
-        return ResultData.ok();
-    }
-}

+ 0 - 69
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/ScreenshotHandler.java

@@ -1,69 +0,0 @@
-package com.fdkankan.scene.factory.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.fdkankan.common.constant.CommonStatus;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.response.ResultData;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.IScenePlusExtService;
-import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.service.ISceneProService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.Objects;
-
-/**
- * <p>
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/20
- **/
-@Component
-public class ScreenshotHandler implements ISaveUploadHandler {
-
-    @Autowired
-    private ISceneEditInfoService sceneEditInfoService;
-    @Autowired
-    private ISceneProService sceneProService;
-    @Autowired
-    IScenePlusService scenePlusService;
-    @Autowired
-    IScenePlusExtService scenePlusExtService;
-
-    @Override
-    public ResultData save(String num, String fileInfo) {
-
-//        ScenePro scenePro = sceneProService.findBySceneNum(num);
-//        if(Objects.isNull(scenePro))
-//            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-//
-//        JSONObject fileInfoJson = JSON.parseObject(fileInfo);
-//        String initialPoint = fileInfoJson.getString("initialPoint");
-//
-//        // TODO: 2022/1/28旧代码中根据thumbBigImg.jpg生成thumbSmallImg.jpg,这里暂时不知道要不要,先留着
-//
-//        SceneEditInfo sceneEditInfoDb = sceneEditInfoService.getBySceneProId(scenePro.getId());
-//        if(Objects.nonNull(sceneEditInfoDb)){
-//            sceneEditInfoService.update(new LambdaUpdateWrapper<SceneEditInfo>()
-//                    .setSql("version=version+" + 1)
-//                    .set(SceneEditInfo::getInitialPoint, initialPoint)
-//                    .set(SceneEditInfo::getThumbStatus, CommonStatus.YES.code())
-//                    .eq(SceneEditInfo::getId, sceneEditInfoDb.getId()));
-//        }else{
-//            sceneEditInfoDb = new SceneEditInfo();
-//            sceneEditInfoDb.setSceneProId(scenePro.getId());
-//            sceneEditInfoDb.setInitialPoint(initialPoint);
-//            sceneEditInfoDb.setThumbStatus(CommonStatus.YES.code());
-//            sceneEditInfoService.save(sceneEditInfoDb);
-//        }
-
-        return ResultData.ok();
-    }
-}

+ 2 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/generate/AutoGenerate.java

@@ -47,8 +47,8 @@ public class AutoGenerate {
 
 
 
 
     public static void  generate(String path,String moduleName,  List<String> tables){
     public static void  generate(String path,String moduleName,  List<String> tables){
-        FastAutoGenerator.create("jdbc:mysql://120.24.144.164:3306/4dkankan-center-scene",
-                "root","4Dage@4Dage#@168")
+        FastAutoGenerator.create("jdbc:mysql://120.24.144.164:3306/4dkankan_v4",
+            "root","4Dage@4Dage#@168")
                 .globalConfig(builder -> {
                 .globalConfig(builder -> {
                     builder.author("")               //作者
                     builder.author("")               //作者
                             .outputDir(path+"\\src\\main\\java")    //输出路径(写到java目录)
                             .outputDir(path+"\\src\\main\\java")    //输出路径(写到java目录)

+ 18 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/ISceneProMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.ScenePro;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * pro场景表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-11
+ */
+@Mapper
+public interface ISceneProMapper extends BaseMapper<ScenePro> {
+
+}

+ 0 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/ISceneUpgradeMapper.java

@@ -1,9 +1,6 @@
 package com.fdkankan.scene.mapper;
 package com.fdkankan.scene.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.fdkankan.scene.entity.Folder;
-import com.fdkankan.scene.vo.FolderVO;
-import java.util.List;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 /**
 /**

+ 0 - 99
4dkankan-center-scene/src/main/java/com/fdkankan/scene/schedule/ScheduleJob.java

@@ -1,99 +0,0 @@
-package com.fdkankan.scene.schedule;
-
-import com.fdkankan.common.util.RubberSheetingUtil;
-import com.fdkankan.rabbitmq.util.RabbitMqProducer;
-import com.fdkankan.redis.constant.RedisKey;
-import com.fdkankan.redis.constant.RedisLockKey;
-import com.fdkankan.redis.util.RedisLockUtil;
-import com.fdkankan.scene.service.IScene3dNumService;
-import com.fdkankan.scene.service.ISceneService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Slf4j
-@Component
-public class ScheduleJob {
-
-    @Value("${environment}")
-    private String environment;
-    @Value("${queue.modeling.modeling-call}")
-    private String queueModelingCall;
-    @Value("${scaling.mq.threshold.modeling-call}")
-    private String modelingCallMqThreshold;
-
-    @Autowired
-    ISceneService sceneService;
-    @Autowired
-    private IScene3dNumService scene3dNumService;
-    @Autowired
-    private RedisLockUtil redisLockUtil;
-    @Autowired
-    RubberSheetingUtil rubberSheetingUtil;
-    @Autowired
-    RabbitMqProducer rabbitMqProducer;
-
-//    /**
-//     * 更新浏览量
-//     */
-//    @Scheduled(cron = "0 0/10 * * * ? ")
-//    public void updateViewCount() {
-//        if("hq".equals(environment)){
-//            return;
-//        }
-//        log.info("执行定时任务开始:更新浏览量");
-//        try {
-//            //更新浏览量
-//            sceneService.updatePv();
-//        } catch (Exception e) {
-//            log.error("更新浏览量定时任务出错:", e);
-//        }
-//        log.info("执行定时任务结束:更新浏览量");
-//    }
-//
-//    /**
-//     * <p>
-//            定时生成场景码
-//            查询码池中未使用场景码数量,如果小于阈值,执行批量生成
-//     * </p>
-//     * @author dengsixing
-//     * @date 2022/3/26
-//     **/
-//    @Scheduled(cron = "0 0/1 * * * ? ")
-//    public void generateSceneCode(){
-//        log.info("执行定时任务开始:批量生成场景码");
-//        scene3dNumService.batchCreateSceneNum();
-//        log.info("执行定时任务结束:批量生成场景码");
-//    }
-
-//    /**
-//     * 开启场景计算弹性伸缩
-//     */
-//    @Scheduled(cron = "0 0/5 8-21 * * ? ")
-//    public void startupModelingServer() {
-//        if("hq".equals(environment)){
-//            return;
-//        }
-//        boolean lock = redisLockUtil.lock(
-//            RedisLockKey.LOCK_STARTUP_MODELING_SERVER, RedisKey.EXPIRE_TIME_5_MINUTE);
-//        if(!lock){
-//            return;
-//        }
-//        try {
-//            //当mq排队数大于指定数量时使用弹性升缩
-//            int mqNum = rabbitMqProducer.getMessageCount(queueModelingCall);
-//            log.info("每5分钟查询一次排队队列,mqNum:" + mqNum);
-//            if(mqNum - Integer.parseInt(modelingCallMqThreshold) > 0){
-//                String responce = rubberSheetingUtil.createEcs();
-//                log.info("开启弹性伸缩:{}", responce);
-//            }
-//        } catch (Exception e) {
-//            log.error(e.getMessage());
-//        }finally {
-//            redisLockUtil.unlockLua(RedisLockKey.LOCK_STARTUP_MODELING_SERVER);
-//        }
-//    }
-
-}

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java

@@ -32,7 +32,7 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
 
     SceneInfoDTO getSceneInfo4Download(SceneInfoParamVO param) throws Exception;
     SceneInfoDTO getSceneInfo4Download(SceneInfoParamVO param) throws Exception;
 
 
-    ResultData saveUpload(SaveUploadParamVO param) throws Exception;
+//    ResultData saveUpload(SaveUploadParamVO param) throws Exception;
 
 
     ResultData saveCad(BaseDataParamVO param) throws Exception;
     ResultData saveCad(BaseDataParamVO param) throws Exception;
 
 

+ 44 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java

@@ -0,0 +1,44 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.scene.entity.ScenePro;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.vo.BaseDataParamVO;
+import com.fdkankan.scene.vo.DeleteHotIconParamVO;
+import com.fdkankan.scene.vo.DeleteHotParamVO;
+import com.fdkankan.scene.vo.FileNameAndDataParamVO;
+import com.fdkankan.scene.vo.SaveTagsParamVO;
+import com.fdkankan.scene.vo.SaveTagsVisibleParamVO;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * pro场景表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-11
+ */
+public interface ISceneProService extends IService<ScenePro> {
+
+    ScenePro findBySceneNum(String sceneNum);
+
+    ResultData saveInitialPage(FileNameAndDataParamVO param) throws Exception;
+
+    ResultData addOrUpdateTag(SaveTagsParamVO param) throws Exception;
+
+    ResultData deleteTag(DeleteHotParamVO param) throws Exception;
+
+    ResultData listTags(String num) throws Exception;
+
+    ResultData deleteIcons(DeleteHotIconParamVO param) throws Exception;
+
+    ResultData saveRoam(BaseDataParamVO param) throws Exception;
+
+    ResultData saveTagsVisible(SaveTagsVisibleParamVO param) throws Exception;
+
+    ResultData downloadTexData(String num) throws Exception ;
+
+    ResultData uploadObjAndImg(String num, MultipartFile file) throws Exception;
+
+}

+ 19 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.scene.vo.BaseSceneParamVO;
+
+/**
+ * <p>
+ * 场景表 服务类
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2021-12-23
+ */
+public interface ISceneService  {
+
+
+    ResultData downLoadZSData(BaseSceneParamVO param) throws Exception;
+
+}

+ 22 - 26
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -54,9 +54,6 @@ import com.fdkankan.scene.entity.SceneEditInfoExt;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.entity.SceneProV3;
 import com.fdkankan.scene.entity.SceneProV3;
-import com.fdkankan.scene.factory.FloorLogoHandlerFactory;
-import com.fdkankan.scene.factory.MusicHandlerFactory;
-import com.fdkankan.scene.factory.ScreenshotHandlerFactory;
 import com.fdkankan.scene.httpclient.FdkankanMiniClient;
 import com.fdkankan.scene.httpclient.FdkankanMiniClient;
 import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
 import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
 import com.fdkankan.scene.service.ISceneDataDownloadService;
 import com.fdkankan.scene.service.ISceneDataDownloadService;
@@ -74,7 +71,6 @@ import com.fdkankan.scene.vo.DownloadVO;
 import com.fdkankan.scene.vo.FileNameAndDataParamVO;
 import com.fdkankan.scene.vo.FileNameAndDataParamVO;
 import com.fdkankan.scene.vo.FileParamVO;
 import com.fdkankan.scene.vo.FileParamVO;
 import com.fdkankan.scene.vo.RenameCadParamVO;
 import com.fdkankan.scene.vo.RenameCadParamVO;
-import com.fdkankan.scene.vo.SaveUploadParamVO;
 import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
 import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
 import com.fdkankan.scene.vo.SceneEditControlsVO;
 import com.fdkankan.scene.vo.SceneEditControlsVO;
 import com.fdkankan.scene.vo.SceneEditInfoParamVO;
 import com.fdkankan.scene.vo.SceneEditInfoParamVO;
@@ -599,28 +595,28 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         return sceneInfoVO;
         return sceneInfoVO;
     }
     }
 
 
-    @Override
-//    @Transactional
-    public ResultData saveUpload(SaveUploadParamVO param) throws Exception {
-        FileBizType fileBizType = FileBizType.get(param.getBizType());
-        String num = param.getNum();
-        String fileInfo = param.getFileInfo();
-        if(Objects.isNull(fileBizType)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7003);
-        }
-        switch (fileBizType){
-            case MUSIC:
-                return new MusicHandlerFactory().getHandler().save(num, fileInfo);
-            case FLOOR_LOGO:
-                return new FloorLogoHandlerFactory().getHandler().save(num, fileInfo);
-//            case FLOOR_PLAN:
-//                return new FloorPlanHandlerFactory().getHandler().save(num, fileInfo);
-            case SCREENSHOT:
-                return new ScreenshotHandlerFactory().getHandler().save(num, fileInfo);
-
-        }
-        return ResultData.ok();
-    }
+//    @Override
+////    @Transactional
+//    public ResultData saveUpload(SaveUploadParamVO param) throws Exception {
+//        FileBizType fileBizType = FileBizType.get(param.getBizType());
+//        String num = param.getNum();
+//        String fileInfo = param.getFileInfo();
+//        if(Objects.isNull(fileBizType)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_7003);
+//        }
+//        switch (fileBizType){
+//            case MUSIC:
+//                return new MusicHandlerFactory().getHandler().save(num, fileInfo);
+//            case FLOOR_LOGO:
+//                return new FloorLogoHandlerFactory().getHandler().save(num, fileInfo);
+////            case FLOOR_PLAN:
+////                return new FloorPlanHandlerFactory().getHandler().save(num, fileInfo);
+//            case SCREENSHOT:
+//                return new ScreenshotHandlerFactory().getHandler().save(num, fileInfo);
+//
+//        }
+//        return ResultData.ok();
+//    }
 
 
     @Override
     @Override
     public ResultData saveCad(BaseDataParamVO param) throws Exception {
     public ResultData saveCad(BaseDataParamVO param) throws Exception {

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1070 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java


+ 46 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -0,0 +1,46 @@
+package com.fdkankan.scene.service.impl;
+
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.scene.service.ISceneDataDownloadService;
+import com.fdkankan.scene.service.ISceneService;
+import com.fdkankan.scene.vo.BaseSceneParamVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 场景表 服务实现类
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2021-12-23
+ */
+@Slf4j
+@Service
+public class SceneServiceImpl implements ISceneService {
+
+//    @Autowired
+//    ISceneProService sceneProService;
+    @Autowired
+    private ISceneDataDownloadService sceneDataDownloadService;
+
+
+    @Override
+    public ResultData downLoadZSData(BaseSceneParamVO param) throws Exception {
+//        String num = param.getNum();
+//        ScenePro scenePro = sceneProService.findBySceneNum(num);
+//        if(scenePro == null){
+//            throw new BusinessException(ServerCode.PARAM_REQUIRED, "num");
+//        }
+//
+//        SceneDataDownload sceneDataDownload = sceneDataDownloadService.findBySceneNum(num);
+//        if(sceneDataDownload == null){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_5025);
+//        }
+//
+//        return ResultData.ok(BeanUtil.copyProperties(sceneDataDownload, SceneDataDownloadVO.class));
+        return null;
+    }
+
+}

+ 184 - 210
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneUpgradeToV4Service.java

@@ -1,210 +1,184 @@
-//package com.fdkankan.scene.service.impl;
-//
-//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.fdkankan.common.constant.ConstantFilePath;
-//import com.fdkankan.common.constant.ErrorCode;
-//import com.fdkankan.common.constant.SceneResolution;
-//import com.fdkankan.common.response.ResultData;
-//import com.fdkankan.fyun.oss.UploadToOssUtil;
-//import com.fdkankan.rabbitmq.util.RabbitMqProducer;
-//import com.fdkankan.redis.constant.RedisKey;
-//import com.fdkankan.redis.constant.RedisLockKey;
-//import com.fdkankan.redis.util.RedisLockUtil;
-//import com.fdkankan.redis.util.RedisUtil;
-//import com.fdkankan.scene.bean.SceneUpgradeProgressBean;
-//import com.fdkankan.scene.entity.ScenePlus;
-//import com.fdkankan.scene.entity.ScenePlusExt;
-//import com.fdkankan.scene.entity.ScenePro;
-//import com.fdkankan.scene.entity.SceneProEdit;
-//import com.fdkankan.scene.entity.SceneProEditExt;
-//import com.fdkankan.scene.entity.SceneProEditV3;
-//import com.fdkankan.scene.entity.SceneProExt;
-//import com.fdkankan.scene.entity.SceneProV3;
-//import com.fdkankan.scene.entity.SceneRepairLog;
-//import com.fdkankan.scene.mapper.ISceneUpgradeMapper;
-//import com.fdkankan.scene.service.IScenePlusExtService;
-//import com.fdkankan.scene.service.IScenePlusService;
-//import com.fdkankan.scene.service.ISceneProEditExtService;
-//import com.fdkankan.scene.service.ISceneProEditService;
-//import com.fdkankan.scene.service.ISceneProEditV3Service;
-//import com.fdkankan.scene.service.ISceneProExtService;
-//import com.fdkankan.scene.service.ISceneProService;
-//import com.fdkankan.scene.service.ISceneProV3Service;
-//import com.fdkankan.scene.service.ISceneRepairLogService;
-//import com.fdkankan.scene.service.ISceneUpgradeToV4Service;
-//import com.fdkankan.scene.vo.SceneInfoVO;
-//import com.fdkankan.scene.vo.UpgradeToV4ParamVO;
-//import java.util.HashMap;
-//import java.util.Map;
-//import java.util.Objects;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.stereotype.Service;
-//
-///**
-// * <p>
-// * TODO
-// * </p>
-// *
-// * @author dengsixing
-// * @since 2022/4/21
-// **/
-//@Slf4j
-//@Service
-//public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
-//
-//    @Value("${queue.scene.upgrade-to-v4}")
-//    private String upgradeToV4;
-//    @Value("${oss.bucket:4dkankan}")
-//    private String bucket;
-//
-//    @Autowired
-//    private ISceneProV3Service sceneProV3Service;
-//    @Autowired
-//    private ISceneProEditV3Service sceneProEditV3Service;
-//    @Autowired
-//    private ISceneUpgradeMapper sceneUpgradeMapper;
-//    @Autowired
-//    private RedisLockUtil redisLockUtil;
-//    @Autowired
-//    private ISceneRepairLogService sceneRepairLogService;
-//    @Autowired
-//    private RabbitMqProducer rabbitMqProducer;
-//    @Autowired
-//    private RedisUtil redisUtil;
-//    @Autowired
-//    private ISceneProService sceneProService;
-//    @Autowired
-//    private ISceneProExtService sceneProExtService;
-//    @Autowired
-//    private IScenePlusService scenePlusService;
-//    @Autowired
-//    private IScenePlusExtService scenePlusExtService;
-//    @Autowired
-//    private ISceneProEditService sceneProEditService;
-//    @Autowired
-//    private ISceneProEditExtService sceneProEditExtService;
-//    @Autowired
-//    private UploadToOssUtil uploadToOssUtil;
-//
-//    @Override
-//    public ResultData upgradeToV4(UpgradeToV4ParamVO param) {
-//
-//        String num = param.getNum();
-//        sceneProService
-//
-//        //加锁
-//        String lockKey = String.format(RedisLockKey.LOCK_SCENE_UPGRADE_V4, num);
-//        boolean lock = redisLockUtil.lock(lockKey,RedisKey.EXPIRE_TIME_2_HOUR);
-//        if(!lock){
-//            return ResultData.error(ErrorCode.FAILURE_CODE_7019);
-//        }
-//
-//        try {
-//            //查询升级日志,如果已经升级成功,不允许重复升级
-//            SceneRepairLog sceneRepairLog = sceneRepairLogService.getOne(
-//                new LambdaQueryWrapper<SceneRepairLog>()
-//                    .eq(SceneRepairLog::getNum, num));
-//            if(Objects.nonNull(sceneRepairLog)){
-//                if(sceneRepairLog.getState() == 0){
-//                    redisLockUtil.unlockLua(lockKey);
-//                    return ResultData.error(ErrorCode.FAILURE_CODE_7019);
-//                }
-//                if(!param.isReUpgrade()){
-//                    if(sceneRepairLog.getState() == 1){
-//                        redisLockUtil.unlockLua(lockKey);
-//                        return ResultData.error(ErrorCode.FAILURE_CODE_7020);
-//                    }
-//                }
-//            }
-//
-//            //同步到scenePro、sceneProExt
-//            sceneUpgradeMapper.deleteScenePro(sceneProV3.getId());
-//            sceneUpgradeMapper.transferScenePro(sceneProV3.getId());
-//            sceneUpgradeMapper.deleteSceneProExt(sceneProV3.getId());
-//            sceneUpgradeMapper.transferSceneProExt(sceneProV3.getId());
-//
-//            //国际版需要兼容切片图
-//            ScenePro scenePro = sceneProService.getById(sceneProV3.getId());
-//            SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
-//            if(scenePro.getSceneScheme() == 3){
-//                sceneProExt.setSceneResolution(SceneResolution.TILES.code());
-//                sceneProExtService.updateById(sceneProExt);
-//            }
-//
-//            //同步到scenePlus、scenePlus
-//            sceneUpgradeMapper.deleteScenePlus(sceneProV3.getId());
-//            sceneUpgradeMapper.transferScenePlus(sceneProV3.getId());
-//            sceneUpgradeMapper.deleteScenePlusExt(sceneProV3.getId());
-//            sceneUpgradeMapper.transferScenePlusExt(sceneProV3.getId());
-//
-//            //发送mq
-//            rabbitMqProducer.sendByWorkQueue(upgradeToV4, sceneProV3.getId());
-//
-//            //写入进度条
-//            Map<String, Integer> progress = new HashMap<>();
-//            progress.put("status", 0);
-//            progress.put("progress", 0);
-//            redisUtil.set(RedisKey.scene_upgrade_progress_num, JSON.toJSONString(progress));
-//
-//        }catch (Exception e){
-//            log.error("场景升级失败", e);
-//            return ResultData.error(ErrorCode.FAILURE_CODE_7021);
-//        }
-//
-//        return ResultData.ok();
-//    }
-//
-//    @Override
-//    public ResultData getUpgradeToV4Progress(String num) {
-//
-//        String key = String.format(RedisKey.scene_upgrade_progress_num, num);
-//        String progress = redisUtil.get(key);
-//        SceneUpgradeProgressBean progressBean = null;
-//        if(StrUtil.isNotEmpty(progress)){
-//            progressBean = JSON.parseObject(progress, SceneUpgradeProgressBean.class);
-//        }else{
-//            progressBean = SceneUpgradeProgressBean.builder().num(num).status(0).progress(0).build();
-//        }
-//        return ResultData.ok(progressBean);
-//    }
-//
-//    @Override
-//    public ResultData getSceneViewInfo(String num) {
-//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
-//        String key = String.format(RedisKey.SCENE_JSON, num);
-//        String sceneJson = redisUtil.get(key);
-//        SceneInfoVO sceneInfoVO = null;
-//        //先查询redis
-//        if(StrUtil.isNotEmpty(sceneJson)) {
-//            sceneInfoVO = JSON.parseObject(sceneJson, SceneInfoVO.class);
-//            sceneInfoVO.setScenePassword(null);
-//            if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
-//                sceneInfoVO.setFloorPlanAngle(0f);
-//            }
-//            if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
-//                sceneInfoVO.setFloorPlanCompass(0f);
-//            }
-//            return ResultData.ok(sceneInfoVO);
-//        }
-//
-//        //如果redis没找到,从scene.json中获取
-//        String objectName = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, num);
-//        String objectContent = uploadToOssUtil.getObjectContent(bucket, objectName);
-//        if(StrUtil.isEmpty(objectContent))
-//            return ResultData.ok();
-//        sceneInfoVO = JSON.parseObject(objectContent, SceneInfoVO.class);
-//        sceneInfoVO.setScenePassword(null);
-//        if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
-//            sceneInfoVO.setFloorPlanAngle(0f);
-//        }
-//        if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
-//            sceneInfoVO.setFloorPlanCompass(0f);
-//        }
-//        return ResultData.ok(sceneInfoVO);
-//    }
-//}
+package com.fdkankan.scene.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.common.constant.ConstantFilePath;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.SceneResolution;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.constant.RedisLockKey;
+import com.fdkankan.redis.util.RedisLockUtil;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.bean.SceneUpgradeProgressBean;
+import com.fdkankan.scene.entity.ScenePlus;
+import com.fdkankan.scene.entity.ScenePlusExt;
+import com.fdkankan.scene.entity.ScenePro;
+import com.fdkankan.scene.entity.SceneRepairLog;
+import com.fdkankan.scene.mapper.ISceneUpgradeMapper;
+import com.fdkankan.scene.service.IScenePlusExtService;
+import com.fdkankan.scene.service.IScenePlusService;
+import com.fdkankan.scene.service.ISceneProService;
+import com.fdkankan.scene.service.ISceneRepairLogService;
+import com.fdkankan.scene.service.ISceneUpgradeToV4Service;
+import com.fdkankan.scene.vo.SceneInfoVO;
+import com.fdkankan.scene.vo.UpgradeToV4ParamVO;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/4/21
+ **/
+@Slf4j
+@Service
+public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
+
+    @Value("${queue.scene.upgrade-to-v4}")
+    private String upgradeToV4;
+    @Value("${oss.bucket:4dkankan}")
+    private String bucket;
+
+    @Autowired
+    private ISceneUpgradeMapper sceneUpgradeMapper;
+    @Autowired
+    private RedisLockUtil redisLockUtil;
+    @Autowired
+    private ISceneRepairLogService sceneRepairLogService;
+    @Autowired
+    private RabbitMqProducer rabbitMqProducer;
+    @Autowired
+    private RedisUtil redisUtil;
+    @Autowired
+    private ISceneProService sceneProService;
+    @Autowired
+    private IScenePlusService scenePlusService;
+    @Autowired
+    private IScenePlusExtService scenePlusExtService;
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+
+    @Override
+    public ResultData upgradeToV4(UpgradeToV4ParamVO param) {
+
+        String num = param.getNum();
+        ScenePro scenePro = sceneProService.findBySceneNum(num);
+
+        //加锁
+        String lockKey = String.format(RedisLockKey.LOCK_SCENE_UPGRADE_V4, num);
+        boolean lock = redisLockUtil.lock(lockKey,RedisKey.EXPIRE_TIME_2_HOUR);
+        if(!lock){
+            return ResultData.error(ErrorCode.FAILURE_CODE_7019);
+        }
+
+        try {
+            //查询升级日志,如果已经升级成功,不允许重复升级
+            SceneRepairLog sceneRepairLog = sceneRepairLogService.getOne(
+                new LambdaQueryWrapper<SceneRepairLog>()
+                    .eq(SceneRepairLog::getNum, num));
+            if(Objects.nonNull(sceneRepairLog)){
+                if(sceneRepairLog.getState() == 0){
+                    redisLockUtil.unlockLua(lockKey);
+                    return ResultData.error(ErrorCode.FAILURE_CODE_7019);
+                }
+                if(!param.isReUpgrade()){
+                    if(sceneRepairLog.getState() == 1){
+                        redisLockUtil.unlockLua(lockKey);
+                        return ResultData.error(ErrorCode.FAILURE_CODE_7020);
+                    }
+                }
+            }
+
+
+            //同步到scenePlus、scenePlus
+            sceneUpgradeMapper.deleteScenePlus(scenePro.getId());
+            sceneUpgradeMapper.transferScenePlus(scenePro.getId());
+            sceneUpgradeMapper.deleteScenePlusExt(scenePro.getId());
+            sceneUpgradeMapper.transferScenePlusExt(scenePro.getId());
+
+            //国际版需要兼容切片图
+            ScenePlus scenePlus = scenePlusService.getById(scenePro.getId());
+            ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+            if(scenePlusExt.getSceneScheme() == 3){
+                scenePlusExt.setSceneResolution(SceneResolution.TILES.code());
+                scenePlusExtService.updateById(scenePlusExt);
+            }
+
+            //发送mq
+            rabbitMqProducer.sendByWorkQueue(upgradeToV4, scenePro.getId());
+
+            //写入进度条
+            Map<String, Integer> progress = new HashMap<>();
+            progress.put("status", 0);
+            progress.put("progress", 0);
+            redisUtil.set(RedisKey.scene_upgrade_progress_num, JSON.toJSONString(progress));
+
+        }catch (Exception e){
+            log.error("场景升级失败", e);
+            return ResultData.error(ErrorCode.FAILURE_CODE_7021);
+        }
+
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData getUpgradeToV4Progress(String num) {
+
+        String key = String.format(RedisKey.scene_upgrade_progress_num, num);
+        String progress = redisUtil.get(key);
+        SceneUpgradeProgressBean progressBean = null;
+        if(StrUtil.isNotEmpty(progress)){
+            progressBean = JSON.parseObject(progress, SceneUpgradeProgressBean.class);
+        }else{
+            progressBean = SceneUpgradeProgressBean.builder().num(num).status(0).progress(0).build();
+        }
+        return ResultData.ok(progressBean);
+    }
+
+    @Override
+    public ResultData getSceneViewInfo(String num) {
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+        String key = String.format(RedisKey.SCENE_JSON, num);
+        String sceneJson = redisUtil.get(key);
+        SceneInfoVO sceneInfoVO = null;
+        //先查询redis
+        if(StrUtil.isNotEmpty(sceneJson)) {
+            sceneInfoVO = JSON.parseObject(sceneJson, SceneInfoVO.class);
+            sceneInfoVO.setScenePassword(null);
+            if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
+                sceneInfoVO.setFloorPlanAngle(0f);
+            }
+            if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
+                sceneInfoVO.setFloorPlanCompass(0f);
+            }
+            return ResultData.ok(sceneInfoVO);
+        }
+
+        //如果redis没找到,从scene.json中获取
+        String objectName = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, num);
+        String objectContent = uploadToOssUtil.getObjectContent(bucket, objectName);
+        if(StrUtil.isEmpty(objectContent))
+            return ResultData.ok();
+        sceneInfoVO = JSON.parseObject(objectContent, SceneInfoVO.class);
+        sceneInfoVO.setScenePassword(null);
+        if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
+            sceneInfoVO.setFloorPlanAngle(0f);
+        }
+        if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
+            sceneInfoVO.setFloorPlanCompass(0f);
+        }
+        return ResultData.ok(sceneInfoVO);
+    }
+}

+ 1 - 4
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/Scene3dfamilyVO.java

@@ -1,14 +1,11 @@
 package com.fdkankan.scene.vo;
 package com.fdkankan.scene.vo;
 
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.fdkankan.scene.entity.Scene3dfamily;
+import java.util.Date;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Builder;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 
 
-import java.util.Date;
-
 @Builder
 @Builder
 @Data
 @Data
 @NoArgsConstructor
 @NoArgsConstructor

+ 5 - 0
4dkankan-center-scene/src/main/resources/mapper/scene/SceneProMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.ISceneProMapper">
+
+</mapper>

+ 92 - 16
4dkankan-center-scene/src/main/resources/mapper/scene/SceneUpgradeMapper.xml

@@ -36,25 +36,101 @@
   </insert>
   </insert>
 
 
   <insert id="transferScenePlus" parameterType="java.lang.Long">
   <insert id="transferScenePlus" parameterType="java.lang.Long">
-    INSERT INTO t_scene_plus(`id`,`num`,`user_id`,`camera_id`,`phone_id`,`title`,`description`,`scene_status`,`scene_source`,
-    `pay_status`,`scene_type`,`recommend`,`create_time`,`update_time`,`tb_status`)
-    SELECT pro.id, pro.num,pro.user_id,pro.`camera_id`,ext.phone_id,pro.scene_name,pro.scene_dec,pro.scene_status,ext.`scene_source`,
-    pro.pay_status,pro.scene_type,ext.recommend,pro.create_time,pro.update_time,pro.tb_status
-    FROM t_scene_pro pro
-    LEFT JOIN t_scene_pro_ext ext ON pro.id = ext.scene_pro_id
-    WHERE pro.id = #{sceneProId}
+    INSERT INTO t_scene_plus (
+    `id`,
+    `num`,
+    `user_id`,
+    `camera_id`,
+    `phone_id`,
+    `title`,
+    `description`,
+    `scene_status`,
+    `scene_source`,
+    `pay_status`,
+    `scene_type`,
+    `recommend`,
+    `create_time`,
+    `update_time`,
+    `tb_status`
+  )
+  SELECT
+    p.`id`,
+    p.`num`,
+    p.`user_id`,
+    p.`camera_id`,
+    p.`phone_id`,
+    p.`scene_name`,
+    p.`scene_dec`,
+    p.`status`,
+    p.`scene_source`,
+    p.`pay_status`,
+    p.`scene_type`,
+    p.`recommend`,
+    p.`create_time`,
+    p.`update_time`,
+    CASE WHEN p.rec_status = 'A' THEN 0 ELSE 1 END AS tb_status
+  FROM
+    t_scene_pro p
+  WHERE p.id = #{sceneProId};
   </insert>
   </insert>
 
 
   <insert id="transferScenePlusExt" parameterType="java.lang.Long">
   <insert id="transferScenePlusExt" parameterType="java.lang.Long">
-    INSERT INTO t_scene_plus_ext(plus_id, data_source, web_site,thumb,scene_scheme,SPACE,ecs,
-    shoot_count,view_count,gps,ALGORITHM,firmware_version,build_type,create_time,update_time,tb_status,
-    scene_resolution, scene_from, videos)
-    SELECT pro.id, ext.`data_source`, pro.`web_site`, pro.`thumb`, pro.`scene_scheme`, ext.`space`, ext.`ecs`,
-    ext.`shoot_count`, ext.`view_count`, pro.`gps`, ext.`algorithm`, ext.`firmware_version`, pro.`build_type`, pro.`create_time`, pro.`update_time`, pro.`tb_status`,
-    ext.scene_resolution, ext.scene_from, pro.videos
-    FROM t_scene_pro pro
-    LEFT JOIN t_scene_pro_ext ext ON pro.id = ext.scene_pro_id
-    WHERE pro.id = #{sceneProId}
+    INSERT INTO t_scene_plus_ext (
+    plus_id,
+    data_source,
+    web_site,
+    thumb,
+    scene_scheme,
+    SPACE,
+    ecs,
+    shoot_count,
+    view_count,
+    gps,
+    ALGORITHM,
+    firmware_version,
+    build_type,
+    create_time,
+    update_time,
+    tb_status,
+    scene_resolution,
+    scene_from,
+    videos
+  )
+  SELECT
+    p.id,
+    p.`data_source`,
+    p.`web_site`,
+    p.`thumb`,
+    p.`scene_scheme`,
+    p.`space`,
+    p.`ecs`,
+    p.`shoot_count`,
+    p.`view_count`,
+    p.`gps`,
+    p.`algorithm`,
+    p.`firmware_version`,
+    p.`build_type`,
+    p.`create_time`,
+    p.`update_time`,
+    CASE WHEN p.rec_status = 'A' THEN 0 ELSE 1 END AS tb_status,
+    CASE
+        WHEN p.scene_source = 1 THEN 'tiles/2k'
+        WHEN p.scene_source = 2 THEN 'tiles/1k'
+        WHEN p.scene_source = 3 THEN 'tiles/4k'
+        WHEN p.scene_source = 4 THEN 'tiles/4k'
+        ELSE NULL
+       END AS scene_resolution,
+    CASE
+        WHEN p.scene_source = 1 THEN 'pro'
+        WHEN p.scene_source = 2 THEN 'lite'
+        WHEN p.scene_source = 3 THEN 'minion'
+        WHEN p.scene_source = 4 THEN 'laser'
+        ELSE NULL
+       END AS scene_from,
+    p.videos
+  FROM
+    t_scene_pro p
+  WHERE p.id = #{sceneProId}
   </insert>
   </insert>
 
 
   <insert id="transferSceneProEdit" parameterType="java.lang.Long">
   <insert id="transferSceneProEdit" parameterType="java.lang.Long">

+ 0 - 12
4dkankan-center-scene/src/test/java/com/fdkankan/scene/SceneApplicationTests.java

@@ -1,14 +1,8 @@
 package com.fdkankan.scene;
 package com.fdkankan.scene;
 
 
-import com.fdkankan.common.constant.ConstantFilePath;
-import com.fdkankan.common.util.MatrixToImageWriterUtil;
-import com.fdkankan.scene.service.IFolderService;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest;
 
 
-import java.io.File;
-
 @SpringBootTest
 @SpringBootTest
 class ApplicationTests {
 class ApplicationTests {
 
 
@@ -16,13 +10,7 @@ class ApplicationTests {
     void contextLoads() {
     void contextLoads() {
     }
     }
 
 
-    @Autowired
-    private IFolderService folderService;
 
 
-    @Test
-    public void test(){
-        folderService.list();
-    }
 
 
     @Test
     @Test
     public String test2() throws Exception {
     public String test2() throws Exception {