Prechádzať zdrojové kódy

相机入库支持深光相机

lyhzzz 2 rokov pred
rodič
commit
94a77ea19a

+ 64 - 64
src/main/java/com/fdkankan/manage/common/CameraTypeEnum.java

@@ -1,64 +1,64 @@
-package com.fdkankan.manage.common;
-
-import cn.hutool.cache.Cache;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public enum CameraTypeEnum {
-    DOUBLE_EYE(0,"KK-","4DKK_","旧双目相机"),
-    FDKK_PRO(1,"KK-","4DKKPRO_","四维看看pro八目相机"),
-    FDKK_LITE(2,"KK-","4DKKLITE_","四维看看lite"),
-    ZHIHOUSE_REDHOUSE(5,"KK-","4DKKLITE_","指房宝小红屋相机"),
-    DOUBLE_EYE_TURN(9,"KJ-","4DKKMI_","双目转台"),
-    LASER_TURN(10,"SS-","4DSS_","深时"),
-    LASER_SG_TURN(13,"SG-","4DSG_","深光");
-
-
-    private int type;
-    private String sceneNumPrefix;
-    private String wifiNamePrefix;
-    private String desc;
-
-    public int getType() {
-        return type;
-    }
-
-    public String getSceneNumPrefix() {
-        return sceneNumPrefix;
-    }
-
-    public String getWifiNamePrefix() {
-        return wifiNamePrefix;
-    }
-
-
-    public static Map<Integer,CameraTypeEnum> typeMaps = new HashMap<>(5);
-    public static Map<String,Integer> typePrefixMap = new HashMap<>(5);
-
-    static{
-        for (CameraTypeEnum typeEnum : CameraTypeEnum.values()) {
-            typeMaps.put(typeEnum.getType(),typeEnum);
-            typePrefixMap.put(typeEnum.getWifiNamePrefix(),typeEnum.getType());
-        }
-    }
-
-    CameraTypeEnum(Integer type, String sceneNumPrefix, String wifiNamePrefix, String desc) {
-        this.type = type;
-        this.sceneNumPrefix = sceneNumPrefix;
-        this.wifiNamePrefix = wifiNamePrefix;
-        this.desc = desc;
-    }
-
-    public static String getSceneNumPrefixByType(Integer type){
-        if(typeMaps.containsKey(type)){
-            return typeMaps.get(type).getSceneNumPrefix();
-        }
-        return "";
-    }
-
-    public static Integer getTypeByWifiNamePrefix(String wifiNamePrefix){
-        return typePrefixMap.get(wifiNamePrefix);
-    }
-
-}
+//package com.fdkankan.manage.common;
+//
+//import cn.hutool.cache.Cache;
+//
+//import java.util.HashMap;
+//import java.util.Map;
+//
+//public enum CameraTypeEnum {
+//    DOUBLE_EYE(0,"KK-","4DKK_","旧双目相机"),
+//    FDKK_PRO(1,"KK-","4DKKPRO_","四维看看pro八目相机"),
+//    FDKK_LITE(2,"KK-","4DKKLITE_","四维看看lite"),
+//    ZHIHOUSE_REDHOUSE(5,"KK-","4DKKLITE_","指房宝小红屋相机"),
+//    DOUBLE_EYE_TURN(9,"KJ-","4DKKMI_","双目转台"),
+//    LASER_TURN(10,"SS-","4DSS_","深时"),
+//    LASER_SG_TURN(13,"SG-","4DSG_","深光");
+//
+//
+//    private int type;
+//    private String sceneNumPrefix;
+//    private String wifiNamePrefix;
+//    private String desc;
+//
+//    public int getType() {
+//        return type;
+//    }
+//
+//    public String getSceneNumPrefix() {
+//        return sceneNumPrefix;
+//    }
+//
+//    public String getWifiNamePrefix() {
+//        return wifiNamePrefix;
+//    }
+//
+//
+//    public static Map<Integer,CameraTypeEnum> typeMaps = new HashMap<>(5);
+//    public static Map<String,Integer> typePrefixMap = new HashMap<>(5);
+//
+//    static{
+//        for (CameraTypeEnum typeEnum : CameraTypeEnum.values()) {
+//            typeMaps.put(typeEnum.getType(),typeEnum);
+//            typePrefixMap.put(typeEnum.getWifiNamePrefix(),typeEnum.getType());
+//        }
+//    }
+//
+//    CameraTypeEnum(Integer type, String sceneNumPrefix, String wifiNamePrefix, String desc) {
+//        this.type = type;
+//        this.sceneNumPrefix = sceneNumPrefix;
+//        this.wifiNamePrefix = wifiNamePrefix;
+//        this.desc = desc;
+//    }
+//
+//    public static String getSceneNumPrefixByType(Integer type){
+//        if(typeMaps.containsKey(type)){
+//            return typeMaps.get(type).getSceneNumPrefix();
+//        }
+//        return "";
+//    }
+//
+//    public static Integer getTypeByWifiNamePrefix(String wifiNamePrefix){
+//        return typePrefixMap.get(wifiNamePrefix);
+//    }
+//
+//}

+ 21 - 0
src/main/java/com/fdkankan/manage/controller/CameraTypeController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-11
+ */
+@RestController
+@RequestMapping("/manage/cameraType")
+public class CameraTypeController {
+
+}
+

+ 66 - 0
src/main/java/com/fdkankan/manage/entity/CameraType.java

@@ -0,0 +1,66 @@
+package com.fdkankan.manage.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 2023-04-11
+ */
+@Getter
+@Setter
+@TableName("t_camera_type")
+public class CameraType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 相机类型表
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 0 旧双目相机,1思维看看pro八目相机(看看),2看看lite,5指房宝,9双目转台(看见),10激光转台(深时),11激光转台(深光)
+     */
+    @TableField("camera_type")
+    private Integer cameraType;
+
+    /**
+     * 场景码前缀
+     */
+    @TableField("scene_prefix")
+    private String scenePrefix;
+
+    /**
+     * 相机WiFiname前缀
+     */
+    @TableField("wifi_name_prefix")
+    private String wifiNamePrefix;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("remark")
+    private String remark;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

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

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

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/ICameraTypeMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.CameraType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-11
+ */
+@Mapper
+public interface ICameraTypeMapper extends BaseMapper<CameraType> {
+
+}

+ 16 - 0
src/main/java/com/fdkankan/manage/service/ICameraTypeService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.CameraType;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-11
+ */
+public interface ICameraTypeService extends IService<CameraType> {
+
+}

+ 1 - 2
src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java

@@ -8,7 +8,6 @@ import com.fdkankan.manage.common.CacheUtil;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.exception.BusinessException;
-import com.fdkankan.manage.common.CameraTypeEnum;
 import com.fdkankan.manage.entity.Camera;
 import com.fdkankan.manage.entity.CameraDetail;
 import com.fdkankan.manage.entity.User;
@@ -67,7 +66,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         }
         String snCode = null;
         String cooperationUserName = null;
-        if(cameraDetail.getType() == CameraTypeEnum.LASER_TURN.getType()){
+        if(cameraDetail.getType() == 10 || cameraDetail.getType() == 11){
             Camera cameraEntity = cameraService.getById(cameraDetail.getCameraId());
             snCode = cameraEntity.getSnCode();
             cooperationUserName  = user.getUserName();

+ 35 - 12
src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java

@@ -58,6 +58,8 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     IExcelService excelService;
     @Autowired
     IOrderService orderService;
+    @Autowired
+    ICameraTypeService cameraTypeService;
 
     @Override
     public List<Camera> getListByCameraIdList(List<Long> cameraIdList) {
@@ -107,19 +109,32 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         if(StringUtils.isEmpty(wifiName) ){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        if( !wifiName.contains("_") || !wifiName.contains("4D")){
+        List<CameraType> list = cameraTypeService.list();
+        Set<String> wifiNamePrefixList = list.stream().map(CameraType::getWifiNamePrefix).collect(Collectors.toSet());
+
+        if(!wifiNamePrefixList.contains(wifiName)){
+            throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
+        }
+        HashMap<String,CameraType> cameraTypeMap = new HashMap<>();
+        list.forEach(entity->cameraTypeMap.put(entity.getWifiNamePrefix(),entity));
+
+        String[] split = wifiName.split("_");
+        String cameraPrefix = split[0];
+        String snCode = split[1];
+        if(cameraTypeMap.get(cameraPrefix) == null){
             throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
         }
+
         LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Camera::getSnCode,wifiName.split("_")[1]);
+        wrapper.eq(Camera::getSnCode,snCode);
         long count = this.count(wrapper);
         if(count > 0){
             throw new BusinessException(ResultCode.WIFI_NAME_REPEAT);
         }
-        saveBatchCamera(Collections.singletonList(wifiName));
+        saveBatchCamera(Collections.singletonList(wifiName),cameraTypeMap);
     }
 
-    private Integer saveBatchCamera(List<String> wifiNameList){
+    private Integer saveBatchCamera(List<String> wifiNameList,HashMap<String,CameraType> cameraTypeMap){
         HashSet<String> wifiNameSet = new HashSet<>(wifiNameList);
         List<Camera> cameraList = new ArrayList<>();
         for (String wifiName : wifiNameSet) {
@@ -127,6 +142,9 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             if(res.length !=2 || StringUtils.isBlank(res[1])){
                 throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
             }
+            if(cameraTypeMap.get(res[0]) == null){
+                throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
+            }
             Camera camera = new Camera();
             camera.setWifiName(wifiName);
             camera.setSnCode(res[1]);
@@ -141,14 +159,15 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
         List<CameraDetail> cameraDetailList = new ArrayList<>();
         for (Camera camera : cameraList) {
-            String wifiName = camera.getWifiName();
-            Integer type = CameraTypeEnum.getTypeByWifiNamePrefix(wifiName.substring(0,wifiName.lastIndexOf("_") +1));
-
             CameraDetail cameraDetail = new CameraDetail();
             cameraDetail.setAgency(CameraConstant.DEFAULT_AGENT);
             cameraDetail.setCameraId(camera.getId());
             cameraDetail.setCountry(0);//默认中国
+            String wifiNamePrix = camera.getWifiName().split("_")[0];
+            CameraType cameraType = cameraTypeMap.get(wifiNamePrix);
+            Integer type = cameraType.getCameraType();
             cameraDetail.setType(type);
+
             if (1 == cameraDetail.getType() || 9 == cameraDetail.getType() || 10 == cameraDetail.getType() || 13 == cameraDetail.getType()){
                 cameraDetail.setTotalSpace(Long.valueOf(Constant.CAMERA_BASE_SPACE_VALUE));
                 cameraDetail.setUsedSpace(0L);
@@ -172,7 +191,12 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     }
     @Override
     public Integer ins(List<String> wifiNameList){
-        List<Integer> errorRow = getErrorRow(wifiNameList);
+        List<CameraType> cameraTypeList = cameraTypeService.list();
+        Set<String> wifiNamePrefixList = cameraTypeList.stream().map(CameraType::getWifiNamePrefix).collect(Collectors.toSet());
+        List<Integer> errorRow = getErrorRow(wifiNameList,wifiNamePrefixList);
+        HashMap<String,CameraType> cameraTypeMap = new HashMap<>();
+        cameraTypeList.forEach(entity->cameraTypeMap.put(entity.getWifiNamePrefix(),entity));
+
         excelService.toExcelError(errorRow);
         List<String> snCodeList = new ArrayList<>();
         for (String wifiName : wifiNameList) {
@@ -186,12 +210,12 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             List<Integer> errorRow2 = getErrorRow(snCodeList, newList);
             excelService.toExcelError(errorRow2);
         }
-        return saveBatchCamera(wifiNameList);
+        return saveBatchCamera(wifiNameList,cameraTypeMap);
     }
 
 
 
-    private List<Integer> getErrorRow(List<String> wifiNameList){
+    private List<Integer> getErrorRow(List<String> wifiNameList,Set<String> wifiNamePrefixList){
         List<Integer> errorIndexList = new ArrayList<>();
         Set<String> wifiNameSet = new HashSet<>();
         Integer index = 0;
@@ -205,8 +229,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
                 errorIndexList.add(index);
                 continue;
             }
-            if( !wifiName.contains("_") || !wifiName.contains("4D")
-                    || !CameraTypeEnum.typePrefixMap.containsKey(wifiName.split("_")[0]+"_")){
+            if( !wifiNamePrefixList.contains(wifiName)){
                 errorIndexList.add(index);
             }
             wifiNameSet.add(wifiName);

+ 20 - 0
src/main/java/com/fdkankan/manage/service/impl/CameraTypeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.CameraType;
+import com.fdkankan.manage.mapper.ICameraTypeMapper;
+import com.fdkankan.manage.service.ICameraTypeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-11
+ */
+@Service
+public class CameraTypeServiceImpl extends ServiceImpl<ICameraTypeMapper, CameraType> implements ICameraTypeService {
+
+}

+ 0 - 3
src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java

@@ -111,9 +111,6 @@ public class ExcelServiceImpl implements IExcelService {
                     continue;
                 }
                 String wifiName = map.get(0);
-                if(StringUtils.isBlank(wifiName) || !wifiName.contains("_") || !wifiName.contains("4D")){
-                    errorIndex.add(index -3);
-                }
                 wifiNameList.add(wifiName);
             }else if(type == 1){    //出库
                 if(index == 0 && !map.get(0).equals("设备出库模板")){

+ 0 - 1
src/main/java/com/fdkankan/manage/service/impl/Scene3dNumServiceImpl.java

@@ -3,7 +3,6 @@ package com.fdkankan.manage.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.common.util.RandomUtil;
-import com.fdkankan.manage.common.CameraTypeEnum;
 import com.fdkankan.manage.common.RedisKeyUtil;
 import com.fdkankan.manage.entity.Scene3dNum;
 import com.fdkankan.manage.mapper.IScene3dNumMapper;

+ 5 - 0
src/main/resources/mapper/manage/CameraTypeMapper.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.manage.mapper.ICameraTypeMapper">
+
+</mapper>