瀏覽代碼

feign 补充 场景协作

lyhzzz 3 年之前
父節點
當前提交
21e67012dd
共有 18 個文件被更改,包括 113 次插入162 次删除
  1. 9 0
      4dkankan-center-api/4dkankan-center-scene-api/src/main/java/com/fdkankan/scene/api/feign/SceneUserSceneClient.java
  2. 0 51
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/controller/api/DeviceSceneController.java
  3. 0 2
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/IDeviceService.java
  4. 1 10
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/CameraServiceImpl.java
  5. 5 3
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/CameraVersionServiceImpl.java
  6. 0 17
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/DeviceServiceImpl.java
  7. 2 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/controller/api/UserCameraController.java
  8. 2 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/controller/manager/ManagerUserController.java
  9. 2 6
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/IUserSceneService.java
  10. 1 2
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/IUserService.java
  11. 7 40
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserSceneServiceImpl.java
  12. 7 14
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserServiceImpl.java
  13. 19 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/feign/UserSceenFeign.java
  14. 1 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProEditService.java
  15. 1 5
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java
  16. 10 4
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProEditServiceImpl.java
  17. 44 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  18. 2 5
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneResourceServiceImpl.java

+ 9 - 0
4dkankan-center-api/4dkankan-center-scene-api/src/main/java/com/fdkankan/scene/api/feign/SceneUserSceneClient.java

@@ -71,4 +71,13 @@ public interface SceneUserSceneClient {
                                @RequestParam(value = "userId") Long userId,
                                @RequestParam(value = "snCode")String snCode,
                                @RequestParam(value = "cooperationUserName")String cooperationUserName);
+
+    @PostMapping("/updateImageVersionFromSceneProEdit")
+    ResultData updateImageVersionFromSceneProEdit(@RequestParam(value = "num" ) String num);
+
+    @PostMapping("/getSceneResourceByCameraId")
+    ResultData getSceneResourceByCameraId(@RequestParam(value = "cameraId" ) Long cameraId);
+
+    @PostMapping("/checkDownLoad")
+    ResultData checkDownLoad(@RequestParam(value = "sceneNum") String sceneNum);
 }

+ 0 - 51
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/controller/api/DeviceSceneController.java

@@ -1,51 +0,0 @@
-package com.fdkankan.platform.goods.controller.api;
-
-import com.fdkankan.common.controller.BaseController;
-import com.fdkankan.platform.goods.request.RequestScene;
-import com.fdkankan.platform.goods.service.IDeviceService;
-import com.fdkankan.platform.user.request.RequestCamera;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 设备中心接口-场景模块
- */
-@Log4j2
-@RestController
-@RequestMapping("/api/platform/device/scene")
-public class DeviceSceneController extends BaseController {
-
-    @Autowired
-    private IDeviceService deviceService;
-
-    /**
-     * 获取相机场景记录
-     * cameraId         相机id
-     * cameraType       相机类型
-     * searchKey        关键词
-     * endTime          结束时间
-     * startTime        开始时间
-     * sceneType        0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居,99一件换装虚拟房源
-     * @return
-     */
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public String getScenes(@RequestBody RequestCamera param) throws Exception {
-        return deviceService.getScenes(param);
-    }
-
-    /**
-     * 删除场景
-     * sceneNum     场景码
-     * @return
-     */
-    @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    public String deleteScene(@RequestBody RequestScene base) throws Exception {
-        return deviceService.deleteScene(base.getSceneNum());
-    }
-
-
-}

+ 0 - 2
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/IDeviceService.java

@@ -20,9 +20,7 @@ public interface IDeviceService {
 
     ResponseCameraApp bindProCamera(RequestCamera camera) throws Exception;
 
-    String getScenes(RequestCamera param) throws Exception;
 
-    String deleteScene(String sceneNum) throws Exception;
 
     Camera findByChildNameAndChildPassword(String appUserName, String appPassword) throws Exception;
 

+ 1 - 10
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/CameraServiceImpl.java

@@ -249,16 +249,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
     private void addCamera(Long userId, Integer cameraType, Long cameraId){
         cameraDetailService.bind(userId,cameraId);
-        // TODO:  updateUserIdByCameraId
-//        if (cameraType == null || cameraType == 0){
-//            result = sceneService.updateUserIdByCameraId(userId, cameraId);
-//        }else {
-//            result = sceneService.updateUserIdByCameraIdPro(userId, cameraId);
-//        }
-//
-//        if (result.getCode() == Result.CODE_FAILURE){
-//            throw new Exception(LoginConstant.ERROR_MSG);
-//        }
+        sceneUserSceneClient.updateUserIdByCameraId(userId,cameraId);
     }
 
     @Override

+ 5 - 3
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/CameraVersionServiceImpl.java

@@ -17,9 +17,11 @@ import com.fdkankan.platform.goods.common.UploadPath;
 import com.fdkankan.platform.goods.entity.CameraVersion;
 import com.fdkankan.platform.goods.mapper.ICameraVersionMapper;
 import com.fdkankan.platform.goods.service.ICameraVersionService;
+import com.fdkankan.scene.api.feign.SceneUserSceneClient;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -48,6 +50,8 @@ public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper,
     private String prefixAli;
     @Resource
     private UploadToOssUtil uploadToOssUtil;
+    @Autowired
+    private SceneUserSceneClient sceneUserSceneClient;
 
     private LambdaQueryWrapper<CameraVersion> getQueryByType(String type){
         LambdaQueryWrapper<CameraVersion> queryWrapper = new LambdaQueryWrapper<>();
@@ -170,9 +174,7 @@ public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper,
 
     @Override
     public int updateImageVersion(String num) {
-        //    @Update("UPDATE t_scene_pro_edit SET images_version = images_version + 1
-        //    WHERE pro_id = (SELECT id FROM t_scene_pro WHERE num=#{num} and rec_status = 'A' ) ")
-        // TODO: 2022/1/12
+        sceneUserSceneClient.updateImageVersionFromSceneProEdit(num);
         return 1;
     }
 }

+ 0 - 17
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/DeviceServiceImpl.java

@@ -211,23 +211,6 @@ public class DeviceServiceImpl implements IDeviceService {
     }
 
     @Override
-    public String getScenes(RequestCamera param) throws Exception {
-       // return sceneService.findScenesPagerByCondition(param, "create_time desc");
-        //todo findScenesPagerByCondition
-        return ServerCode.SUCCESS.message();
-    }
-
-    @Override
-    public String deleteScene(String sceneNum) throws Exception {
-//        Result result = sceneService.deleteScene(sceneNum);
-//        if (result.getCode() == Result.CODE_FAILURE){
-//            throw new Exception(LoginConstant.ERROR_MSG);
-//        }
-        //todo deleteScene
-        return ServerCode.SUCCESS.message();
-    }
-
-    @Override
     public Camera findByChildNameAndChildPassword(String appUserName, String appPassword) throws Exception{
         Camera dbCameraEntity = cameraService.getByChildName(appUserName);
         if (dbCameraEntity == null){

+ 2 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/controller/api/UserCameraController.java

@@ -2,6 +2,7 @@ package com.fdkankan.platform.user.controller.api;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.platform.goods.entity.CameraDetailNumEntity;
 import com.fdkankan.platform.goods.service.ICameraService;
 import com.fdkankan.platform.user.request.RequestCamera;
@@ -151,7 +152,7 @@ public class UserCameraController extends BaseController {
      * cameraId  相机id
      */
     @RequestMapping(value = "/sceneResourceByCameraId", method = RequestMethod.POST)
-    public String sceneResourceByCameraId(@RequestBody RequestCamera camera,@RequestHeader String token) throws Exception{
+    public ResultData sceneResourceByCameraId(@RequestBody RequestCamera camera, @RequestHeader String token) throws Exception{
         return userService.sceneResourceByCameraId(camera);
     }
 

+ 2 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/controller/manager/ManagerUserController.java

@@ -3,6 +3,7 @@ package com.fdkankan.platform.user.controller.manager;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.platform.user.entity.IncrementLog;
 import com.fdkankan.platform.user.entity.Manager;
 import com.fdkankan.platform.user.entity.ReceiverInfo;
@@ -183,7 +184,7 @@ public class ManagerUserController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/checkDownload", method = RequestMethod.POST)
-    public Map<String, Object> checkDownload(@RequestBody RequestUser param) throws Exception{
+    public ResultData checkDownload(@RequestBody RequestUser param) throws Exception{
         return userSceneService.checkDownload(param);
     }
 

+ 2 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/IUserSceneService.java

@@ -1,9 +1,9 @@
 package com.fdkankan.platform.user.service;
 
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.platform.user.request.RequestUser;
+
 import java.util.Map;
 
 /**
@@ -16,14 +16,10 @@ import java.util.Map;
  **/
 public interface IUserSceneService {
 
-    Map<String, Object> checkDownload(RequestUser param);
+    ResultData checkDownload(RequestUser param);
 
     Map<String, Object> downloadSceneAdmin(RequestUser param, String token);
 
     JSONObject getSceneDownloadProcessAdmin(String sceneNum) throws Exception;
 
-//    Page<SceneVO> getScenes(String token, SceneParamVO param);
-
-//    ResultData findSceneNumber(long userId, String snCode);
-
 }

+ 1 - 2
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/IUserService.java

@@ -16,7 +16,6 @@ import com.fdkankan.platform.user.vo.SSOUserVo;
 
 import java.util.HashMap;
 import java.util.List;
-import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * <p>
@@ -80,7 +79,7 @@ public interface IUserService extends IService<User> {
 
     String saveCooperationUser(RequestCamera camera, String token) throws Exception;
 
-    String sceneResourceByCameraId(RequestCamera camera);
+    ResultData sceneResourceByCameraId(RequestCamera camera);
 
     SSOUser getSSOUserByUserId(Long userId);
 

+ 7 - 40
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserSceneServiceImpl.java

@@ -3,6 +3,7 @@ package com.fdkankan.platform.user.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.platform.common.DownloadStatusEnum;
 import com.fdkankan.platform.goods.service.ICameraService;
 import com.fdkankan.platform.user.request.RequestUser;
@@ -10,12 +11,13 @@ import com.fdkankan.platform.user.service.IUserSceneService;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.api.feign.SceneUserSceneClient;
-import java.util.HashMap;
-import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.Map;
+
 @Service
 public class UserSceneServiceImpl implements IUserSceneService {
 
@@ -28,13 +30,11 @@ public class UserSceneServiceImpl implements IUserSceneService {
 
 
     @Override
-    public Map<String, Object> checkDownload(RequestUser param) {
+    public ResultData checkDownload(RequestUser param) {
         if(StringUtils.isEmpty(param.getSceneNum())){
             throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
         }
-        Map<String, Object> result = new HashMap<>();
-        //todo
-        return result;
+        return sceneUserSceneClient.checkDownLoad(param.getSceneNum());
     }
 
     @Override
@@ -42,17 +42,7 @@ public class UserSceneServiceImpl implements IUserSceneService {
         if(StringUtils.isEmpty(param.getSceneNum())){
             throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
         }
-
-//        ScenePro sceneProEntity = sceneService.findProBySceneNum(param.getSceneNum());
-//        if(sceneProEntity == null){
-//            throw new BusinessException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
-//        }
-//
-//        SceneProEditEntity sceneProEditEntity = sceneProEditService.findByProId(sceneProEntity.getId());
-//        if(sceneProEditEntity == null){
-//            throw new BusinessException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
-//        }
-        //todo findProBySceneNum  findByProId
+        sceneUserSceneClient.checkDownLoad(param.getSceneNum());
         Map<String, Object> result = new HashMap<>();
 
         result.put("downloadStatus", 1);
@@ -73,7 +63,6 @@ public class UserSceneServiceImpl implements IUserSceneService {
         // 获取下载进度
         String processStr = redisUtil.get(String.format(RedisKey.PREFIX_DOWNLOAD_PROGRESS, sceneNum));
         if (StringUtils.isEmpty(processStr)) {
-            Map<String, Object> result = new HashMap<>(1);
             JSONObject object = new JSONObject();
             object.put("status", 1000);
             object.put("url", "");
@@ -94,27 +83,5 @@ public class UserSceneServiceImpl implements IUserSceneService {
         return process;
     }
 
-//    @Override
-//    public ResultData findSceneNumber(long userId, String snCode) {
-//        Map<String, Object> map = new HashMap<>();
-//        Camera camera = null;
-//        if (!ObjectUtils.isEmpty(snCode)) {
-//            camera = cameraService.getBySnCode(snCode);
-//            if(ObjectUtils.isEmpty(camera)){
-//                map.put("sceneNum", 0);
-//                map.put("cooperatimeNum", 0);
-//                return ResultData.ok(map);
-//            }
-//        }
-//
-//        //双目场景数量
-//        ResultData<SceneCnt> resultData = sceneUserSceneClient.getSceneCnt(userId, Objects.isNull(camera) ? null : camera.getId());
-//        SceneCnt sceneCnt = resultData.getData();
-//        map.put("sceneNum", sceneCnt.getSceneCnt() + sceneCnt.getSceneProCnt());
-//        map.put("cooperatimeNum", sceneCnt.getCooperSceneCnt());
-//
-//        return ResultData.ok(map);
-//    }
-
 
 }

+ 7 - 14
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserServiceImpl.java

@@ -395,16 +395,7 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
             if(userIncrementEntity != null){
                 userIncrementService.unbindCamera(cameraDetailEntity.getUserId(), userIncrementEntity.getId(), true,cameraDetailEntity,userIncrementEntity);
             }
-
-            //todo
-//            if (cameraDetailEntity.getType() == 0){
-//                result2 = sceneService.updateUserIdByCameraId(null, Long.valueOf(id));
-//            }else {
-//                result2 = sceneService.updateUserIdByCameraIdPro(null, Long.valueOf(id));
-//            }
-//            if (result2.getCode() == Result.CODE_FAILURE){
-//                throw new Exception(LoginConstant.ERROR_MSG);
-//            }
+            sceneUserSceneClient.updateUserIdByCameraId(null,Long.valueOf(id));
             RequestCamera camera = new RequestCamera();
             camera.setCameraId(Long.valueOf(id));
             deleteCooperationUser(camera,cameraDetailEntity);
@@ -482,15 +473,17 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     }
 
     @Override
-    public String sceneResourceByCameraId(RequestCamera camera) {
-        //todo
-        return null;
+    public ResultData sceneResourceByCameraId(RequestCamera camera) {
+        if(camera.getCameraId() == null){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        return sceneUserSceneClient.getSceneResourceByCameraId(camera.getCameraId());
     }
 
     @Override
     public SSOUser getSSOUserByUserId(Long userId) {
         User user = this.getById(userId);
-        if(user == null || "I".equals(user)){
+        if(user == null || 1 == user.getTbStatus()){
             throw new BusinessException(ErrorCode.USER_NOT_EXIST);
         }
         return this.getSsoUserByUserName(user,user.getUserName());

+ 19 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/feign/UserSceenFeign.java

@@ -50,6 +50,10 @@ public class UserSceenFeign {
     ISceneCooperationService sceneCooperationService;
     @Autowired
     IFdkkLaserService fdkkLaserService;
+    @Autowired
+    ISceneProEditService sceneProEditService;
+    @Autowired
+    ISceneResourceService sceneResourceService;
 
     @PostMapping("/getSceneCnt")
     ResultData<SceneCntDTO> getSceneCnt(@RequestParam(value = "userId") Long userId, Long cameraId){
@@ -185,5 +189,20 @@ public class UserSceenFeign {
         }
         return sceneProList;
     }
+
+    @PostMapping("/updateImageVersionFromSceneProEdit")
+    ResultData updateImageVersionFromSceneProEdit(@RequestParam(value = "num" ) String num){
+        sceneProEditService.updateImageVersionByNum(num);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/getSceneResourceByCameraId")
+    ResultData getSceneResourceByCameraId(@RequestParam(value = "cameraId" ) Long cameraId){
+        return ResultData.ok(sceneResourceService.findByCameraId(cameraId));
+    }
+    @PostMapping("/checkDownLoad")
+    ResultData checkDownLoad(@RequestParam(value = "sceneNum") String sceneNum){
+        return sceneProService.checkDownLoad(sceneNum);
+    }
 }
 

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

@@ -19,4 +19,5 @@ public interface ISceneProEditService extends IService<SceneProEdit> {
 
      void updateImageVersionByProId(Long id);
 
+    void updateImageVersionByNum(String num);
 }

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

@@ -205,9 +205,5 @@ public interface ISceneProService extends IService<ScenePro> {
 
     ResultData getStatusByScene(SceneParamVO param) throws Exception;
 
-
-
-
-
-
+    ResultData checkDownLoad(String sceneNum);
 }

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

@@ -1,14 +1,14 @@
 package com.fdkankan.scene.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.fdkankan.common.constant.RecStatus;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.TbStatus;
+import com.fdkankan.scene.entity.ScenePro;
 import com.fdkankan.scene.entity.SceneProEdit;
 import com.fdkankan.scene.mapper.ISceneProEditExtMapper;
 import com.fdkankan.scene.mapper.ISceneProEditMapper;
 import com.fdkankan.scene.service.ISceneProEditExtService;
 import com.fdkankan.scene.service.ISceneProEditService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.scene.service.ISceneProService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -57,6 +57,12 @@ public class SceneProEditServiceImpl extends ServiceImpl<ISceneProEditMapper, Sc
         sceneProEditExtMapper.updateImageVersionByProEditId(sceneProEdit.getId());
     }
 
-
-
+    @Override
+    public void updateImageVersionByNum(String num) {
+        ScenePro scenePro = sceneProService.findBySceneNum(num);
+        if(Objects.isNull(scenePro)){
+            return;
+        }
+        this.updateImageVersionByProId(scenePro.getId());
+    }
 }

+ 44 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -31,7 +31,6 @@ import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.*;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-import java.util.Map.Entry;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
@@ -51,6 +50,7 @@ import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.*;
+import java.util.Map.Entry;
 import java.util.stream.Collectors;
 
 /**
@@ -127,6 +127,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IScenePlusService scenePlusService;
     @Autowired
     IScenePlusExtService scenePlusExtService;
+    @Autowired
+    ISceneDownloadLogService sceneDownloadLogService;
 
     @Override
     public List<SceneVO> convert(List<ScenePro> list){
@@ -5221,6 +5223,47 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         return ResultData.ok();
     }
 
+    @Override
+    public ResultData checkDownLoad(String sceneNum) {
+        if(StringUtils.isEmpty(sceneNum)){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        ScenePro scenePro = sceneProService.findBySceneNum(sceneNum);
+        if(scenePro == null ){
+            throw  new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        SceneProEdit sceneProEdit = sceneProEditService.findByProId(scenePro.getId());
+        if(sceneProEdit == null){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        //downloadStatus,1打包资源下载,2已下载过,3下载过,并且没有修改过,无需打包直接返回下载地址,-1没下载次数不足
+        SceneDownloadLog sceneDownloadLogEntity = sceneDownloadLogService.findByStatusAndNum(sceneNum, 0);
+        Map<String, Object> result = new HashMap<>();
+        if(sceneDownloadLogEntity != null){
+            result.put("downloadStatus", 1);
+            return ResultData.ok(result);
+        }
+        sceneDownloadLogEntity = sceneDownloadLogService.findByStatusAndNum(sceneNum, 1);
+
+        //3下载过,并且没有修改过
+        if(sceneDownloadLogEntity != null && sceneDownloadLogEntity.getSceneVersion().intValue() ==
+                sceneProEdit.getVersion()){
+
+            result.put("downloadStatus", 3);
+            result.put("downloadUrl", sceneDownloadLogEntity.getDownloadUrl());
+            return ResultData.ok(result);
+        }
 
+        //下载过
+        if(sceneDownloadLogEntity != null){
+            result.put("downloadStatus", 2);
+            // 清除旧的下载信息
+            redisUtil.del(RedisKey.PREFIX_DOWNLOAD_PROGRESS_V4.concat(sceneNum));
+            return ResultData.ok(result);
+        }
 
+        //未下载过
+        result.put("downloadStatus", 0);
+        return ResultData.ok(result);
+    }
 }

+ 2 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneResourceServiceImpl.java

@@ -2,7 +2,7 @@ package com.fdkankan.scene.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.fdkankan.common.constant.RecStatus;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.scene.entity.SceneResource;
 import com.fdkankan.scene.entity.SceneResourceCamera;
@@ -11,7 +11,6 @@ import com.fdkankan.scene.mapper.ISceneResourceMapper;
 import com.fdkankan.scene.service.ISceneResourceCameraService;
 import com.fdkankan.scene.service.ISceneResourceCooperationService;
 import com.fdkankan.scene.service.ISceneResourceService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -63,9 +62,7 @@ public class SceneResourceServiceImpl extends ServiceImpl<ISceneResourceMapper,
         if(CollUtil.isEmpty(sceneResourceCameraList)){
             return null;
         }
-        List<Long> sceneResIdList = sceneResourceCameraList.stream().map(srCoo -> {
-            return srCoo.getSceneResourceId();
-        }).collect(Collectors.toList());
+        List<Long> sceneResIdList = sceneResourceCameraList.stream().map(SceneResourceCamera::getSceneResourceId).collect(Collectors.toList());
 
         return this.list(new LambdaQueryWrapper<SceneResource>().in(SceneResource::getId, sceneResIdList));