dengsixing vor 2 Wochen
Ursprung
Commit
1811b88d95

+ 8 - 0
src/main/java/com/fdkankan/scene/service/ICommonService.java

@@ -1,9 +1,17 @@
 package com.fdkankan.scene.service;
 
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.scene.bean.SceneJsonBean;
+
+import java.util.Map;
+
 public interface ICommonService {
 
     void transferToFlv(String num, String fileName, String bucket) throws Exception;
 
+    void updateViewGetInfo(String num, Map<String, Object> param);
+
+    JSONObject getInfoJson(String num);
 
 
 }

+ 29 - 0
src/main/java/com/fdkankan/scene/service/impl/CommonServiceImpl.java

@@ -1,22 +1,31 @@
 package com.fdkankan.scene.service.impl;
 
 import cn.hutool.core.io.FileUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.CreateObjUtil;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.bean.SceneJsonBean;
 import com.fdkankan.scene.service.ICommonService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.nio.charset.StandardCharsets;
+import java.util.Map;
 
 @Service
 public class CommonServiceImpl implements ICommonService {
 
     @Resource
     private FYunFileServiceInterface fYunFileService;
+    @Resource
+    private RedisUtil redisUtil;
 
     @Override
     public void transferToFlv(String num, String fileName, String bucket) throws Exception {
@@ -47,4 +56,24 @@ public class CommonServiceImpl implements ICommonService {
         String flvFileName = fileName.replace(extName, "flv");
         fYunFileService.uploadFile(bucket, localFilePath.replace(extName, "flv"), userEditPath+flvFileName);
     }
+
+    @Override
+    public void updateViewGetInfo(String num, Map<String, Object> param) {
+        JSONObject infoJson = this.getInfoJson(num);
+        param.keySet().stream().forEach(k->{
+            infoJson.put(k, param.get(k));
+        });
+        String sceneJsonKey = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
+        fYunFileService.uploadFile(infoJson.toJSONString().getBytes(StandardCharsets.UTF_8), sceneJsonKey);
+
+        String redisKey = String.format(RedisKey.SCENE_JSON, num);
+        redisUtil.del(redisKey);
+    }
+
+    @Override
+    public JSONObject getInfoJson(String num) {
+        String sceneJsonKey = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
+        String fileContent = fYunFileService.getFileContent(sceneJsonKey);
+        return JSON.parseObject(fileContent);
+    }
 }

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

@@ -22,6 +22,7 @@ import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.BodySegmentStatusBean;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
+import com.fdkankan.scene.service.ICommonService;
 import com.fdkankan.scene.service.IScenePlusExtService;
 import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.service.ISceneService;
@@ -68,6 +69,8 @@ public class SceneServiceImpl implements ISceneService {
     public IScenePlusService scenePlusService;
     @Autowired
     public IScenePlusExtService scenePlusExtService;
+    @Autowired
+    private ICommonService commonService;
 
     @Override
     public ResultData uploadBodySegment(MultipartFile file, Integer rotate) throws Exception {
@@ -176,11 +179,16 @@ public class SceneServiceImpl implements ISceneService {
         }
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
         if(status == 0){
-            return;
+            scenePlusExtService.update(new LambdaUpdateWrapper<ScenePlusExt>().eq(ScenePlusExt::getId, scenePlusExt.getId()).setSql("orientation = null"));
+        }else{
+            scenePlusExt.setOrientation(orientation);
+            scenePlusExtService.updateById(scenePlusExt);
         }
-        scenePlusExt.setOrientation(orientation);
-        scenePlusExtService.updateById(scenePlusExt);
 
+        //查看页生效
+        Map<String, Object> param = new HashMap<>();
+        param.put("orientation", orientation);
+        commonService.updateViewGetInfo(num,param);
     }
 
     @Override