Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

martin 3 жил өмнө
parent
commit
50700e7659
19 өөрчлөгдсөн 665 нэмэгдсэн , 58 устгасан
  1. 16 0
      api-common/src/main/java/api/common/pojo/param/model/CameraParam.java
  2. 35 0
      api-common/src/main/java/api/common/pojo/po/model/CameraPO.java
  3. 3 1
      api-common/src/main/java/api/common/pojo/po/model/VehiclePO.java
  4. 34 0
      api-common/src/main/java/api/common/pojo/vo/model/CameraVO.java
  5. 3 1
      api-common/src/main/java/api/common/pojo/vo/model/VehicleVO.java
  6. 4 0
      api-common/src/main/java/api/common/pojo/vo/system/DictVO.java
  7. 4 11
      api-common/src/main/java/api/common/util/JsonUtil.java
  8. 21 2
      api-common/src/main/java/api/common/util/ObjectUtil.java
  9. 50 0
      api-common/src/main/java/api/common/util/ParamUtil.java
  10. 103 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/CameraCtrl.java
  11. 31 4
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/VehicleCtrl.java
  12. 26 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/CameraMapper.java
  13. 3 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/VehicleMapper.java
  14. 92 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/CameraService.java
  15. 21 5
      simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/VehicleService.java
  16. 14 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/DictCtrl.java
  17. 21 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/DictService.java
  18. 136 0
      simulation-resource-server/src/main/resources/mapper/model/CameraMapper.xml
  19. 48 32
      simulation-resource-server/src/main/resources/mapper/model/VehicleMapper.xml

+ 16 - 0
api-common/src/main/java/api/common/pojo/param/model/CameraParam.java

@@ -0,0 +1,16 @@
+package api.common.pojo.param.model;
+
+import lombok.Data;
+
+@Data
+public class CameraParam {
+
+    //主键id
+    private String id;
+    //车辆名称
+    private String sensorName;
+    //创建人id
+    private String createUserId;
+    //是否分享
+    private String share;
+}

+ 35 - 0
api-common/src/main/java/api/common/pojo/po/model/CameraPO.java

@@ -0,0 +1,35 @@
+package api.common.pojo.po.model;
+
+import api.common.pojo.common.CommonPO;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CameraPO extends CommonPO {
+
+    //主键id
+    private String id;
+    //传感器id
+    private String sensorId;
+    //传感器名称
+    private String sensorName;
+    //传感器描述
+    private String description;
+    //盲区距离
+    private BigDecimal nearDistance;
+    //探测距离
+    private BigDecimal farDistance;
+    //水平现场角
+    private BigDecimal fovH;
+    //垂直现场角
+    private BigDecimal fovV;
+    //分辨率
+    private String resolution;
+    //帧率
+    private BigDecimal frameRate;
+    //是否显示本车(1显示0不显示)
+    private String selfDisplay;
+    //是否分享
+    private String share;
+}

+ 3 - 1
api-common/src/main/java/api/common/pojo/po/model/VehiclePO.java

@@ -18,8 +18,10 @@ public class VehiclePO extends CommonPO {
     private String description;
     //车辆类型(字典代码)
     private String vehicleType;
-    //车辆
+    //车辆型
     private String vehicleModel;
+    //车辆颜色
+    private String vehicleColour;
     //最大速度(千米/小时)
     private BigDecimal maxSpeed;
     //发动机功率(千瓦)

+ 34 - 0
api-common/src/main/java/api/common/pojo/vo/model/CameraVO.java

@@ -0,0 +1,34 @@
+package api.common.pojo.vo.model;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CameraVO {
+
+    //主键id
+    private String id;
+    //传感器id
+    private String sensorId;
+    //传感器名称
+    private String sensorName;
+    //传感器描述
+    private String description;
+    //盲区距离
+    private BigDecimal nearDistance;
+    //探测距离
+    private BigDecimal farDistance;
+    //水平现场角
+    private BigDecimal fovH;
+    //垂直现场角
+    private BigDecimal fovV;
+    //分辨率
+    private String resolution;
+    //帧率
+    private BigDecimal frameRate;
+    //是否显示本车(1显示0不显示)
+    private String selfDisplay;
+    //是否分享
+    private String share;
+}

+ 3 - 1
api-common/src/main/java/api/common/pojo/vo/model/VehicleVO.java

@@ -17,8 +17,10 @@ public class VehicleVO {
     private String description;
     //车辆类型(字典代码)
     private String vehicleType;
-    //车辆
+    //车辆型
     private String vehicleModel;
+    //车辆颜色
+    private String vehicleColour;
     //最大速度(千米/小时)
     private BigDecimal maxSpeed;
     //发动机功率(千瓦)

+ 4 - 0
api-common/src/main/java/api/common/pojo/vo/system/DictVO.java

@@ -2,6 +2,8 @@ package api.common.pojo.vo.system;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class DictVO {
 
@@ -17,4 +19,6 @@ public class DictVO {
     private String dictCode;
     //序号
     private String dictOrder;
+    //子对象
+    private List<DictVO> children;
 }

+ 4 - 11
api-common/src/main/java/api/common/util/JsonUtil.java

@@ -1,11 +1,11 @@
 package api.common.util;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.TypeFactory;
 
-import java.lang.reflect.Type;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -51,15 +51,8 @@ public class JsonUtil {
     }
 
     public static <T> List<T> jsonToList(String json, Class<T> tClass) throws JsonProcessingException {
-        TypeFactory t = TypeFactory.defaultInstance();
-        //List<T> list = new ObjectMapper().readValue(json,t.constructReferenceType(ArrayList.class,tClass));
-        List<T> list = new ObjectMapper().readValue(json, new TypeReference<List<T>>() {
-            @Override
-            public Type getType() {
-                return super.getType();
-            }
-
-        });
+        JavaType javaType = TypeFactory.defaultInstance().constructParametricType(List.class, tClass);
+        List<T> list = new ObjectMapper().readValue(json,javaType);
         return list;
     }
 

+ 21 - 2
api-common/src/main/java/api/common/util/ObjectUtil.java

@@ -1,5 +1,6 @@
 package api.common.util;
 
+import api.common.pojo.vo.system.DictVO;
 import com.fasterxml.jackson.databind.JsonNode;
 
 import java.util.*;
@@ -80,8 +81,26 @@ public class ObjectUtil {
         return jsonNode.isNull() || jsonNode.isEmpty();
     }
 
-    public static String uuid() {
-        return UUID.randomUUID().toString().replace("-", "");
+    public static List<DictVO> DictListToTree(List<DictVO> list) {
+        List<DictVO> treeList = new ArrayList<DictVO>();
+        for (DictVO dictVO: list) {
+            if("0".equals(dictVO.getPid())){
+                treeList.add(findChildren(dictVO,list));
+            }
+        }
+        return treeList;
+    }
+
+    private static DictVO findChildren(DictVO dictVO, List<DictVO> list) {
+        for (DictVO node: list) {
+            if(dictVO.getId().equals(node.getPid())){
+                if(dictVO.getChildren() == null || dictVO.getChildren().size() == 0){
+                    dictVO.setChildren(new ArrayList<DictVO>());
+                }
+                dictVO.getChildren().add(findChildren(node,list));
+            }
+        }
+        return dictVO;
     }
 
 }

+ 50 - 0
api-common/src/main/java/api/common/util/ParamUtil.java

@@ -0,0 +1,50 @@
+package api.common.util;
+
+
+import java.lang.reflect.Method;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * 参数转换工具类
+ */
+public class ParamUtil {
+
+    /**
+     * 将多级下拉二维数组中的数据,赋值到对应对象的属性中
+     * @param arr
+     * @param object
+     */
+    public static void arrConvertObj(String[][] arr,Object object) {
+        try {
+            if(arr == null || arr.length == 0){
+                return ;
+            }
+            for (int i = 0; i < arr.length; i++) {
+                //至少包含两级
+                if(arr[i] != null || arr[i].length >= 2){
+                    String[] selector = arr[i];
+                    //截取type和value
+                    String type = selector[selector.length-2];
+                    String value = selector[selector.length-1];
+                    String filedName = type.substring(0,1).toUpperCase() + type.substring(1);
+                    //get方法
+                    String getMethodName = "get" + filedName ;
+                    Method getMethod = object.getClass().getMethod(getMethodName,null);
+
+                    List<String> getValue = (List<String>) getMethod.invoke(object);
+                    if(getValue == null || getValue.size() == 0){
+                        getValue = new LinkedList<>();
+                    }
+                    getValue.add(value);
+                    //set方法
+                    String setMethodName = "set" + filedName;
+                    Method setMethod = object.getClass().getMethod(setMethodName, List.class);
+                    setMethod.invoke(object, getValue);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 103 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/CameraCtrl.java

@@ -0,0 +1,103 @@
+package com.css.simulation.resource.model.ctrl;
+
+import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.param.model.CameraParam;
+import api.common.pojo.po.model.CameraPO;
+import api.common.pojo.vo.model.CameraVO;
+import api.common.util.ObjectUtil;
+import com.css.simulation.resource.model.service.CameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+@Controller
+@RequestMapping("/camera")
+public class CameraCtrl {
+
+    @Autowired
+    CameraService cameraService;
+
+    /**
+     * 获取列表
+     */
+    @RequestMapping("/getCameraList")
+    @ResponseBody
+    public ResponseBodyVO<List<CameraVO>> getCameraList(@RequestBody CameraParam cameraParam){
+        ResponseBodyVO<List<CameraVO>> response = new ResponseBodyVO<List<CameraVO>>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(cameraService.getCameraList(cameraParam));
+        return response;
+    }
+
+    /**
+     * 获取私有列表
+     */
+    @RequestMapping("/getMyCameraList")
+    @ResponseBody
+    public ResponseBodyVO<List<CameraVO>> getMyCameraList(@RequestBody CameraParam cameraParam){
+        ResponseBodyVO<List<CameraVO>> response = new ResponseBodyVO<List<CameraVO>>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(cameraService.getMyCameraList(cameraParam));
+        return response;
+    }
+
+
+    /**
+     * 根据id获取详情
+     */
+    @RequestMapping("/getCameraInfo")
+    @ResponseBody
+    public ResponseBodyVO<CameraVO> getCameraInfo(@RequestBody CameraParam cameraParam){
+        ResponseBodyVO<CameraVO> response = new ResponseBodyVO<CameraVO>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(cameraService.getCameraInfo(cameraParam));
+        return response;
+    }
+
+    /**
+     * 新增、修改、另存为
+     */
+    @RequestMapping("/saveCamera")
+    @ResponseBody
+    public ResponseBodyVO<CameraPO> saveCamera(@RequestBody CameraPO cameraPO){
+        if(ObjectUtil.isNull(cameraPO)){
+            return new ResponseBodyVO(false, 500, "参数必传!",null);
+        }
+        ResponseBodyVO<CameraPO> response = new ResponseBodyVO<CameraPO>(ResponseBodyVO.Response.SUCCESS);
+        CameraPO po = cameraService.saveCamera(cameraPO);
+        if(ObjectUtil.isNull(po.getId())){
+            return new ResponseBodyVO(false, 500, "传感器名称重复!",null);
+        }
+        response.setInfo(po);
+        return response;
+    }
+
+    /**
+     * 分享
+     */
+    @RequestMapping("/shareCamera")
+    @ResponseBody
+    public ResponseBodyVO<CameraPO> shareCamera(@RequestBody CameraPO cameraPO){
+        if(ObjectUtil.isNull(cameraPO)){
+            return new ResponseBodyVO(false, 500, "参数必传!",null);
+        }
+        ResponseBodyVO<CameraPO> response = new ResponseBodyVO<CameraPO>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(cameraService.shareCamera(cameraPO));
+        return response;
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delCameraById")
+    @ResponseBody
+    public ResponseBodyVO delCameraById(@RequestBody CameraPO cameraPO){
+        int i = cameraService.delCameraById(cameraPO);
+        if(i>0){
+            return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+        }else{
+            return new ResponseBodyVO(false, 500, "删除失败!",null);
+        }
+    }
+}

+ 31 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/VehicleCtrl.java

@@ -27,9 +27,20 @@ public class VehicleCtrl {
      */
     @RequestMapping("/getVehicleList")
     @ResponseBody
-    public ResponseBodyVO<List<VehicleVO>> getVehicleList(@RequestBody VehicleParam pageParam){
+    public ResponseBodyVO<List<VehicleVO>> getVehicleList(@RequestBody VehicleParam vehicleParam){
         ResponseBodyVO<List<VehicleVO>> response = new ResponseBodyVO<List<VehicleVO>>(ResponseBodyVO.Response.SUCCESS);
-        response.setInfo(vehicleService.getVehicleList(pageParam));
+        response.setInfo(vehicleService.getVehicleList(vehicleParam));
+        return response;
+    }
+
+    /**
+     * 获取私有列表
+     */
+    @RequestMapping("/getMyVehicleList")
+    @ResponseBody
+    public ResponseBodyVO<List<VehicleVO>> getMyVehicleList(@RequestBody VehicleParam vehicleParam){
+        ResponseBodyVO<List<VehicleVO>> response = new ResponseBodyVO<List<VehicleVO>>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(vehicleService.getMyVehicleList(vehicleParam));
         return response;
     }
 
@@ -38,12 +49,15 @@ public class VehicleCtrl {
      */
     @RequestMapping("/getVehicleInfo")
     @ResponseBody
-    public ResponseBodyVO<VehicleVO> getVehicleInfo(@RequestBody VehicleParam pageParam){
+    public ResponseBodyVO<VehicleVO> getVehicleInfo(@RequestBody VehicleParam vehicleParam){
         ResponseBodyVO<VehicleVO> response = new ResponseBodyVO<VehicleVO>(ResponseBodyVO.Response.SUCCESS);
-        response.setInfo(vehicleService.getVehicleInfo(pageParam));
+        response.setInfo(vehicleService.getVehicleInfo(vehicleParam));
         return response;
     }
 
+    /**
+     * 新增、修改、另存为
+     */
     @RequestMapping("/saveVehicle")
     @ResponseBody
     public ResponseBodyVO<VehiclePO> saveVehicle(@RequestBody VehiclePO vehiclePO){
@@ -73,4 +87,17 @@ public class VehicleCtrl {
         return response;
     }
 
+    /**
+     * 删除
+     */
+    @RequestMapping("/delVehicleById")
+    @ResponseBody
+    public ResponseBodyVO delVehicleById(@RequestBody VehiclePO vehiclePO){
+        int i = vehicleService.delVehicleById(vehiclePO);
+        if(i>0){
+            return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+        }else{
+            return new ResponseBodyVO(false, 500, "删除失败!",null);
+        }
+    }
 }

+ 26 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/CameraMapper.java

@@ -0,0 +1,26 @@
+package com.css.simulation.resource.model.mapper;
+
+import api.common.pojo.param.model.CameraParam;
+import api.common.pojo.po.model.CameraPO;
+import api.common.pojo.vo.model.CameraVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface CameraMapper {
+
+    List<CameraVO> getCameraList(CameraParam cameraParam);
+
+    CameraVO getCameraInfo(CameraParam cameraParam);
+
+    List<CameraVO> checkCameraName(CameraPO cameraPO);
+
+    void insert(CameraPO cameraPO);
+
+    void update(CameraPO cameraPO);
+
+    int delCameraById(CameraPO cameraPO);
+}

+ 3 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/model/mapper/VehicleMapper.java

@@ -12,9 +12,9 @@ import java.util.List;
 @Repository
 public interface VehicleMapper {
 
-    List<VehicleVO> getVehicleList(VehicleParam pageParam);
+    List<VehicleVO> getVehicleList(VehicleParam vehicleParam);
 
-    VehicleVO getVehicleInfo(VehicleParam pageParam);
+    VehicleVO getVehicleInfo(VehicleParam vehicleParam);
 
     List<VehicleVO> checkVehicleName(VehiclePO vehiclePO);
 
@@ -22,4 +22,5 @@ public interface VehicleMapper {
 
     void update(VehiclePO vehiclePO);
 
+    int delVehicleById(VehiclePO vehiclePO);
 }

+ 92 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/CameraService.java

@@ -0,0 +1,92 @@
+package com.css.simulation.resource.model.service;
+
+import api.common.pojo.constants.DictConstants;
+import api.common.pojo.param.model.CameraParam;
+import api.common.pojo.po.model.CameraPO;
+import api.common.pojo.vo.model.CameraVO;
+import api.common.util.ObjectUtil;
+import api.common.util.StringUtil;
+import api.common.util.TimeUtil;
+import com.css.simulation.resource.common.utils.AuthUtil;
+import com.css.simulation.resource.model.mapper.CameraMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+import java.util.List;
+
+@Service
+public class CameraService {
+
+    @Autowired
+    CameraMapper cameraMapper;
+
+    public List<CameraVO> getCameraList(CameraParam cameraParam) {
+        cameraParam.setCreateUserId(AuthUtil.getCurrentUserId());
+        cameraParam.setShare(null);
+        List<CameraVO> list = cameraMapper.getCameraList(cameraParam);
+        return list;
+    }
+
+    public List<CameraVO> getMyCameraList(CameraParam cameraParam) {
+        cameraParam.setCreateUserId(AuthUtil.getCurrentUserId());
+        cameraParam.setShare(DictConstants.NO);
+        List<CameraVO> list = cameraMapper.getCameraList(cameraParam);
+        return list;
+    }
+
+    public CameraVO getCameraInfo(CameraParam cameraParam) {
+        return cameraMapper.getCameraInfo(cameraParam);
+    }
+
+
+    public CameraPO saveCamera(CameraPO cameraPO) {
+        //常规字段赋值
+        String currentUserId = AuthUtil.getCurrentUserId();
+        Timestamp currentTime = TimeUtil.getNowForMysql();
+        cameraPO.setCreateUserId(currentUserId);
+        cameraPO.setCreateTime(currentTime);
+        cameraPO.setModifyUserId(currentUserId);
+        cameraPO.setModifyTime(currentTime);
+        cameraPO.setIsDeleted(DictConstants.NO);
+        //名称校验
+        List<CameraVO> list = cameraMapper.checkCameraName(cameraPO);
+        if(ObjectUtil.isNotNull(list)){
+            cameraPO.setId(null);
+            return cameraPO;
+        }
+        String id = cameraPO.getId();
+        if(ObjectUtil.isNull(id)){//新增
+            cameraPO.setId(StringUtil.getRandomUUID());
+            cameraPO.setShare(DictConstants.NO);//私有
+            cameraMapper.insert(cameraPO);
+        }else{//修改
+            cameraMapper.update(cameraPO);
+        }
+        return cameraPO;
+    }
+
+    public CameraPO shareCamera(CameraPO cameraPO) {
+        //常规字段赋值
+        String currentUserId = AuthUtil.getCurrentUserId();
+        Timestamp currentTime = TimeUtil.getNowForMysql();
+        cameraPO.setCreateUserId(currentUserId);
+        cameraPO.setCreateTime(currentTime);
+        cameraPO.setModifyUserId(currentUserId);
+        cameraPO.setModifyTime(currentTime);
+        cameraPO.setIsDeleted(DictConstants.NO);
+
+        cameraPO.setShare(DictConstants.YES);//转公有
+        cameraPO.setId(StringUtil.getRandomUUID());
+        cameraMapper.insert(cameraPO);
+        return cameraPO;
+    }
+
+    public int delCameraById(CameraPO cameraPO) {
+        cameraPO.setIsDeleted(DictConstants.YES);
+        cameraPO.setModifyUserId(AuthUtil.getCurrentUserId());
+        cameraPO.setModifyTime(TimeUtil.getNowForMysql());
+        int i = cameraMapper.delCameraById(cameraPO);
+        return i;
+    }
+}

+ 21 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/VehicleService.java

@@ -22,14 +22,22 @@ public class VehicleService {
     @Autowired
     VehicleMapper vehicleMapper;
 
-    public List<VehicleVO> getVehicleList(@RequestBody VehicleParam pageParam) {
-        pageParam.setCreateUserId(AuthUtil.getCurrentUserId());
-        List<VehicleVO> list = vehicleMapper.getVehicleList(pageParam);
+    public List<VehicleVO> getVehicleList(@RequestBody VehicleParam vehicleParam) {
+        vehicleParam.setCreateUserId(AuthUtil.getCurrentUserId());
+        vehicleParam.setShare(null);
+        List<VehicleVO> list = vehicleMapper.getVehicleList(vehicleParam);
         return list;
     }
 
-    public VehicleVO getVehicleInfo(VehicleParam pageParam) {
-        return vehicleMapper.getVehicleInfo(pageParam);
+    public List<VehicleVO> getMyVehicleList(VehicleParam vehicleParam) {
+        vehicleParam.setCreateUserId(AuthUtil.getCurrentUserId());
+        vehicleParam.setShare(DictConstants.NO);
+        List<VehicleVO> list = vehicleMapper.getVehicleList(vehicleParam);
+        return list;
+    }
+
+    public VehicleVO getVehicleInfo(VehicleParam vehicleParam) {
+        return vehicleMapper.getVehicleInfo(vehicleParam);
     }
 
     public VehiclePO saveVehicle(VehiclePO vehiclePO) {
@@ -73,4 +81,12 @@ public class VehicleService {
         vehicleMapper.insert(vehiclePO);
         return vehiclePO;
     }
+
+    public int delVehicleById(VehiclePO vehiclePO) {
+        vehiclePO.setIsDeleted(DictConstants.YES);
+        vehiclePO.setModifyUserId(AuthUtil.getCurrentUserId());
+        vehiclePO.setModifyTime(TimeUtil.getNowForMysql());
+        int i = vehicleMapper.delVehicleById(vehiclePO);
+        return i;
+    }
 }

+ 14 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/DictCtrl.java

@@ -53,6 +53,20 @@ public class DictCtrl {
         return response;
     }
 
+    /**
+     * 通过字典类型dictTypes从缓存中查询字典数据trees
+     * @param param
+     * @return
+     * @throws JsonProcessingException
+     */
+    @RequestMapping("/getDictTreesByTypes")
+    @ResponseBody
+    public ResponseBodyVO getDictTreesByTypes(@RequestBody @Validated DictParam param) throws JsonProcessingException {
+        ResponseBodyVO<Map<String, List<DictVO>>> response = new ResponseBodyVO<Map<String,List<DictVO>>>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(dictService.getDictTreesByTypes(param));
+        return response;
+    }
+
     /**
      * 通过字典类型dictTypes从缓存中查询字典数据maps
      * @param param

+ 21 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/DictService.java

@@ -5,6 +5,7 @@ import api.common.pojo.param.RedisParameter;
 import api.common.pojo.param.system.DictParam;
 import api.common.pojo.vo.system.DictVO;
 import api.common.util.JsonUtil;
+import api.common.util.ObjectUtil;
 import com.css.simulation.resource.feign.RedisService;
 import com.css.simulation.resource.system.mapper.DictMapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -89,6 +90,26 @@ public class DictService {
         return dictLists;
     }
 
+    public Map<String, List<DictVO>> getDictTreesByTypes(DictParam param) throws JsonProcessingException {
+        //解析参数进行查询
+        String dictTypes = param.getDictTypes();
+        List<String> dictTypeList = Arrays.asList(dictTypes.split(","));
+        ResponseBodyVO<Map<String, String>> responseBodyVO = redisService.getDictLists(dictTypeList);
+        //查询结果转换至java对象
+        Map<String, String> map = responseBodyVO.getInfo();
+        Map<String, List<DictVO>> dictTrees = new HashMap<>();
+        Set<String> keySet = map.keySet();
+        for (String key: keySet) {
+            String val = map.get(key);
+            //json转javaBean
+            List<DictVO> dictVOS = JsonUtil.jsonToList(val, DictVO.class);
+            //list转tree
+            List<DictVO> tree = ObjectUtil.DictListToTree(dictVOS);
+            dictTrees.put(key,tree);
+        }
+        return dictTrees;
+    }
+
     public Map<String, Map<String,String>> getDictMapsByTypes(DictParam param) {
         //解析参数进行查询
         String dictTypes = param.getDictTypes();

+ 136 - 0
simulation-resource-server/src/main/resources/mapper/model/CameraMapper.xml

@@ -0,0 +1,136 @@
+<?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.css.simulation.resource.model.mapper.CameraMapper" >
+
+    <resultMap id="CameraVOMap" type="api.common.pojo.vo.model.CameraVO">
+        <id column="ID" property="id" jdbcType="VARCHAR" />
+        <result column="sensor_id" property="sensorId" jdbcType="VARCHAR" />
+        <result column="sensor_name" property="sensorName" jdbcType="VARCHAR" />
+        <result column="description" property="description" jdbcType="VARCHAR" />
+        <result column="near_distance" property="nearDistance" jdbcType="DECIMAL" />
+        <result column="far_distance" property="farDistance" jdbcType="DECIMAL" />
+        <result column="fov_h" property="fovH" jdbcType="DECIMAL" />
+        <result column="fov_v" property="fovV" jdbcType="DECIMAL" />
+        <result column="resolution" property="resolution" jdbcType="VARCHAR" />
+        <result column="frame_rate" property="frameRate" jdbcType="DECIMAL" />
+        <result column="self_display" property="selfDisplay" jdbcType="VARCHAR" />
+        <result column="share" property="share" jdbcType="VARCHAR" />
+
+    </resultMap>
+
+    <select id="getCameraList" parameterType="api.common.pojo.param.model.CameraParam" resultMap="CameraVOMap">
+        select
+          id,
+          sensor_name,
+          description,
+          share
+        from model_sensor_camera c
+        where c.is_deleted = '0'
+        <if test="sensorName != null and sensorName != ''">
+            and c.sensor_name like CONCAT('%',#{sensorName,jdbcType=VARCHAR},'%')
+        </if>
+        <if test="share != null and share != ''">
+            and c.create_user_id = #{createUserId,jdbcType=VARCHAR}
+            and c.share = '0'
+        </if>
+        <if test="share == null or share == ''">
+            and (c.create_user_id = #{createUserId,jdbcType=VARCHAR} or c.share = '1')
+        </if>
+        order by c.create_time desc
+    </select>
+
+    <select id="getCameraInfo" parameterType="api.common.pojo.param.model.CameraParam" resultMap="CameraVOMap">
+        select
+            id,
+            sensor_id,
+            sensor_name,
+            description,
+            near_distance,
+            far_distance,
+            fov_h,
+            fov_v,
+            resolution,
+            frame_rate,
+            self_display,
+            share
+        from model_sensor_camera c
+        where c.id = #{id,jdbcType=VARCHAR} limit 1
+    </select>
+
+    <select id="checkCameraName" parameterType="api.common.pojo.po.model.CameraPO" resultMap="CameraVOMap">
+        select
+            id
+        from model_sensor_camera
+        where is_deleted = '0' and share = '0'
+          and sensor_name = #{sensorName,jdbcType=VARCHAR}
+          and create_user_id = #{createUserId,jdbcType=VARCHAR}
+          and id &lt;&gt; #{id,jdbcType=VARCHAR}
+    </select>
+
+    <insert id="insert" parameterType="api.common.pojo.po.model.CameraPO">
+        insert into model_sensor_camera(
+            id,
+            sensor_id,
+            sensor_name,
+            description,
+            near_distance,
+            far_distance,
+            fov_h,
+            fov_v,
+            resolution,
+            frame_rate,
+            self_display,
+            share,
+            create_time,
+            modify_time,
+            create_user_id,
+            modify_user_id,
+            is_deleted
+        )
+        values(
+            #{id,jdbcType=VARCHAR},
+            #{sensorId,jdbcType=VARCHAR},
+            #{sensorName,jdbcType=VARCHAR},
+            #{description,jdbcType=VARCHAR},
+            #{nearDistance,jdbcType=DECIMAL},
+            #{farDistance,jdbcType=DECIMAL},
+            #{fovH,jdbcType=DECIMAL},
+            #{fovV,jdbcType=DECIMAL},
+            #{resolution,jdbcType=VARCHAR},
+            #{frameRate,jdbcType=DECIMAL},
+            #{selfDisplay,jdbcType=VARCHAR},
+            #{share,jdbcType=VARCHAR},
+            #{createTime,jdbcType=TIMESTAMP},
+            #{modifyTime,jdbcType=TIMESTAMP},
+            #{createUserId,jdbcType=VARCHAR},
+            #{modifyUserId,jdbcType=VARCHAR},
+            #{isDeleted,jdbcType=VARCHAR}
+        )
+    </insert>
+
+    <update id="update" parameterType="api.common.pojo.po.model.CameraPO">
+        update model_sensor_camera set
+            sensor_id = #{sensorId,jdbcType=VARCHAR},
+            sensor_name = #{sensorName,jdbcType=VARCHAR},
+            description = #{description,jdbcType=VARCHAR},
+            near_distance = #{nearDistance,jdbcType=DECIMAL},
+            far_distance = #{farDistance,jdbcType=DECIMAL},
+            fov_h = #{fovH,jdbcType=DECIMAL},
+            fov_v = #{fovV,jdbcType=DECIMAL},
+            resolution = #{resolution,jdbcType=VARCHAR},
+            frame_rate = #{frameRate,jdbcType=DECIMAL},
+            self_display = #{selfDisplay,jdbcType=VARCHAR},
+
+            modify_time = #{modifyTime,jdbcType=TIMESTAMP},
+            modify_user_id = #{modifyUserId,jdbcType=VARCHAR}
+        where id = #{id,jdbcType=VARCHAR}
+    </update>
+
+    <update id="delCameraById" parameterType="api.common.pojo.po.model.CameraPO">
+        update model_sensor_camera set
+          modify_time = #{modifyTime,jdbcType=TIMESTAMP},
+          modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
+          is_deleted = #{isDeleted,jdbcType=VARCHAR}
+        where id = #{id,jdbcType=VARCHAR}
+    </update>
+</mapper>

+ 48 - 32
simulation-resource-server/src/main/resources/mapper/vehicle/VehicleMapper.xml → simulation-resource-server/src/main/resources/mapper/model/VehicleMapper.xml

@@ -9,6 +9,7 @@
         <result column="description" property="description" jdbcType="VARCHAR" />
         <result column="vehicle_type" property="vehicleType" jdbcType="VARCHAR" />
         <result column="vehicle_model" property="vehicleModel" jdbcType="VARCHAR" />
+        <result column="vehicle_colour" property="vehicleColour" jdbcType="VARCHAR" />
         <result column="max_speed" property="maxSpeed" jdbcType="DECIMAL" />
         <result column="engine_power" property="enginePower" jdbcType="DECIMAL" />
         <result column="max_deceleration" property="maxDeceleration" jdbcType="DECIMAL" />
@@ -36,13 +37,16 @@
           share
         from model_vehicle v
         where v.is_deleted = '0'
-          and v.create_user_id = #{createUserId,jdbcType=VARCHAR}
-            <if test="vehicleName != null and vehicleName != ''">
-                and v.vehicle_name like CONCAT('%',#{vehicleName,jdbcType=VARCHAR},'%')
-            </if>
-            <if test="share != null and share != ''">
-                and v.share = #{share,jdbcType=VARCHAR}
-            </if>
+        <if test="vehicleName != null and vehicleName != ''">
+            and v.vehicle_name like CONCAT('%',#{vehicleName,jdbcType=VARCHAR},'%')
+        </if>
+        <if test="share != null and share != ''">
+            and v.create_user_id = #{createUserId,jdbcType=VARCHAR}
+            and v.share = '0'
+        </if>
+        <if test="share == null or share == ''">
+            and (v.create_user_id = #{createUserId,jdbcType=VARCHAR} or v.share = '1')
+        </if>
         order by v.create_time desc
     </select>
 
@@ -54,6 +58,7 @@
             description,
             vehicle_type,
             vehicle_model,
+            vehicle_colour,
             max_speed,
             engine_power,
             max_deceleration,
@@ -94,6 +99,7 @@
             description,
             vehicle_type,
             vehicle_model,
+            vehicle_colour,
             max_speed,
             engine_power,
             max_deceleration,
@@ -125,6 +131,7 @@
             #{description,jdbcType=VARCHAR},
             #{vehicleType,jdbcType=VARCHAR},
             #{vehicleModel,jdbcType=VARCHAR},
+            #{vehicleColour,jdbcType=VARCHAR},
             #{maxSpeed,jdbcType=DECIMAL},
             #{enginePower,jdbcType=DECIMAL},
             #{maxDeceleration,jdbcType=DECIMAL},
@@ -153,31 +160,40 @@
 
     <update id="update" parameterType="api.common.pojo.po.model.VehiclePO">
         update model_vehicle set
-        vehicle_id = #{vehicleId,jdbcType=VARCHAR},
-        vehicle_name = #{vehicleName,jdbcType=VARCHAR},
-        description = #{description,jdbcType=VARCHAR},
-        vehicle_type = #{vehicleType,jdbcType=VARCHAR},
-        vehicle_model = #{vehicleModel,jdbcType=VARCHAR},
-        max_speed = #{maxSpeed,jdbcType=DECIMAL},
-        engine_power = #{enginePower,jdbcType=DECIMAL},
-        max_deceleration = #{maxDeceleration,jdbcType=DECIMAL},
-        max_steering_angle = #{maxSteeringAngle,jdbcType=DECIMAL},
-        mass = #{mass,jdbcType=DECIMAL},
-        front_surface_effective = #{frontSurfaceEffective,jdbcType=DECIMAL},
-        air_drag_coefficient = #{airDragCoefficient,jdbcType=DECIMAL},
-        rolling_resistance_coefficient = #{rollingResistanceCoefficient,jdbcType=DECIMAL},
-        wheel_diameter = #{wheelDiameter,jdbcType=DECIMAL},
-        wheel_drive = #{wheelDrive,jdbcType=DECIMAL},
-        overall_efficiency = #{overallEfficiency,jdbcType=DECIMAL},
-        front_distance = #{frontDistance,jdbcType=DECIMAL},
-        rear_distance = #{rearDistance,jdbcType=DECIMAL},
-        left_distance = #{leftDistance,jdbcType=DECIMAL},
-        right_distance = #{rightDistance,jdbcType=DECIMAL},
-        height_distance = #{heightDistance,jdbcType=DECIMAL},
-        wheelbase = #{wheelbase,jdbcType=DECIMAL},
+            vehicle_id = #{vehicleId,jdbcType=VARCHAR},
+            vehicle_name = #{vehicleName,jdbcType=VARCHAR},
+            description = #{description,jdbcType=VARCHAR},
+            vehicle_type = #{vehicleType,jdbcType=VARCHAR},
+            vehicle_model = #{vehicleModel,jdbcType=VARCHAR},
+            vehicle_colour = #{vehicleColour,jdbcType=VARCHAR},
+            max_speed = #{maxSpeed,jdbcType=DECIMAL},
+            engine_power = #{enginePower,jdbcType=DECIMAL},
+            max_deceleration = #{maxDeceleration,jdbcType=DECIMAL},
+            max_steering_angle = #{maxSteeringAngle,jdbcType=DECIMAL},
+            mass = #{mass,jdbcType=DECIMAL},
+            front_surface_effective = #{frontSurfaceEffective,jdbcType=DECIMAL},
+            air_drag_coefficient = #{airDragCoefficient,jdbcType=DECIMAL},
+            rolling_resistance_coefficient = #{rollingResistanceCoefficient,jdbcType=DECIMAL},
+            wheel_diameter = #{wheelDiameter,jdbcType=DECIMAL},
+            wheel_drive = #{wheelDrive,jdbcType=DECIMAL},
+            overall_efficiency = #{overallEfficiency,jdbcType=DECIMAL},
+            front_distance = #{frontDistance,jdbcType=DECIMAL},
+            rear_distance = #{rearDistance,jdbcType=DECIMAL},
+            left_distance = #{leftDistance,jdbcType=DECIMAL},
+            right_distance = #{rightDistance,jdbcType=DECIMAL},
+            height_distance = #{heightDistance,jdbcType=DECIMAL},
+            wheelbase = #{wheelbase,jdbcType=DECIMAL},
+
+            modify_time = #{modifyTime,jdbcType=TIMESTAMP},
+            modify_user_id = #{modifyUserId,jdbcType=VARCHAR}
+        where id = #{id,jdbcType=VARCHAR}
+    </update>
 
-        modify_time = #{modifyTime,jdbcType=TIMESTAMP},
-        modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
-        is_deleted = #{isDeleted,jdbcType=VARCHAR}
+    <update id="delVehicleById" parameterType="api.common.pojo.po.model.VehiclePO">
+        update model_vehicle set
+          modify_time = #{modifyTime,jdbcType=TIMESTAMP},
+          modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
+          is_deleted = #{isDeleted,jdbcType=VARCHAR}
+        where id = #{id,jdbcType=VARCHAR}
     </update>
 </mapper>