瀏覽代碼

场景发布接口

dengsixing 3 年之前
父節點
當前提交
0e238e84ec

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

@@ -65,8 +65,8 @@ public class SceneEditController extends BaseController {
      * @return com.fdkankan.common.response.ResultData
      **/
     @PostMapping(value = "/publicScene")
-    public ResultData publicScene(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception {
-        return sceneEditInfoService.publicScene(sceneEditParamVO);
+    public ResultData publicScene(@RequestBody @Validated SceneEditInfoParamVO param) throws Exception {
+        return sceneEditInfoService.publicScene(param);
     }
 
     /**

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

@@ -22,6 +22,6 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
     SceneEditInfo getBySceneProId(long sceneProId);
 
-    ResultData publicScene(@RequestBody SceneEditParamVO sceneEditParamVO) throws Exception;
+    ResultData publicScene(SceneEditInfoParamVO param) throws Exception;
 
 }

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

@@ -2,6 +2,7 @@ package com.fdkankan.scene.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 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;
@@ -9,6 +10,8 @@ import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.SceneJsonBean;
 import com.fdkankan.scene.entity.SceneEditControls;
 import com.fdkankan.scene.entity.SceneEditInfo;
@@ -26,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Calendar;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -45,6 +49,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     private ISceneProService sceneProService;
     @Autowired
     private UploadToOssUtil uploadToOssUtil;
+    @Autowired
+    RedisUtil redisUtil;
 
 
     @Override
@@ -95,14 +101,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
 
     @Override
-    public ResultData publicScene(SceneEditParamVO sceneEditParamVO) throws Exception {
-        String sceneNum = sceneEditParamVO.getSceneNum();
+    public ResultData publicScene(SceneEditInfoParamVO param) throws Exception {
+        String sceneNum = param.getNum();
         if(StrUtil.isEmpty(sceneNum)){
             throw new BusinessException(ErrorCode.PARAM_REQUIRED);
         }
 
         //根据场景码查询数据库
-        ScenePro scenePro = sceneProService.findBySceneNum(sceneEditParamVO.getSceneNum());
+        ScenePro scenePro = sceneProService.findBySceneNum(sceneNum);
         SceneEditInfo sceneEditInfo = this.getBySceneProId(scenePro.getId());
         SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
 
@@ -110,19 +116,23 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         SceneJsonBean sceneJson = BeanUtil.copyProperties(sceneEditInfo, SceneJsonBean.class);
         SceneEditControlsVO sceneEditControlsVO = BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class);
         sceneJson.setControls(sceneEditControlsVO);
-        sceneJson.setNum(sceneEditParamVO.getSceneNum());
+        sceneJson.setNum(sceneNum);
 
         //上传sceneJson文件
-//        String sceneJsonPath = String.format(ConstantFilePath.)
-//        uploadToOssUtil.upload();
-
-        //oss文件拷贝
-//        uploadToOssUtil.copyFiles();
+        String sceneJsonPath = String.format("scene_edit_data/%s/data/scene.json", sceneNum);
+        uploadToOssUtil.upload(JSON.toJSONBytes(sceneJson), sceneJsonPath);
 
+        //删除发布数据中的user目录
+        String publicUserPath = String.format("scene_view_data/%s/user/", sceneNum);
+        uploadToOssUtil.deleteFile(publicUserPath);
 
-        //删除没用文件
+        //复制编辑数据到发布目录
+        String editUserPath = String.format("scene_edit_data/%s/user/", sceneNum);
+        uploadToOssUtil.copyFiles(editUserPath,publicUserPath);
 
         //sceneJson放入缓存
+        String key = String.format(RedisKey.SCENE_JSON, sceneNum);
+        redisUtil.set(key, JSON.toJSONString(sceneJson));
 
         return ResultData.ok();
     }

+ 1 - 2
4dkankan-common/src/main/java/com/fdkankan/common/exception/GlobalExceptionHandler.java

@@ -47,8 +47,7 @@ public class GlobalExceptionHandler {
             if (errors != null) {
                 errors.forEach(p -> {
                     FieldError fieldError = (FieldError) p;
-                    log.error("Data check failure : object{" + fieldError.getObjectName() + "},field{" + fieldError.getField() +
-                            "},errorMessage{" + fieldError.getDefaultMessage() + "}");
+                    log.error("参数校验错误:类:{},字段:{},错误信息:{}",fieldError.getObjectName(), fieldError.getField(), fieldError.getDefaultMessage());
 
                 });
                 if (errors.size() > 0) {