|
@@ -1,7 +1,10 @@
|
|
|
package com.fdkankan.scene.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+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.exception.BusinessException;
|
|
|
import com.fdkankan.common.user.SSOLoginHelper;
|
|
|
import com.fdkankan.common.user.SSOUser;
|
|
@@ -9,13 +12,21 @@ import com.fdkankan.platform.api.feign.PlatformGoodsClient;
|
|
|
import com.fdkankan.platform.api.feign.PlatformUserClient;
|
|
|
import com.fdkankan.platform.api.vo.Camera;
|
|
|
import com.fdkankan.platform.api.vo.User;
|
|
|
+import com.fdkankan.scene.api.vo.SceneCnt;
|
|
|
+import com.fdkankan.scene.entity.Scene;
|
|
|
import com.fdkankan.scene.entity.SceneCooperation;
|
|
|
+import com.fdkankan.scene.entity.ScenePro;
|
|
|
+import com.fdkankan.scene.entity.SceneProExt;
|
|
|
import com.fdkankan.scene.entity.SceneProPO;
|
|
|
import com.fdkankan.scene.service.ISceneCooperationService;
|
|
|
+import com.fdkankan.scene.service.ISceneProExtService;
|
|
|
+import com.fdkankan.scene.service.ISceneProService;
|
|
|
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.Objects;
|
|
|
+import java.util.concurrent.locks.Condition;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -24,6 +35,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
@Service
|
|
|
@Slf4j
|
|
@@ -39,6 +51,10 @@ public class UserSceneService implements IUserSceneService {
|
|
|
private ISceneCooperationService sceneCooperationService;
|
|
|
@Autowired
|
|
|
private ISceneService sceneService;
|
|
|
+ @Autowired
|
|
|
+ private ISceneProService sceneProService;
|
|
|
+ @Autowired
|
|
|
+ private ISceneProExtService sceneProExtService;
|
|
|
|
|
|
@Override
|
|
|
public Page<SceneVO> getScenes(String token, SceneParamVO param) {
|
|
@@ -99,4 +115,43 @@ public class UserSceneService implements IUserSceneService {
|
|
|
});
|
|
|
return pageInfo;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SceneCnt getSceneCnt(Long userId, Long cameraId) {
|
|
|
+
|
|
|
+ //双目场景数量
|
|
|
+ LambdaQueryWrapper<Scene> sceneWrapper =
|
|
|
+ new LambdaQueryWrapper<Scene>()
|
|
|
+ .eq(Scene::getUserId, userId);
|
|
|
+ if(Objects.nonNull(cameraId)){
|
|
|
+ sceneWrapper.eq(Scene::getCameraId, cameraId);
|
|
|
+ }
|
|
|
+ long sceneCount = sceneService.count(sceneWrapper);
|
|
|
+
|
|
|
+ //八目场景数量
|
|
|
+ LambdaQueryWrapper<ScenePro> sceneProWrapper =
|
|
|
+ new LambdaQueryWrapper<ScenePro>()
|
|
|
+ .select(ScenePro::getId)
|
|
|
+ .eq(ScenePro::getUserId, userId);
|
|
|
+ if(Objects.nonNull(cameraId)){
|
|
|
+ sceneWrapper.eq(Scene::getCameraId, cameraId);
|
|
|
+ }
|
|
|
+ List<ScenePro> SceneProList = sceneProService.list(sceneProWrapper);
|
|
|
+ long sceneProCount = 0;
|
|
|
+ if(CollUtil.isNotEmpty(SceneProList)){
|
|
|
+ List<Long> proIdList = SceneProList.stream().map(pro -> {
|
|
|
+ return pro.getId();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ sceneProCount = sceneProExtService.count(
|
|
|
+ new LambdaQueryWrapper<SceneProExt>()
|
|
|
+ .eq(SceneProExt::getSceneSource,SceneSource.YJHZ.code())
|
|
|
+ .in(SceneProExt::getSceneProId, proIdList));
|
|
|
+ }
|
|
|
+
|
|
|
+ //协作场景数量
|
|
|
+ long cooperaCount = sceneCooperationService.count(
|
|
|
+ new LambdaQueryWrapper<SceneCooperation>().eq(SceneCooperation::getUserId, userId));
|
|
|
+
|
|
|
+ return SceneCnt.builder().sceneCnt(sceneCount).sceneProCnt(sceneProCount).CooperSceneCnt(cooperaCount).build();
|
|
|
+ }
|
|
|
}
|