Просмотр исходного кода

下载正顺压缩包 增加场景版本适配

dengsixing 2 лет назад
Родитель
Сommit
5bde02d374

+ 2 - 0
src/main/java/com/fdkankan/scene/service/ISceneProService.java

@@ -47,4 +47,6 @@ public interface ISceneProService extends IService<ScenePro> {
 
     ResultData downloadTexData(String num) throws Exception;
 
+    ScenePro getByNum(String num);
+
 }

+ 15 - 3
src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java

@@ -9,6 +9,8 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.PayStatus;
 import com.fdkankan.common.constant.SceneStatus;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.scene.entity.ScenePro;
+import com.fdkankan.scene.service.ISceneProService;
 import com.fdkankan.web.response.ResultData;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
@@ -56,6 +58,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     private RedisUtil redisUtil;
     @Autowired
     private RedisLockUtil redisLockUtil;
+    @Autowired
+    private ISceneProService sceneProService;
 
     @Override
     public ScenePlus getScenePlusByNum(String num) {
@@ -106,18 +110,26 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
 
     @Override
     public ResultData downLoadZSData(BaseSceneParamVO param) throws Exception {
+
+        String version = "v4";
         String num = param.getNum();
         ScenePlus scenePlus = this.getScenePlusByNum(num);
+        ScenePro scenePro = null;
         if(Objects.isNull(scenePlus)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+            scenePro = sceneProService.getByNum(num);
+            version = "v3";
+            if(Objects.isNull(scenePro)){
+                throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+            }
         }
 
         SceneDataDownload sceneDataDownload = sceneDataDownloadService.findBySceneNum(num);
         if(sceneDataDownload == null){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5025);
         }
-
-        return ResultData.ok(BeanUtil.copyProperties(sceneDataDownload, SceneDataDownloadVO.class));
+        SceneDataDownloadVO sceneDataDownloadVO = BeanUtil.copyProperties(sceneDataDownload, SceneDataDownloadVO.class);
+        sceneDataDownloadVO.setVersion(version);
+        return ResultData.ok(sceneDataDownloadVO);
     }
 
     @Override

+ 6 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.CommonStatus;
@@ -1003,4 +1004,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         String url = ossUrlPrefix + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
         return ResultData.ok(url);
     }
+
+    @Override
+    public ScenePro getByNum(String num) {
+        return this.getOne(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, num));
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/scene/vo/SceneDataDownloadVO.java

@@ -10,4 +10,6 @@ public class SceneDataDownloadVO {
     private String fileMd5;
 
     private String downloadPath;
+
+    private String version;
 }