Quellcode durchsuchen

老接口映射

dengsixing vor 3 Jahren
Ursprung
Commit
96841ea01a

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneCooperationController.java

@@ -41,7 +41,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2021-12-23
  */
 @RestController
-@RequestMapping("/api/scene/user/cooperation")
+@RequestMapping("/api/scene/user/scene/cooperation")
 public class SceneCooperationController extends BaseController {
 
     @Autowired

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

@@ -2,12 +2,13 @@ package com.fdkankan.scene.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.service.IUserSceneService;
-import com.fdkankan.scene.service.impl.UserSceneService;
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneVO;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -18,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @Log4j2
 @RestController
-@RequestMapping("/api/user/scene")
+@RequestMapping("/api/scene/user/scene")
 public class UserSceneController extends BaseController {
 
     @Autowired
@@ -35,6 +36,16 @@ public class UserSceneController extends BaseController {
 
     }
 
+    /**
+     * 获取我的场景和协作场景数量
+     * @return
+     */
+    @PostMapping(value = "/findSceneNumber")
+    public ResultData findSceneNumber(String snCode) throws Exception{
+        Long userId = this.getUserId();
+        return userSceneService.findSceneNumber(userId, snCode);
+    }
+
 
 
 }

+ 3 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IUserSceneService.java

@@ -1,6 +1,7 @@
 package com.fdkankan.scene.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.api.vo.SceneCnt;
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneVO;
@@ -20,5 +21,7 @@ public interface IUserSceneService {
 
     SceneCnt getSceneCnt(Long userId, Long cameraId);
 
+    ResultData findSceneNumber(long userId, String snCode) throws Exception;
+
 
 }

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

@@ -28,6 +28,7 @@ import com.fdkankan.scene.mapper.ISceneProMapper;
 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;
@@ -2319,7 +2320,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         //查询缓存是否包含热点数据
         String key = String.format(RedisKey.SCENE_HOT_DATA, num);
         Map<String, String> allTagsMap = redisUtil.hmget(key);
-        List<JSONObject> tags = null;
+        List<JSONObject> tags = Lists.newArrayList();
         if(CollUtil.isNotEmpty(allTagsMap)){
             tags = allTagsMap.entrySet().parallelStream().map(entry -> {
                 JSONObject jsonObject = JSON.parseObject(entry.getValue());
@@ -2334,6 +2335,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         //查询缓存是否包含icons
         key = String.format(RedisKey.SCENE_HOT_ICONS, num);
         Set<String> icons = redisUtil.sGet(key);
+        if(icons == null){
+            icons = Sets.newHashSet();
+        }
         result.put("icons", icons);
 
         return ResultData.ok(result);

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

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneSource;
+import com.fdkankan.common.constant.ServerCode;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.user.SSOLoginHelper;
 import com.fdkankan.common.user.SSOUser;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
@@ -25,6 +27,8 @@ import com.fdkankan.scene.service.ISceneService;
 import com.fdkankan.scene.service.IUserSceneService;
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneVO;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.locks.Condition;
 import lombok.extern.slf4j.Slf4j;
@@ -39,7 +43,7 @@ import org.springframework.util.ObjectUtils;
 
 @Service
 @Slf4j
-public class UserSceneService implements IUserSceneService {
+public class UserSceneServiceImpl implements IUserSceneService {
 
     @Autowired
     private SSOLoginHelper ssoLoginHelper;
@@ -154,4 +158,29 @@ public class UserSceneService implements IUserSceneService {
 
         return SceneCnt.builder().sceneCnt(sceneCount).sceneProCnt(sceneProCount).CooperSceneCnt(cooperaCount).build();
     }
+
+    @Override
+    public ResultData findSceneNumber(long userId, String snCode) throws Exception{
+        Map<String, Object> map = new HashMap<>();
+        Camera camera = null;
+        if (!ObjectUtils.isEmpty(snCode)) {
+            ResultData<Camera> cameraResultData = platformGoodsClient.getCameraBySnCode(snCode);
+            if(!cameraResultData.getSuccess()){
+                throw new Exception(ServerCode.FEIGN_REQUEST_FAILD.message());
+            }
+            camera = cameraResultData.getData();
+            if(ObjectUtils.isEmpty(camera)){
+                map.put("sceneNum", 0);
+                map.put("cooperatimeNum", 0);
+                return ResultData.ok(map);
+            }
+        }
+
+        //双目场景数量
+        SceneCnt sceneCnt = this.getSceneCnt(userId, Objects.isNull(camera) ? null : camera.getId());
+        map.put("sceneNum", sceneCnt.getSceneCnt() + sceneCnt.getSceneProCnt());
+        map.put("cooperatimeNum", sceneCnt.getCooperSceneCnt());
+
+        return ResultData.ok(map);
+    }
 }