Bläddra i källkod

云端场景列表添加返回字段

lyhzzz 1 år sedan
förälder
incheckning
78e4858c76

+ 3 - 0
src/main/java/com/fdkankan/ucenter/constant/CameraConstant.java

@@ -94,4 +94,7 @@ public class CameraConstant {
 
     public static final int FAILURE_CODE_6030 = 6030;
     public static final String FAILURE_MSG_6030 = "绑定相机类型有误,请先切换相机类型后再绑定";
+
+    public static final int FAILURE_CODE_6031 = 6031;
+    public static final String FAILURE_MSG_6031 = "绑定失败,公司员工只能绑定一台相机。";
 }

+ 104 - 0
src/main/java/com/fdkankan/ucenter/entity/TmColdStorage.java

@@ -0,0 +1,104 @@
+package com.fdkankan.ucenter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-08
+ */
+@Getter
+@Setter
+@TableName("tm_cold_storage")
+public class TmColdStorage implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("scene_id")
+    private Integer sceneId;
+
+    /**
+     * 场景名称
+     */
+    @TableField("scene_name")
+    private String sceneName;
+
+    /**
+     * 场景码
+     */
+    @TableField("scene_num")
+    private String sceneNum;
+
+    /**
+     * 场景链接
+     */
+    @TableField("scene_website")
+    private String sceneWebsite;
+
+    /**
+     * 场景封面
+     */
+    @TableField("scene_thumb")
+    private String sceneThumb;
+
+    @TableField("scene_status")
+    private Integer sceneStatus;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    /**
+     * 用户账号
+     */
+    @TableField("user_name")
+    private String userName;
+
+    /**
+     * 拍摄设备id
+     */
+    @TableField("sn_code")
+    private String snCode;
+
+    @TableField("camera_id")
+    private Integer cameraId;
+
+    /**
+     * 拍摄时间
+     */
+    @TableField("shooting_time")
+    private Date shootingTime;
+
+    @TableField("scene_source")
+    private Integer sceneSource;
+
+    @TableField("scene_version")
+    private String sceneVersion;
+
+    @TableField("is_obj")
+    private Integer isObj;
+
+    @TableField("rec_status")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/ucenter/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"ucenter", getTables(new String[]{
-                "t_stripe_user_email","t_stripe_config",
+                "tm_cold_storage",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/ucenter/mapper/ITmColdStorageMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.ucenter.mapper;
+
+import com.fdkankan.ucenter.entity.TmColdStorage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-08
+ */
+@Mapper
+public interface ITmColdStorageMapper extends BaseMapper<TmColdStorage> {
+
+}

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/ICameraDetailService.java

@@ -42,4 +42,6 @@ public interface ICameraDetailService extends IService<CameraDetail> {
     void uploadUserCameraInfo(Long id, String cameraVersion, String appVersion);
 
     Long getCountByUserId(Long companyId,Long userId, Integer type);
+
+    Long getCountByUserId(Long userId);
 }

+ 20 - 0
src/main/java/com/fdkankan/ucenter/service/ITmColdStorageService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.entity.TmColdStorage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-08
+ */
+public interface ITmColdStorageService extends IService<TmColdStorage> {
+
+    HashMap<String, Boolean> getByNumList(List<String> numList);
+}

+ 7 - 4
src/main/java/com/fdkankan/ucenter/service/impl/AppCameraService.java

@@ -84,10 +84,13 @@ public class AppCameraService {
         if(cameraDetail == null){
             throw new BusinessException(AppConstant.FAILURE_CODE_4010, AppConstant.FAILURE_MSG_4010);
         }
-//        Set<Long> roleIds = userRoleService.getByUser(user);
-//        if(!roleIds.contains(5L) && !roleIds.contains(6L) && !roleIds.contains(1L)){
-//            throw new BusinessException(CameraConstant.FAILURE_CODE_6005, CameraConstant.FAILURE_MSG_6005);
-//        }
+        Set<Long> roleIds = userRoleService.getByUser(user);
+        if(!roleIds.contains(5L) && !roleIds.contains(6L) && !roleIds.contains(1L)){
+            Long countByUserId = cameraDetailService.getCountByUserId(user.getId());
+            if(countByUserId >0){
+                throw new BusinessException(CameraConstant.FAILURE_CODE_6031, CameraConstant.FAILURE_MSG_6031);
+            }
+        }
         if(cameraDetail.getCompanyId()!=null){
             throw new BusinessException(CameraConstant.FAILURE_CODE_6006, CameraConstant.FAILURE_MSG_6006);
         }

+ 27 - 46
src/main/java/com/fdkankan/ucenter/service/impl/AppSceneService.java

@@ -57,6 +57,8 @@ public class AppSceneService {
     IScenePlusMapper scenePlusMapper;
     @Autowired
     IUserRoleService userRoleService;
+    @Autowired
+    ITmColdStorageService tmColdStorageService;
 
     @Value("${fyun.host}")
     private String ossHost;
@@ -99,60 +101,39 @@ public class AppSceneService {
 
         Page<AppSceneVo> page =  scenePlusMapper.pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
 
-        Set<Long> cameraIdSet = page.getRecords().stream().map(AppSceneVo::getCameraId).collect(Collectors.toSet());
-        List<Long> cameraIds =  new ArrayList<>(cameraIdSet);
-        HashMap<Long, Camera> cameraHashMap = cameraService.getByIds(cameraIds);
-        HashMap<Long, CameraDetail> detailHashMap = cameraDetailService.getByCameraIds(cameraIds);
+        List<String> numList = page.getRecords().stream().map(AppSceneVo::getNum).collect(Collectors.toList());
+        HashMap<String,Boolean> coldMap = tmColdStorageService.getByNumList(numList);
+
+//        Set<Long> cameraIdSet = page.getRecords().stream().map(AppSceneVo::getCameraId).collect(Collectors.toSet());
+//        List<Long> cameraIds =  new ArrayList<>(cameraIdSet);
+//        HashMap<Long, Camera> cameraHashMap = cameraService.getByIds(cameraIds);
+//        HashMap<Long, CameraDetail> detailHashMap = cameraDetailService.getByCameraIds(cameraIds);
+        //账号密码登录 sceneSourceType 取值 1用户场景,2协作场景
+        //相机登录     sceneSourceType 取值皆为0
 
-        /**
-         * sceneSourceType 0 相机场景,1用户场景 2 协作场景
-         */
         for (AppSceneVo record : page.getRecords()) {
-            record.setChildName(record.getSnCode());
+            if(coldMap.get(record.getNum()) != null ){
+                record.setColdStorage(coldMap.get(record.getNum()));
+            }
             if (record.getStatus() == -1) {
                 record.setStatus(0);
             } else if (record.getStatus() == 500) {
                 record.setStatus(-1);
             }
-            if(record.getCameraId() == null){
-                record.setSceneSourceType(record.getUserId().longValue() == param.getUserId() ? 1 : 2);
-            }else {
-                record.setSceneSourceType(1);
-                Camera camera = cameraHashMap.get(record.getCameraId());
-                if(camera == null){
-                    continue;
-                }
-                CameraDetail cameraDetail = detailHashMap.get(camera.getId());
-                if(cameraDetail == null){
-                    continue;
-                }
-                record.setChildName(camera.getChildName());
-                record.setSnCode(camera.getSnCode());
-                if(cooperationNumList.contains(record.getNum())){
-                    record.setSceneSourceType(2);
-                    continue ;
-                }
-                //相机的userId为空,表示相机的场景
-                if (cameraDetail.getUserId() == null || param.getUserId() == null ) {
-                    record.setSceneSourceType(1);
-                    continue;
-                }
-                if (cameraDetail.getUserId().equals(param.getUserId())) {
-                    //相机用户id等于该用户id,既为用户的场景
-                    record.setSceneSourceType(1);
-                    continue;
-                }
-                if (param.getCameraId()!=null && cameraDetail.getCameraId().equals(param.getCameraId())) {
-                    if (cameraDetail.getCooperationUser() == null) {
-                        //场景相机id等于该相机id
-                        record.setSceneSourceType(1);
-                    } else if (cameraDetail.getCooperationUser().equals(param.getUserId())) {
-                        record.setSceneSourceType(2);
-                    }
-                }
-
+            //虚拟场景
+            if(record.getCameraId() == null && param.getUserId() != null){
+                record.setSceneSourceType(record.getUserId().equals(param.getUserId()) ? 1 :2);
+                continue;
+            }
+            //相机场景
+            if(param.getCameraId() !=null && record.getCameraId().equals(param.getCameraId())){
+                record.setSceneSourceType(0);
+                continue;
+            }
+            //用户场景
+            if(param.getUserId() != null && record.getUserId() != null){
+                record.setSceneSourceType(record.getUserId().equals(param.getUserId()) ? 1 :2);
             }
-
         }
         return PageInfo.PageInfo(page);
     }

+ 6 - 0
src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java

@@ -91,6 +91,12 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         }
         return this.count(wrapper);
     }
+    @Override
+    public Long getCountByUserId(Long userId) {
+        LambdaQueryWrapper<CameraDetail> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CameraDetail::getUserId,userId);
+        return this.count(wrapper);
+    }
 
     @Override
     public Integer deadlineNumber(String username) {

+ 38 - 0
src/main/java/com/fdkankan/ucenter/service/impl/TmColdStorageServiceImpl.java

@@ -0,0 +1,38 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.ucenter.entity.TmColdStorage;
+import com.fdkankan.ucenter.mapper.ITmColdStorageMapper;
+import com.fdkankan.ucenter.service.ITmColdStorageService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-08
+ */
+@Service
+public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper, TmColdStorage> implements ITmColdStorageService {
+
+    @Override
+    public HashMap<String, Boolean> getByNumList(List<String> numList) {
+        HashMap<String, Boolean> map = new HashMap<>();
+        if(numList == null || numList.isEmpty()){
+            return map;
+        }
+        LambdaQueryWrapper<TmColdStorage> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(TmColdStorage::getSceneNum,numList);
+        List<TmColdStorage> list = this.list(wrapper);
+        for (TmColdStorage tmColdStorage : list) {
+            map.put(tmColdStorage.getSceneNum(),true);
+        }
+        return map;
+    }
+}

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/response/AppSceneVo.java

@@ -36,6 +36,8 @@ public class AppSceneVo {
 
     private String buildType;
 
+    private Boolean coldStorage = false;
+
     public String getCreateTime() {
         return DateUserUtil.getDayTime(createTime);
     }

+ 5 - 0
src/main/resources/mapper/ucenter/TmColdStorageMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.ucenter.mapper.ITmColdStorageMapper">
+
+</mapper>