Parcourir la source

复制场景第一次推送动态面板内容时,先删除原有的动态面板json文件

dengsixing il y a 1 an
Parent
commit
cc0fe77eb6

+ 3 - 1
src/main/java/com/fdkankan/openApi/service/www/ISceneDynamicPanelService.java

@@ -4,6 +4,8 @@ import com.fdkankan.openApi.entity.www.SceneDynamicPanel;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.openApi.vo.www.SceneDynamicPanelParamVO;
 
+import java.io.IOException;
+
 /**
  * <p>
  * 场景动态面板 服务类
@@ -14,6 +16,6 @@ import com.fdkankan.openApi.vo.www.SceneDynamicPanelParamVO;
  */
 public interface ISceneDynamicPanelService extends IService<SceneDynamicPanel> {
 
-    void save(Long userId, SceneDynamicPanelParamVO param);
+    void save(Long userId, SceneDynamicPanelParamVO param) throws IOException;
 
 }

+ 15 - 6
src/main/java/com/fdkankan/openApi/service/www/impl/SceneDynamicPanelServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.Collection;
 import java.util.HashMap;
@@ -45,12 +46,17 @@ public class SceneDynamicPanelServiceImpl extends ServiceImpl<ISceneDynamicPanel
     private FYunFileServiceInterface fileServiceInterface;
 
     @Override
-    public void save(Long userId, SceneDynamicPanelParamVO param) {
+    public void save(Long userId, SceneDynamicPanelParamVO param) throws IOException {
 
         ScenePlus scenePlus = scenePlusService.getByNumAndUserId(userId, param.getNum());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
+
+        //上传文件
+        String editPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + "dynamicPanel.json";
+        String viewPath = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum()) + "dynamicPanel.json";
+
         SceneDynamicPanel one = this.getOne(new LambdaQueryWrapper<SceneDynamicPanel>().eq(SceneDynamicPanel::getNum, param.getNum()));
         String sid = null;
         if(Objects.isNull(one)){
@@ -58,16 +64,19 @@ public class SceneDynamicPanelServiceImpl extends ServiceImpl<ISceneDynamicPanel
             one = new SceneDynamicPanel();
             one.setSid(sid);
             one.setNum(param.getNum());
+
+            if(fileServiceInterface.fileExist(editPath)){
+                fileServiceInterface.deleteFile(editPath);
+            }
+            if(fileServiceInterface.fileExist(viewPath)){
+                fileServiceInterface.deleteFile(viewPath);
+            }
+
         }else{
             sid = one.getSid();
         }
         this.saveOrUpdate(one);
 
-
-        //上传文件
-        String editPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + "dynamicPanel.json";
-        String viewPath = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum()) + "dynamicPanel.json";
-
         Map<String, JSONObject> map = new HashMap<>();
         if(fileServiceInterface.fileExist(editPath)){
             String fileContent = fileServiceInterface.getFileContent(editPath);