dengsixing 10 月之前
父節點
當前提交
0a41dd5ee4

+ 4 - 4
src/main/java/com/fdkankan/scene/Interceptor/InitEditInfoAspect.java

@@ -68,11 +68,11 @@ public class InitEditInfoAspect {
 		//请求4a接口获取用户信息
 		Map<String, Object> parameter = WebUtil.getParameter(joinPoint, request);
 		String num = (String) parameter.get("num");
-		Integer subgroup = (Integer) parameter.get("subgroup");
-		if(Objects.isNull(subgroup)){
-			subgroup = 0;
+		Object subgroupObj = parameter.get("subgroup");
+		Integer subgroup = 0;
+		if(Objects.nonNull(subgroupObj)){
+			subgroup = Integer.valueOf(subgroupObj.toString());
 		}
-
 		List<Scene> scenes = sceneService.listByNum(num, subgroup);
 		if(CollUtil.isEmpty(scenes)){
 			throw new BusinessException(ErrorCode.FAILURE_CODE_5005);

+ 29 - 0
src/main/java/com/fdkankan/scene/controller/BaseController.java

@@ -0,0 +1,29 @@
+package com.fdkankan.scene.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class BaseController {
+
+    @Autowired
+    protected HttpServletRequest request;
+
+    @Autowired
+    protected HttpServletResponse response;
+
+    public Integer getSubgroup(){
+        Cookie[] cookies = request.getCookies();
+        for (Cookie cookie : cookies) {
+            String name = cookie.getName();
+            if(!name.equals("subgroup")){
+                continue;
+            }
+            return Integer.valueOf(cookie.getValue());
+        }
+        return 0;
+    }
+
+}

+ 6 - 1
src/main/java/com/fdkankan/scene/controller/OssFileMappingController.java

@@ -5,6 +5,7 @@ import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -22,10 +23,14 @@ public class OssFileMappingController {
     private SceneService sceneService;
 
     @GetMapping("/**")
-    public void outFileByKey2(@RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup,
+    public void outFileByKey2(
+            @CookieValue(name = "subgroup") Integer subgroup,
+//            @RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup,
                               HttpServletRequest request,
                               HttpServletResponse response) throws IOException {
+//        Cookie[] cookies = request.getCookies();
         String key = request.getServletPath().replaceFirst("/", "").replace("scene_edit_data", "scene_view_data");
+        log.info("--------------------key:{}---------------------------------------------", key);
 //        if(Objects.nonNull(subgroup)){
 //            String[] split = key.split("/");
 //            StringBuilder keyBuilder = new StringBuilder();

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

@@ -20,6 +20,8 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.websocket.server.PathParam;
 import java.io.IOException;
@@ -34,7 +36,7 @@ import java.io.IOException;
  */
 @RestController
 @RequestMapping("/service/scene")
-public class SceneController {
+public class SceneController extends BaseController{
 
     @Autowired
     private SceneService sceneService;
@@ -54,6 +56,7 @@ public class SceneController {
     @GetMapping(value = "/getInfo")
     public ResultData getInfo(@Validated SceneInfoParamVO param) throws Exception{
         param.setReqType(SceneInfoReqType.VIEW.code());
+//        param.setSubgroup(this.getSubgroup());
         return ResultData.ok(sceneEditInfoService.getSceneInfo(param));
     }
 

+ 35 - 7
src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -19,7 +19,7 @@ import java.io.IOException;
 @Log4j2
 @RestController
 @RequestMapping("/service/scene/edit")
-public class SceneEditController{
+public class SceneEditController extends BaseController{
 
 //    @Value("${spring.profiles.active}")
 //    private String env;
@@ -59,6 +59,7 @@ public class SceneEditController{
 //    @CheckPermit
     @PostMapping(value = "/base/save")
     public ResultData saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
+        param.setSubgroup(this.getSubgroup());
         return ResultData.ok(sceneEditInfoService.saveScene(param));
     }
 //
@@ -88,6 +89,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/saveInitialPage")
     public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneProService.saveInitialPage(param);
     }
 
@@ -101,6 +103,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/tag/save")
     public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneProService.addOrUpdateTag(param);
     }
 
@@ -114,6 +117,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/tag/delete")
     public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneProService.deleteTag(param);
     }
 
@@ -127,7 +131,8 @@ public class SceneEditController{
      * @return com.fdkankan.web.response.ResultData
      **/
     @PostMapping(value = "/tag/list")
-    public ResultData listTags(@RequestParam(value = "num") String num, @RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup) throws Exception {
+    public ResultData listTags(@RequestParam(value = "num") String num) throws Exception {
+        Integer subgroup = this.getSubgroup();
         return sceneProService.listTags(num, subgroup);
     }
 
@@ -142,6 +147,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/icons/delete")
     public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneProService.deleteIcons(param);
     }
 
@@ -156,6 +162,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/saveRoam")
     public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneProService.saveRoam(param);
     }
 
@@ -169,6 +176,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/saveTagsVisible")
     public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneProService.saveTagsVisible(param);
     }
 //
@@ -280,7 +288,8 @@ public class SceneEditController{
      * @return com.fdkankan.web.response.ResultData
      **/
     @PostMapping(value = "/linkPan/list")
-    public ResultData listLinkPan(@RequestParam(value = "num") String num, @RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup) throws Exception {
+    public ResultData listLinkPan(@RequestParam(value = "num") String num) throws Exception {
+        Integer subgroup = this.getSubgroup();
         return sceneEditInfoService.listLinkPan(num, subgroup);
     }
 
@@ -295,6 +304,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/cad/save")
     public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.saveCad(param);
     }
 //
@@ -338,7 +348,8 @@ public class SceneEditController{
      * @return
      **/
     @PostMapping(value = "/cad/reset")
-    public ResultData resetCad(@RequestParam(value = "num") String num, @RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup) throws Exception {
+    public ResultData resetCad(@RequestParam(value = "num") String num) throws Exception {
+        Integer subgroup = this.getSubgroup();
         return sceneEditInfoService.resetCad(num, subgroup);
     }
 
@@ -352,6 +363,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/cad/rename")
     public ResultData renameCad(@RequestBody @Validated RenameCadParamVO param) throws IOException {
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.renameCad(param);
     }
 
@@ -367,6 +379,7 @@ public class SceneEditController{
     @InitEditInfo
     @GetMapping(value = "/getInfo")
     public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
+//        param.setSubgroup(this.getSubgroup());
         param.setReqType(SceneInfoReqType.EDIT.code());
         return sceneEditInfoService.getSceneInfo(param);
     }
@@ -506,8 +519,8 @@ public class SceneEditController{
         @RequestParam(value = "files",required = false) MultipartFile[] files,
         @RequestParam(value = "num",required = false) String num,
         @RequestParam(value = "type",required = false,defaultValue = "1") Integer type,
-        @RequestParam(value = "uploadPath",required = false) String uploadPath,
-        @RequestParam(value = "subgroup",defaultValue = "0") Integer subgroup) throws Exception {
+        @RequestParam(value = "uploadPath",required = false) String uploadPath) throws Exception {
+        Integer subgroup = this.getSubgroup();
         return sceneUploadService.uploads(base64,fileName,bizType,files,num,type,uploadPath, subgroup);
     }
 
@@ -536,6 +549,7 @@ public class SceneEditController{
      **/
     @PostMapping("/delete/file")
     public ResultData delete(@RequestBody @Validated DeleteFileParamVO paramVO) throws Exception{
+        paramVO.setSubgroup(this.getSubgroup());
         return sceneUploadService.delete(paramVO);
     }
 //
@@ -575,7 +589,8 @@ public class SceneEditController{
      * @return com.fdkankan.scene.vo.SceneAuthVO
      **/
     @PostMapping(value = "/getAuth")
-    public SceneAuthVO getAuth(@RequestParam("num") String num, @RequestParam(value = "subgroup", defaultValue = "0")Integer subgroup) throws Exception{
+    public SceneAuthVO getAuth(@RequestParam("num") String num) throws Exception{
+        Integer subgroup = this.getSubgroup();
         return sceneEditService.getAuth(num, subgroup);
     }
 //
@@ -606,6 +621,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/tour/save")
     public ResultData saveTour(@RequestBody @Validated BaseDataParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditService.saveTour(param);
     }
 
@@ -620,6 +636,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/tour/delete")
     public ResultData deleteTour(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditService.deleteTour(param);
     }
 
@@ -644,6 +661,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/mosaics/add")
     public ResultData addMosaics(@RequestBody @Validated BaseDataParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.addMosaics(param);
     }
 
@@ -658,6 +676,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/mosaics/delete")
     public ResultData deleteMosaics(@RequestBody @Validated DeleteMosaicParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.deleteMosaics(param);
     }
 
@@ -672,6 +691,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/mosaics/list")
     public ResultData getMosaicList(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return ResultData.ok(sceneEditInfoService.getMosaicList(param.getNum(), param.getSubgroup()));
     }
 
@@ -686,6 +706,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/waterMark/add")
     public ResultData addWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.addWaterMark(param);
     }
 
@@ -700,6 +721,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/waterMark/delete")
     public ResultData deleteWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.deleteWaterMark(param);
     }
 
@@ -711,6 +733,7 @@ public class SceneEditController{
      */
     @PostMapping(value = "/filter/save")
     public ResultData saveFilter(@RequestBody @Validated SaveFiltersParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.saveFilter(param);
     }
 
@@ -722,6 +745,7 @@ public class SceneEditController{
      */
     @PostMapping(value = "/filter/list")
     public ResultData listFilter(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoService.listFilter(param);
     }
 //
@@ -827,6 +851,7 @@ public class SceneEditController{
      */
     @PostMapping("/billboards/save")
     public ResultData saveBillboards(@RequestBody @Validated BaseJsonArrayParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoExtService.saveBillboards(param);
     }
 
@@ -837,6 +862,7 @@ public class SceneEditController{
      */
     @PostMapping("/billboards/delete")
     public ResultData deleteBillboards(@RequestBody @Validated DeleteSidListParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return sceneEditInfoExtService.deleteBillboards(param);
     }
 
@@ -847,6 +873,7 @@ public class SceneEditController{
      */
     @PostMapping("/billboards/list")
     public ResultData deleteBillboards(@RequestBody @Validated BaseSceneParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return ResultData.ok(sceneEditInfoExtService.listBillboards(param));
     }
 
@@ -858,6 +885,7 @@ public class SceneEditController{
      */
     @PostMapping("/billboards/styles/delete")
     public ResultData deleteBillboards(@RequestBody @Validated DeleteStylesParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         return ResultData.ok(sceneEditInfoExtService.deleteBillboardsStyles(param));
     }
 //

+ 5 - 2
src/main/java/com/fdkankan/scene/controller/SceneEditDrawController.java

@@ -15,24 +15,27 @@ import org.springframework.web.bind.annotation.*;
 @Log4j2
 @RestController
 @RequestMapping("/service/scene/edit/sceneDraw")
-public class SceneEditDrawController{
+public class SceneEditDrawController extends BaseController{
 
     @Autowired
     private ISceneDrawService sceneDrawService;
 
     @GetMapping(value = "/list")
-    public ResultData listSceneDraw(@RequestParam("num") String num, @RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup) throws Exception {
+    public ResultData listSceneDraw(@RequestParam("num") String num) throws Exception {
+        Integer subgroup = this.getSubgroup();
         return ResultData.ok(sceneDrawService.listSceneDraw(num, subgroup));
     }
 
     @PostMapping(value = "/save")
     public ResultData saveSceneDraw(@RequestBody @Validated BaseJsonArrayParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         sceneDrawService.saveSceneDraw(param);
         return ResultData.ok();
     }
 
     @PostMapping(value = "/delete")
     public ResultData deleteSceneDraw(@RequestBody @Validated DeleteSidListParamVO param) throws Exception {
+        param.setSubgroup(this.getSubgroup());
         sceneDrawService.deleteSceneDraw(param);
         return ResultData.ok();
     }

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

@@ -52,7 +52,7 @@ public interface SceneEditInfoService extends IService<SceneEditInfo> {
 //
 //    ResultData downloadPanorama(FileParamVO param) throws Exception;
 
-    void saveTagsToSceneEditInfo(String num, SceneEditInfo sceneEditInfo);
+    void saveTagsToSceneEditInfo(String num, Integer subgroup, SceneEditInfo sceneEditInfo);
 //
 //    ResultData saveVideoBox(FileNameAndDataParamVO param) throws Exception;
 //

+ 26 - 2
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -3,6 +3,7 @@ package com.fdkankan.scene.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -18,6 +19,7 @@ import com.fdkankan.scene.bean.ResultData;
 import com.fdkankan.scene.bean.SceneJsonBean;
 import com.fdkankan.scene.bean.TagBean;
 import com.fdkankan.scene.entity.*;
+import com.fdkankan.scene.httpclient.CustomHttpClient;
 import com.fdkankan.scene.mapper.SceneEditInfoMapper;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.*;
@@ -28,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.IOException;
+import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -69,6 +72,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
     private SceneService sceneService;
     @Autowired
     private SceneFileMappingService sceneFileMappingService;
+    @Resource
+    CustomHttpClient customHttpClient;
 //    @Autowired
 //    IScenePlusExtService scenePlusExtService;
 //    @Autowired
@@ -390,6 +395,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
     @Override
     public SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception{
         SceneInfoReqType sceneInfoReqType = SceneInfoReqType.get(param.getReqType());
+        if(Objects.isNull(param.getSubgroup())){
+            param.setSubgroup(0);
+        }
         switch (sceneInfoReqType){
             //如果是编辑页面请求,查数据库
             case EDIT:
@@ -473,6 +481,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
         //马赛克列表
 //        sceneInfoVO.setMosaicList(this.getMosaicList(num));
 
+        sceneInfoVO.setSubgroup(scenePlus.getSubgroup());
         long count = sceneService.count(new LambdaQueryWrapper<Scene>().eq(Scene::getNum, num).ne(Scene::getSubgroup, 0));
         if(count > 0){
             sceneInfoVO.setHasHighAndLow(CommonStatus.YES.code());
@@ -480,6 +489,21 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
             sceneInfoVO.setHasHighAndLow(CommonStatus.NO.code());
         }
 
+        //读取全的vision.txt
+        String visionTxtKey = String.format(UploadFilePath.IMG_VIEW_PATH, num) + "vision.txt";
+        List<SceneFileMapping> sceneFileMappings = sceneFileMappingService.list(new LambdaQueryWrapper<SceneFileMapping>().eq(SceneFileMapping::getNum, num).eq(SceneFileMapping::getKey, visionTxtKey).eq(SceneFileMapping::getSubgroup, -1));
+        SceneFileMapping sceneFileMapping = null;
+        if(CollUtil.isNotEmpty(sceneFileMappings)){
+            sceneFileMapping = sceneFileMappings.get(0);
+            String content = null;
+            try (InputStream inputStream = customHttpClient.downloadFileToInputStream(sceneFileMapping.getUrl())){
+                content =  IoUtil.read(inputStream, StandardCharsets.UTF_8);
+            }
+            if(StrUtil.isNotEmpty(content)){
+                sceneInfoVO.setVisions(JSON.parseObject(content));
+            }
+        }
+
         return sceneInfoVO;
     }
 
@@ -1400,9 +1424,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //    }
 
     @Override
-    public void saveTagsToSceneEditInfo(String num, SceneEditInfo sceneEditInfo){
+    public void saveTagsToSceneEditInfo(String num, Integer subgroup, SceneEditInfo sceneEditInfo){
         //查询缓存是否包含热点数据
-        String key = String.format(RedisKey.SCENE_HOT_DATA, num);
+        String key = String.format(RedisKey.SCENE_HOT_DATA, RedisKey.getNumStr(num, subgroup));
         Map<String, String> allTagsMap = redisClient.hmget(key);
         boolean hashTags = false;
         for (Map.Entry<String, String> tagMap : allTagsMap.entrySet()) {

+ 21 - 12
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -132,7 +132,7 @@ public class SceneProServiceImpl implements ISceneProService {
 
         //保存数据库
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
-        sceneEditInfoService.saveTagsToSceneEditInfo(param.getNum(), sceneEditInfo);
+        sceneEditInfoService.saveTagsToSceneEditInfo(param.getNum(), param.getSubgroup(), sceneEditInfo);
         sceneEditInfoService.updateById(sceneEditInfo);
 
         this.publicHotData(param.getNum(), param.getSubgroup());
@@ -184,7 +184,7 @@ public class SceneProServiceImpl implements ISceneProService {
 
         //保存数据库
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
-        sceneEditInfoService.saveTagsToSceneEditInfo(param.getNum(), sceneEditInfo);
+        sceneEditInfoService.saveTagsToSceneEditInfo(param.getNum(), param.getSubgroup(), sceneEditInfo);
         sceneEditInfoService.updateById(sceneEditInfo);
 
         this.publicHotData(param.getNum(), param.getSubgroup());
@@ -570,11 +570,18 @@ public class SceneProServiceImpl implements ISceneProService {
 
         JSONArray inputData = JSONObject.parseArray(param.getData());
 
-        String localDataPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
-        File directory = new File(localDataPath);
-        if (!directory.exists()) {
-            directory.mkdirs();
-        }
+//        String prefix = fileName.substring(fileName.lastIndexOf("."));
+////            String path = String.format(ConstantFilePath.SCENE_TMP_PATH_V4, num).concat(UUID.randomUUID().toString()).concat(prefix);
+//        File tempFile = File.createTempFile(UUID.randomUUID().toString() ,prefix);
+////            File tempFile = FileUtil.createTempFile(prefix, true);
+//        String path = tempFile.getAbsolutePath();
+//
+//
+//        String localDataPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
+//        File directory = new File(localDataPath);
+//        if (!directory.exists()) {
+//            directory.mkdirs();
+//        }
         String viewImagesPath = String.format(UploadFilePath.IMG_VIEW_PATH, param.getNum());
 
         //如果是云存储,将vision.modeldata下载到本地,如果是本地存储,场景计算完就已经将这个文件拷贝到编辑目录了存在这个文件了,不需要再下载
@@ -609,11 +616,13 @@ public class SceneProServiceImpl implements ISceneProService {
 //        FileUtils.deleteFile(localDataPath + "vision.json");
 //        FileUtils.deleteFile(localDataPath + "vision.modeldata");
 //        FileUtils.writeFile(localDataPath + "vision.json", json.toString());
-        FileUtil.writeUtf8String(json.toString(), localDataPath + "vision.json");
-        ConvertUtils.convertTxtToVisionModelData(localDataPath + "vision.json", localDataPath + "vision.modeldata");
-        fYunFileService.uploadFile(param.getNum(), param.getSubgroup(), localDataPath + "vision.modeldata", viewImagesPath + "vision.modeldata");
-        FileUtil.del(localDataPath + "vision.json");
-        FileUtil.del(localDataPath + "vision.modeldata");
+        File tempFile = File.createTempFile(UUID.randomUUID().toString(), ".json");
+        File tempFile2 = File.createTempFile(UUID.randomUUID().toString(), ".txt");
+        FileUtil.writeUtf8String(json.toString(), tempFile.getAbsolutePath());
+        ConvertUtils.convertTxtToVisionModelData(tempFile.getAbsolutePath(), tempFile2.getAbsolutePath());
+        fYunFileService.uploadFile(param.getNum(), param.getSubgroup(), tempFile2.getAbsolutePath(), viewImagesPath + "vision.modeldata");
+        FileUtil.del(tempFile);
+        FileUtil.del(tempFile2);
 
         //更新版本号
         SceneEditInfo editInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());

+ 3 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -108,6 +108,9 @@ public class SceneServiceImpl extends ServiceImpl<SceneMapper, Scene> implements
     @Override
     public void outFileByKey2(String key, Integer subgroup, HttpServletResponse response) throws IOException {
         SceneFileMapping one = sceneFileMappingService.getOne(new LambdaQueryWrapper<SceneFileMapping>().eq(SceneFileMapping::getKey, key).eq(SceneFileMapping::getSubgroup, subgroup));
+        if(Objects.isNull(one)){
+            response.setStatus(404);
+        }
         response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
         response.setHeader("Content-Disposition", "attachment; filename=\"" + FileUtil.getName(key) + "\"");
         try(

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

@@ -117,7 +117,7 @@ public class SceneUploadServiceImpl implements ISceneUploadService {
             String newExtName = oldExtName.toLowerCase();
             realFileName = realFileName.substring(0, realFileName.lastIndexOf(oldExtName)) + newExtName;
 
-            String key = StrUtil.isNotBlank(uploadPath) ? uploadPath : (String.format(UploadFilePath.USER_VIEW_PATH , RedisKey.getNumStr(num, subgroup)) + realFileName);
+            String key = StrUtil.isNotBlank(uploadPath) ? uploadPath : (String.format(UploadFilePath.USER_VIEW_PATH , num) + realFileName);
 
             fYunFileService.uploadFile(num, subgroup, path, key);
 

+ 1 - 1
src/main/java/com/fdkankan/scene/vo/BaseSceneParamVO.java

@@ -20,6 +20,6 @@ public class BaseSceneParamVO {
     @NotBlank(message = "场景码不能为空")
     private String num;
 
-    private Integer subgroup = 0;
+    private Integer subgroup;
 
 }

+ 9 - 0
src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

@@ -255,8 +255,17 @@ public class SceneInfoVO {
      */
     private JSONObject started;
 
+    /**
+     * 空间绘制
+     */
+    private Integer sceneDraw;
+
     private Integer hasHighAndLow;
 
+    private Integer subgroup;
+
+    private JSONObject visions;
+
 //    private Map<String, String> mapping;