소스 검색

增加方案发布相关接口,发布/取消,查询

xiewenjie 3 년 전
부모
커밋
1ee335a2a6

+ 7 - 8
sxz-base/src/main/java/com/fdkk/sxz/constant/CodeConstant.java

@@ -1,4 +1,3 @@
-
 package com.fdkk.sxz.constant;
 
 // 5001-6000 场景状态码
@@ -43,23 +42,23 @@ public class CodeConstant {
     public static final int FAILURE_CODE_4012 = 4012;
     public static final String FAILURE_MSG_4012 = "上传的文件不是zip包";
 
-    public static final int FAILURE_CODE_4013= 4013;
+    public static final int FAILURE_CODE_4013 = 4013;
     public static final String FAILURE_MSG_4013 = "上传的数据类型不正确";
 
-    public static final int FAILURE_CODE_4014= 4014;
+    public static final int FAILURE_CODE_4014 = 4014;
     public static final String FAILURE_MSG_4014 = "上传文件失败";
 
-    public static final int FAILURE_CODE_4015= 4015;
+    public static final int FAILURE_CODE_4015 = 4015;
     public static final String FAILURE_MSG_4015 = "更新模型库,syncmodel接口失败";
 
     public static final int FAILURE_CODE_4016 = 4016;
     public static final String FAILURE_MSG_4016 = "普通图预览渲染中,请稍后再试";
 
-    public static final int INVALID_RE_VCODE_10000011= 10000011;
-    public static final String FAILURE_MSG_10000011 = "验证码错误";
-
-
+    public static final int FAILURE_CODE_4017 = 4017;
+    public static final String FAILURE_MSG_4017 = "发布数量最大为4,已达上限";
 
+    public static final int INVALID_RE_VCODE_10000011 = 10000011;
+    public static final String FAILURE_MSG_10000011 = "验证码错误";
 
 
 }

+ 9 - 5
sxz-core/src/main/java/com/fdkk/sxz/webApi/controller/ImportDataController.java

@@ -334,12 +334,13 @@ public class ImportDataController extends BaseController {
     public Result buildChangeScene(String sceneNum, String styleNum, String type,
                                    String dateType, String buildType, String ratio,
                                    String isShow, String quality) {
-        try {
-            if (StringUtils.isEmpty(sceneNum) || StringUtils.isEmpty(styleNum)) {
-                return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
-            }
+        if (StringUtils.isEmpty(sceneNum) || StringUtils.isEmpty(styleNum)) {
+            return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
+        }
+
+        SceneStyleEntity entity = sceneStyleService.findStyleNum(styleNum);
 
-            SceneStyleEntity entity = sceneStyleService.findStyleNum(styleNum);
+        try {
 
             if (StringUtils.isEmpty(buildType) || "all".equals(buildType)) {
                 if (entity != null) {
@@ -448,6 +449,9 @@ public class ImportDataController extends BaseController {
             FileUtils.deleteDirectory(buildPath + "Output/" + styleNum);
         } catch (Exception e) {
             e.printStackTrace();
+            entity.setStatus(-1);
+            sceneStyleService.updateById(entity);
+            return failure("渲染失败");
         }
         JSONObject result = new JSONObject();
         result.put("num", styleNum);

+ 58 - 2
sxz-core/src/main/java/com/fdkk/sxz/webApi/controller/SceneStyleController.java

@@ -183,7 +183,63 @@ public class SceneStyleController extends BaseController {
     }
 
     /**
-     * 获取四维看看用户场景列表
+     * 根据场景码获取发布风格列表
+     *
+     * @param style
+     * @return
+     */
+    @ApiOperation("根据场景码获取发布风格列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "sceneNum", value = "四维看看场景码", dataType = "String")})
+    @RequestMapping(value = "/getIssueList", method = RequestMethod.POST)
+    @NoAuthentication
+    @AroundLog(name = "根据场景码获取风格列表")
+    public Result getIssueList(@RequestBody RequestSceneStyle style) {
+        LambdaQueryWrapper<SceneStyleEntity> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(SceneStyleEntity::getSceneNum, style.getSceneNum());
+        wrapper.eq(SceneStyleEntity::getIssue, 1);
+        List<SceneStyleEntity> list = sceneStyleService.list(wrapper);
+        return Result.success(list);
+    }
+
+    /**
+     * 随心装场景码同步
+     *
+     * @param scene
+     * @return
+     */
+    @ApiOperation("随心装场景码同步")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "sceneNum", value = "场景码", dataType = "String"),
+            @ApiImplicitParam(name = "vrsceneNum", value = "随心装场景码", dataType = "String"),
+            @ApiImplicitParam(name = "id", value = "风格主键", dataType = "Number")})
+    @RequestMapping(value = "/issueSceneCode", method = RequestMethod.POST)
+    @NoAuthentication
+    @AroundLog(name = "随心装场景发布")
+    public Result issueSceneCode(@RequestBody RequestScene scene) throws Exception {
+
+        SceneStyleEntity styleEntity = sceneStyleService.findById(scene.getId());
+        if (ObjectUtil.isNull(styleEntity)) {
+            return Result.failure(CodeConstant.FAILURE_CODE_4003, CodeConstant.FAILURE_MSG_4003);
+        }
+        if (styleEntity.getIssue() == 0) {
+            List<SceneStyleEntity> listSceneNum = sceneStyleService.findListSceneNum(styleEntity.getSceneNum());
+            Long issueCount = listSceneNum.stream().filter(sceneStyleEntity -> sceneStyleEntity.getIssue() == 1).count();
+            if (issueCount > 4) {
+                return Result.failure(CodeConstant.FAILURE_CODE_4017, CodeConstant.FAILURE_MSG_4017);
+            }
+        } else {
+            styleEntity.setIssue(0);
+        }
+        boolean b = sceneStyleService.updateById(styleEntity);
+        if (b) {
+            return Result.success();
+        }
+        return Result.failure("失败");
+    }
+
+    /**
+     * 随心装场景码同步
      *
      * @param scene
      * @return
@@ -207,7 +263,7 @@ public class SceneStyleController extends BaseController {
         header.put("token", request.getHeader("token"));
         String url = mainUrl + "api/scene/synsencecode?sceneNum=" + scene.getSceneNum();
         if (styleEntity.getIsDecoration() == 0) {
-            url = url + "&vrsceneNum=" + scene.getVrsceneNum();
+            url = url + "&vrsceneNum=" + scene.getVrsceneNum() + "&thumb=" + styleEntity.getThumb();
         }
         String res = OkHttpUtils.httpGet(url, header);
         JSONObject jsonObject = JSON.parseObject(res);

+ 4 - 0
sxz-core/src/main/java/com/fdkk/sxz/webApi/service/ISceneStyleService.java

@@ -4,6 +4,8 @@ import com.fdkk.sxz.base.IBaseService;
 import com.fdkk.sxz.entity.SceneStyleEntity;
 import com.fdkk.sxz.vo.request.RequestSceneLight;
 
+import java.util.List;
+
 /**
  * Created by Hb_zzZ on 2020/7/14.
  */
@@ -13,5 +15,7 @@ public interface ISceneStyleService extends IBaseService<SceneStyleEntity> {
 
     SceneStyleEntity findStyleNum(String sceneNum);
 
+    List<SceneStyleEntity> findListSceneNum(String sceneNum);
+
     int addVersion(RequestSceneLight style);
 }

+ 9 - 0
sxz-core/src/main/java/com/fdkk/sxz/webApi/service/impl/SceneStyleServiceImpl.java

@@ -10,6 +10,8 @@ import com.fdkk.sxz.webApi.service.ISceneStyleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * Created by Hb_zzZ on 2020/7/14.
  */
@@ -29,6 +31,13 @@ public class SceneStyleServiceImpl extends BaseServiceImpl<ISceneStyleMapper, Sc
     }
 
     @Override
+    public List<SceneStyleEntity> findListSceneNum(String sceneNum) {
+        LambdaQueryWrapper<SceneStyleEntity> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(SceneStyleEntity::getSceneNum, sceneNum);
+        return getBaseMapper().selectList(wrapper);
+    }
+
+    @Override
     public Integer findLastNum(String sceneNum) {
         return mapper.findLastNum(sceneNum);
     }

+ 3 - 0
sxz-modules/src/main/java/com/fdkk/sxz/entity/SceneStyleEntity.java

@@ -47,5 +47,8 @@ public class SceneStyleEntity extends BaseEntity {
 
     @TableField("is_decoration")
     private Integer isDecoration;
+    
+    @TableField("issue")
+    private Integer issue;
 
 }