소스 검색

Merge branch 'server-165' of uskycloud/usky-modules into master

gez 1 년 전
부모
커밋
e5dda76811
100개의 변경된 파일3142개의 추가작업 그리고 79개의 파일을 삭제
  1. 17 0
      service-backend/service-backend-api/src/main/java/com/usky/backend/client/DataQueryClient.java
  2. 4 3
      service-backend/service-backend-api/src/main/java/com/usky/backend/domain/MetricItemVo.java
  3. 24 0
      service-backend/service-backend-api/src/main/java/com/usky/backend/domain/StatusVO.java
  4. 10 10
      service-backend/service-backend-api/src/main/java/com/usky/backend/domain/request/HistoryQueryVo.java
  5. 1 1
      service-backend/service-backend-api/src/main/java/com/usky/backend/domain/request/LastQueryVo.java
  6. 2 5
      service-backend/service-backend-api/src/main/java/com/usky/backend/domain/response/HistoryResultVo.java
  7. 24 0
      service-backend/service-backend-api/src/main/java/com/usky/backend/domain/response/LastResultVo.java
  8. 5 0
      service-backend/service-backend-biz/pom.xml
  9. 1 1
      service-backend/service-backend-biz/src/main/java/com/usky/backend/MybatisGeneratorUtils.java
  10. 21 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataEgHistoryController.java
  11. 21 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataEvHistoryController.java
  12. 21 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataGrHistoryController.java
  13. 21 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataLcHistoryController.java
  14. 21 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataLgHistoryController.java
  15. 47 28
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataQueryController.java
  16. 22 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataRealTimeController.java
  17. 21 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataVdHistoryController.java
  18. 33 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/api/DataQueryApi.java
  19. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataEgHistory.java
  20. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataEvHistory.java
  21. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataGrHistory.java
  22. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataLcHistory.java
  23. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataLgHistory.java
  24. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataRealTime.java
  25. 66 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataVdHistory.java
  26. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataEgHistoryMapper.java
  27. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataEvHistoryMapper.java
  28. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataGrHistoryMapper.java
  29. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataLcHistoryMapper.java
  30. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataLgHistoryMapper.java
  31. 18 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataRealTimeMapper.java
  32. 18 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataVdHistoryMapper.java
  33. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataEgHistoryService.java
  34. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataEvHistoryService.java
  35. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataGrHistoryService.java
  36. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataLcHistoryService.java
  37. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataLgHistoryService.java
  38. 15 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataQueryService.java
  39. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataRealTimeService.java
  40. 16 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataVdHistoryService.java
  41. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataEgHistoryServiceImpl.java
  42. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataEvHistoryServiceImpl.java
  43. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataGrHistoryServiceImpl.java
  44. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataLcHistoryServiceImpl.java
  45. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataLgHistoryServiceImpl.java
  46. 270 1
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataQueryServiceImpl.java
  47. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataRealTimeServiceImpl.java
  48. 20 0
      service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataVdHistoryServiceImpl.java
  49. 1 1
      service-backend/service-backend-biz/src/main/resources/bootstrap.yml
  50. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataEgHistoryMapper.xml
  51. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataEvHistoryMapper.xml
  52. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataGrHistoryMapper.xml
  53. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataLcHistoryMapper.xml
  54. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataLgHistoryMapper.xml
  55. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataRealTimeMapper.xml
  56. 17 0
      service-backend/service-backend-biz/src/main/resources/mapper.backend/DataVdHistoryMapper.xml
  57. 14 1
      service-iot/service-iot-biz/pom.xml
  58. 3 3
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/MybatisGeneratorUtils.java
  59. 21 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseBuildController.java
  60. 40 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityAreaController.java
  61. 21 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityBuildController.java
  62. 44 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityDeviceController.java
  63. 100 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityTypeController.java
  64. 109 2
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseGgpFacilityController.java
  65. 34 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DeviceHttpController.java
  66. 7 2
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpDeviceInfoController.java
  67. 80 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpDeviceTypeController.java
  68. 9 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/TaskController.java
  69. 192 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseBuild.java
  70. 58 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityArea.java
  71. 51 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityBuild.java
  72. 51 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityDevice.java
  73. 93 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityType.java
  74. 10 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseGgpFacility.java
  75. 14 14
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceInfo.java
  76. 3 5
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceStatus.java
  77. 91 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceType.java
  78. 1 1
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpProductAttribute.java
  79. 6 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpProductInfo.java
  80. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseBuildMapper.java
  81. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityAreaMapper.java
  82. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityBuildMapper.java
  83. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityDeviceMapper.java
  84. 26 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityTypeMapper.java
  85. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/DmpDeviceTypeMapper.java
  86. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseBuildService.java
  87. 25 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityAreaService.java
  88. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityBuildService.java
  89. 19 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityDeviceService.java
  90. 35 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityTypeService.java
  91. 27 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseGgpFacilityService.java
  92. 1 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceInfoService.java
  93. 2 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceStatusService.java
  94. 31 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceTypeService.java
  95. 1 1
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpProductInfoService.java
  96. 20 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseBuildServiceImpl.java
  97. 32 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityAreaServiceImpl.java
  98. 20 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityBuildServiceImpl.java
  99. 34 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityDeviceServiceImpl.java
  100. 154 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityTypeServiceImpl.java

+ 17 - 0
service-backend/service-backend-api/src/main/java/com/usky/backend/client/DataQueryClient.java

@@ -0,0 +1,17 @@
+package com.usky.backend.client;
+
+import com.usky.backend.domain.StatusVO;
+import com.usky.backend.domain.request.LastQueryVo;
+import com.usky.backend.domain.response.LastResultVo;
+import com.usky.common.core.bean.ApiResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@FeignClient(contextId = "dataQueryClient", value = "usky-backend")
+public interface DataQueryClient {
+
+    @RequestMapping(value = "status")
+    List<StatusVO> status();
+}

+ 4 - 3
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/vo/MetricItemVo.java → service-backend/service-backend-api/src/main/java/com/usky/backend/domain/MetricItemVo.java

@@ -1,20 +1,21 @@
-package com.usky.backend.domain.vo;
+package com.usky.backend.domain;
 
 import lombok.Data;
 
 import java.io.Serializable;
+import java.time.LocalDateTime;
 import java.util.Date;
 
 @Data
 public class MetricItemVo implements Serializable {
 
-    private Date timestamp;
+    private LocalDateTime timestamp;
     private Object value;
 
     public MetricItemVo() {
     }
 
-    public MetricItemVo(Date timestamp, Object value) {
+    public MetricItemVo(LocalDateTime timestamp, Object value) {
         this.timestamp = timestamp;
         this.value = value;
     }

+ 24 - 0
service-backend/service-backend-api/src/main/java/com/usky/backend/domain/StatusVO.java

@@ -0,0 +1,24 @@
+package com.usky.backend.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.apache.tomcat.jni.Local;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class StatusVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String  deviceId;
+
+    private LocalDateTime time;
+
+}

+ 10 - 10
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/vo/HistoryQueryVo.java → service-backend/service-backend-api/src/main/java/com/usky/backend/domain/request/HistoryQueryVo.java

@@ -1,14 +1,9 @@
-package com.usky.backend.domain.vo;
+package com.usky.backend.domain.request;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -22,20 +17,25 @@ public class HistoryQueryVo implements Serializable {
     private static final long serialVersionUID = 1L;
 
      /**
-     * 开始时间
+     * 开始时间
      */
-    private Integer startTime;
+    private String startTime;
 
      /**
-     * 结束时间
+     * 结束时间
      */
-    private Integer endTime;
+    private String endTime;
 
      /**
      * 设备Id
      */
     private String  deviceId;
 
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
     /**
      * 指标名
      */

+ 1 - 1
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/vo/LastQueryVo.java → service-backend/service-backend-api/src/main/java/com/usky/backend/domain/request/LastQueryVo.java

@@ -1,4 +1,4 @@
-package com.usky.backend.domain.vo;
+package com.usky.backend.domain.request;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 2 - 5
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/vo/HistoryResultVo.java → service-backend/service-backend-api/src/main/java/com/usky/backend/domain/response/HistoryResultVo.java

@@ -1,9 +1,9 @@
-package com.usky.backend.domain.vo;
+package com.usky.backend.domain.response;
 
+import com.usky.backend.domain.MetricItemVo;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 
 @Data
@@ -15,9 +15,6 @@ public class HistoryResultVo implements Serializable {
    private String metric;
    private List<MetricItemVo> metricItems;
 
-   public HistoryResultVo() {
-   }
-
    public HistoryResultVo(String deviceId, String metric, List<MetricItemVo> metricItems) {
       this.deviceId = deviceId;
       this.metric = metric;

+ 24 - 0
service-backend/service-backend-api/src/main/java/com/usky/backend/domain/response/LastResultVo.java

@@ -0,0 +1,24 @@
+package com.usky.backend.domain.response;
+
+import com.usky.backend.domain.MetricItemVo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+public class LastResultVo implements Serializable {
+
+    private static final long serialVersionUID = 8837428366010205859L;
+
+    private String metric;
+    private LocalDateTime timestamp;
+    private Object value;
+
+    public LastResultVo(String metric, LocalDateTime timestamp, Object value) {
+        this.metric = metric;
+        this.timestamp = timestamp;
+        this.value = value;
+    }
+}

+ 5 - 0
service-backend/service-backend-biz/pom.xml

@@ -34,6 +34,11 @@
             <artifactId>springfox-swagger-ui</artifactId>
             <version>${swagger.fox.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-backend-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 1 - 1
service-backend/service-backend-biz/src/main/java/com/usky/backend/MybatisGeneratorUtils.java

@@ -43,7 +43,7 @@ public class MybatisGeneratorUtils {
         //2、数据源配置
         //修改数据源
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://usky-cloud-mysql:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-data?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
         dsc.setDriverName("com.mysql.jdbc.Driver");
         dsc.setUsername("usky");
         dsc.setPassword("Yt#75Usky");

+ 21 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataEgHistoryController.java

@@ -0,0 +1,21 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 门禁系统历史数据 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Controller
+@RequestMapping("/dataEgHistory")
+public class DataEgHistoryController {
+
+}
+

+ 21 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataEvHistoryController.java

@@ -0,0 +1,21 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 环境系统历史数据 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Controller
+@RequestMapping("/dataEvHistory")
+public class DataEvHistoryController {
+
+}
+

+ 21 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataGrHistoryController.java

@@ -0,0 +1,21 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 温湿度历史数据 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Controller
+@RequestMapping("/dataGrHistory")
+public class DataGrHistoryController {
+
+}
+

+ 21 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataLcHistoryController.java

@@ -0,0 +1,21 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 梯控系统历史数据 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Controller
+@RequestMapping("/dataLcHistory")
+public class DataLcHistoryController {
+
+}
+

+ 21 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataLgHistoryController.java

@@ -0,0 +1,21 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 照明系统历史数据 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Controller
+@RequestMapping("/dataLgHistory")
+public class DataLgHistoryController {
+
+}
+

+ 47 - 28
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataQueryController.java

@@ -1,16 +1,19 @@
 package com.usky.backend.controller;
-import com.usky.backend.domain.vo.HistoryQueryVo;
-import com.usky.backend.domain.vo.HistoryResultVo;
-import com.usky.backend.domain.vo.LastQueryVo;
-import com.usky.backend.domain.vo.MetricItemVo;
+import com.usky.backend.domain.MetricItemVo;
+import com.usky.backend.domain.StatusVO;
+import com.usky.backend.domain.request.HistoryQueryVo;
+import com.usky.backend.domain.request.LastQueryVo;
+import com.usky.backend.domain.response.HistoryResultVo;
+import com.usky.backend.domain.response.LastResultVo;
+import com.usky.backend.service.DataQueryService;
 import com.usky.common.core.bean.ApiResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.stereotype.Controller;
 
+import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -23,39 +26,55 @@ import java.util.List;
 @Api(tags = "数据统一查询")
 @RequestMapping("/dataQuery")
 public class DataQueryController {
+    @Autowired
+    private DataQueryService dataQueryService;
 
-
-    @GetMapping("/history")
+    /**
+     * 获取单个设备单属性历史数据
+     *
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @param deviceId 设备Id
+     * @param metric 属性
+     * @param deviceType 设备类型编码(501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统)
+     * @return
+     */
+    @GetMapping("/historyMetric")
     @ApiOperation("获取单个设备单属性历史数据")
-    public ApiResult<HistoryResultVo> history(@RequestParam("startTime") String startTime,
-                                     @RequestParam("endTime") String endTime,
-                                     @RequestParam("deviceId") String deviceId,
-                                     @RequestParam("metric") String metric ) {
-        //以下是mock模拟数据
-        List<MetricItemVo> items = new ArrayList<>();
-        items.add(new MetricItemVo(new Date(),12.3));
-        HistoryResultVo historyResultVo = new HistoryResultVo(deviceId,metric,items);
-        return ApiResult.success(historyResultVo);
+    public ApiResult<HistoryResultVo> historyMetric(@RequestParam("startTime") String startTime,
+                                              @RequestParam("endTime") String endTime,
+                                              @RequestParam("deviceId") String deviceId,
+                                              @RequestParam("metric") String metric,
+                                              @RequestParam("deviceType") Integer deviceType) {
+        return ApiResult.success(dataQueryService.historyMetric(deviceId,metric,startTime,endTime,deviceType));
     }
 
-    @PostMapping("/history")
+    @PostMapping("/historyMetrics")
     @ApiOperation("获取单个设备多属性历史数据")
-    public ApiResult<List<HistoryResultVo>> history(@RequestBody HistoryQueryVo historyQueryVo) {
-        List<HistoryResultVo> result  = new ArrayList<>();
-        List<MetricItemVo> items = new ArrayList<>();
-        items.add(new MetricItemVo(new Date(),12.3));
-        HistoryResultVo historyResultVo = new HistoryResultVo(historyQueryVo.getDeviceId(),"cpu.load",items);
-        result.add(historyResultVo);
-        return ApiResult.success(result);
+    public ApiResult<List<HistoryResultVo>> historyMetrics(@RequestBody HistoryQueryVo historyQueryVo) {
+        return ApiResult.success(dataQueryService.historyMetrics(historyQueryVo));
     }
 
+    /**
+     * 获取单个设备多指标实时数据
+     * @param lastQueryVo
+     * @return
+     */
     @PostMapping("/last")
     @ApiOperation("获取单个设备多指标实时数据")
-    public ApiResult<List<MetricItemVo>> last(@RequestBody LastQueryVo lastQueryVo) {
-        List<MetricItemVo>  metricItemVos = new ArrayList<>();
-        return ApiResult.success(metricItemVos);
+    public ApiResult<List<LastResultVo>> last(@RequestBody LastQueryVo lastQueryVo) {
+        return ApiResult.success(dataQueryService.last(lastQueryVo));
     }
 
+    /**
+     * 查询设备状态
+     * @return
+     */
+    @GetMapping("status")
+    @ApiOperation(value = "查询设备状态",response = List.class)
+    public ApiResult<List<StatusVO>> status(){
+        return ApiResult.success(dataQueryService.status());
+    }
 
 }
 

+ 22 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataRealTimeController.java

@@ -0,0 +1,22 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 实时数据表 前端控制器
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-07
+ */
+@RestController
+@RequestMapping("/dataRealTime")
+public class DataRealTimeController {
+
+}
+

+ 21 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/DataVdHistoryController.java

@@ -0,0 +1,21 @@
+package com.usky.backend.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 视频监控系统历史数据 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Controller
+@RequestMapping("/dataVdHistory")
+public class DataVdHistoryController {
+
+}
+

+ 33 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/api/DataQueryApi.java

@@ -0,0 +1,33 @@
+package com.usky.backend.controller.api;
+import com.usky.backend.client.DataQueryClient;
+import com.usky.backend.domain.StatusVO;
+import com.usky.backend.domain.request.LastQueryVo;
+import com.usky.backend.domain.response.LastResultVo;
+import com.usky.backend.service.DataQueryService;
+import com.usky.common.core.bean.ApiResult;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  数据统一查询 前端控制器
+ * </p>
+ *
+ */
+@RestController
+@Api(tags = "数据统一查询RPC")
+public class DataQueryApi implements DataQueryClient {
+
+    @Autowired
+    private DataQueryService dataQueryService;
+
+    @Override
+    public List<StatusVO> status(){
+        List<StatusVO> list = dataQueryService.status();
+        return list;
+    }
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataEgHistory.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 门禁系统历史数据
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataEgHistory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataEvHistory.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 环境系统历史数据
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataEvHistory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataGrHistory.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 温湿度历史数据
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataGrHistory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataLcHistory.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 梯控系统历史数据
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataLcHistory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataLgHistory.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 照明系统历史数据
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataLgHistory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataRealTime.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 实时数据表
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataRealTime implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 66 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/domain/DataVdHistory.java

@@ -0,0 +1,66 @@
+package com.usky.backend.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 视频监控系统历史数据
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataVdHistory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataEgHistoryMapper.java

@@ -0,0 +1,16 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataEgHistory;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 门禁系统历史数据 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataEgHistoryMapper extends CrudMapper<DataEgHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataEvHistoryMapper.java

@@ -0,0 +1,16 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataEvHistory;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 环境系统历史数据 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataEvHistoryMapper extends CrudMapper<DataEvHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataGrHistoryMapper.java

@@ -0,0 +1,16 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataGrHistory;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 温湿度历史数据 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataGrHistoryMapper extends CrudMapper<DataGrHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataLcHistoryMapper.java

@@ -0,0 +1,16 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataLcHistory;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 梯控系统历史数据 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataLcHistoryMapper extends CrudMapper<DataLcHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataLgHistoryMapper.java

@@ -0,0 +1,16 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataLgHistory;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 照明系统历史数据 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataLgHistoryMapper extends CrudMapper<DataLgHistory> {
+
+}

+ 18 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataRealTimeMapper.java

@@ -0,0 +1,18 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataRealTime;
+import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * 实时数据表 Mapper 接口
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-07
+ */
+@Repository
+public interface DataRealTimeMapper extends CrudMapper<DataRealTime> {
+
+}

+ 18 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/mapper/DataVdHistoryMapper.java

@@ -0,0 +1,18 @@
+package com.usky.backend.mapper;
+
+import com.usky.backend.domain.DataVdHistory;
+import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * 视频监控系统历史数据 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Repository
+public interface DataVdHistoryMapper extends CrudMapper<DataVdHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataEgHistoryService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataEgHistory;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 门禁系统历史数据 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataEgHistoryService extends CrudService<DataEgHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataEvHistoryService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataEvHistory;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 环境系统历史数据 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataEvHistoryService extends CrudService<DataEvHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataGrHistoryService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataGrHistory;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 温湿度历史数据 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataGrHistoryService extends CrudService<DataGrHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataLcHistoryService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataLcHistory;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 梯控系统历史数据 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataLcHistoryService extends CrudService<DataLcHistory> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataLgHistoryService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataLgHistory;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 照明系统历史数据 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataLgHistoryService extends CrudService<DataLgHistory> {
+
+}

+ 15 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataQueryService.java

@@ -1,6 +1,21 @@
 package com.usky.backend.service;
 
+
+import com.usky.backend.domain.StatusVO;
+import com.usky.backend.domain.request.HistoryQueryVo;
+import com.usky.backend.domain.request.LastQueryVo;
+import com.usky.backend.domain.response.HistoryResultVo;
+import com.usky.backend.domain.response.LastResultVo;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
 public interface DataQueryService {
+    HistoryResultVo historyMetric(String deviceId, String metric, String startTime, String endTime,Integer deviceType);
+
+    List<HistoryResultVo> historyMetrics(HistoryQueryVo historyQueryVo);
 
+    List<LastResultVo> last(LastQueryVo lastQueryVo);
 
+    List<StatusVO> status();
 }

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataRealTimeService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataRealTime;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 实时数据表 服务类
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-07
+ */
+public interface DataRealTimeService extends CrudService<DataRealTime> {
+
+}

+ 16 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/DataVdHistoryService.java

@@ -0,0 +1,16 @@
+package com.usky.backend.service;
+
+import com.usky.backend.domain.DataVdHistory;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 视频监控系统历史数据 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+public interface DataVdHistoryService extends CrudService<DataVdHistory> {
+
+}

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataEgHistoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataEgHistory;
+import com.usky.backend.mapper.DataEgHistoryMapper;
+import com.usky.backend.service.DataEgHistoryService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 门禁系统历史数据 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Service
+public class DataEgHistoryServiceImpl extends AbstractCrudService<DataEgHistoryMapper, DataEgHistory> implements DataEgHistoryService {
+
+}

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataEvHistoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataEvHistory;
+import com.usky.backend.mapper.DataEvHistoryMapper;
+import com.usky.backend.service.DataEvHistoryService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 环境系统历史数据 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Service
+public class DataEvHistoryServiceImpl extends AbstractCrudService<DataEvHistoryMapper, DataEvHistory> implements DataEvHistoryService {
+
+}

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataGrHistoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataGrHistory;
+import com.usky.backend.mapper.DataGrHistoryMapper;
+import com.usky.backend.service.DataGrHistoryService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 温湿度历史数据 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Service
+public class DataGrHistoryServiceImpl extends AbstractCrudService<DataGrHistoryMapper, DataGrHistory> implements DataGrHistoryService {
+
+}

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataLcHistoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataLcHistory;
+import com.usky.backend.mapper.DataLcHistoryMapper;
+import com.usky.backend.service.DataLcHistoryService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 梯控系统历史数据 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Service
+public class DataLcHistoryServiceImpl extends AbstractCrudService<DataLcHistoryMapper, DataLcHistory> implements DataLcHistoryService {
+
+}

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataLgHistoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataLgHistory;
+import com.usky.backend.mapper.DataLgHistoryMapper;
+import com.usky.backend.service.DataLgHistoryService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 照明系统历史数据 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Service
+public class DataLgHistoryServiceImpl extends AbstractCrudService<DataLgHistoryMapper, DataLgHistory> implements DataLgHistoryService {
+
+}

+ 270 - 1
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataQueryServiceImpl.java

@@ -1,7 +1,276 @@
 package com.usky.backend.service.impl;
 
-import com.usky.backend.service.DataQueryService;
+import cn.hutool.db.meta.Table;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.backend.domain.*;
+import com.usky.backend.domain.request.HistoryQueryVo;
+import com.usky.backend.domain.request.LastQueryVo;
+import com.usky.backend.domain.response.HistoryResultVo;
+import com.usky.backend.domain.response.LastResultVo;
+import com.usky.backend.service.*;
+import net.sf.ehcache.search.expression.IsNull;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Service
 public class DataQueryServiceImpl implements DataQueryService {
+    @Autowired
+    private DataRealTimeService dataRealTimeService;
+
+    @Autowired
+    private DataVdHistoryService dataVdHistoryService;
+
+    @Autowired
+    private DataEgHistoryService dataEgHistoryService;
+
+    @Autowired
+    private DataLgHistoryService dataLgHistoryService;
+
+    @Autowired
+    private DataGrHistoryService dataGrHistoryService;
+
+    @Autowired
+    private DataEvHistoryService dataEvHistoryService;
+
+    @Autowired
+    private DataLcHistoryService dataLcHistoryService;
+
+    @Override
+    public HistoryResultVo historyMetric(String deviceId, String metric, String startTime, String endTime,Integer deviceType){
+
+        List<MetricItemVo> items = new ArrayList<>();
+        if(deviceType == 501){
+            LambdaQueryWrapper<DataVdHistory> vdQuery = Wrappers.lambdaQuery();
+            vdQuery.select(DataVdHistory::getAttributeData,DataVdHistory::getDataTime)
+                    .eq(DataVdHistory::getDeviceId,deviceId)
+                    .eq(DataVdHistory::getAttributeName,metric)
+                    .between(DataVdHistory::getDataTime,startTime,endTime);
+            List<DataVdHistory> list = dataVdHistoryService.list(vdQuery);
+
+            if(CollectionUtils.isNotEmpty(list)){
+                for(int i=0;i<list.size();i++){
+                    items.add(new MetricItemVo(list.get(i).getDataTime(),list.get(i).getAttributeData()));
+                }
+            }
+        }else if(deviceType == 502){
+            LambdaQueryWrapper<DataEgHistory> egQuery = Wrappers.lambdaQuery();
+            egQuery.select(DataEgHistory::getAttributeData,DataEgHistory::getDataTime)
+                    .eq(DataEgHistory::getDeviceId,deviceId)
+                    .eq(DataEgHistory::getAttributeName,metric)
+                    .between(DataEgHistory::getDataTime,startTime,endTime);
+            List<DataEgHistory> list = dataEgHistoryService.list(egQuery);
+
+            if(CollectionUtils.isNotEmpty(list)){
+                for(int i=0;i<list.size();i++){
+                    items.add(new MetricItemVo(list.get(i).getDataTime(),list.get(i).getAttributeData()));
+                }
+            }
+        }else if(deviceType == 503){
+            LambdaQueryWrapper<DataLgHistory> lgQuery = Wrappers.lambdaQuery();
+            lgQuery.select(DataLgHistory::getAttributeData,DataLgHistory::getDataTime)
+                    .eq(DataLgHistory::getDeviceId,deviceId)
+                    .eq(DataLgHistory::getAttributeName,metric)
+                    .between(DataLgHistory::getDataTime,startTime,endTime);
+            List<DataLgHistory> list = dataLgHistoryService.list(lgQuery);
+
+            if(CollectionUtils.isNotEmpty(list)){
+                for(int i=0;i<list.size();i++){
+                    items.add(new MetricItemVo(list.get(i).getDataTime(),list.get(i).getAttributeData()));
+                }
+            }
+        }else if(deviceType == 504){
+            LambdaQueryWrapper<DataGrHistory> grQuery = Wrappers.lambdaQuery();
+            grQuery.select(DataGrHistory::getAttributeData,DataGrHistory::getDataTime)
+                    .eq(DataGrHistory::getDeviceId,deviceId)
+                    .eq(DataGrHistory::getAttributeName,metric)
+                    .between(DataGrHistory::getDataTime,startTime,endTime);
+            List<DataGrHistory> list = dataGrHistoryService.list(grQuery);
+
+            if(CollectionUtils.isNotEmpty(list)){
+                for(int i=0;i<list.size();i++){
+                    items.add(new MetricItemVo(list.get(i).getDataTime(),list.get(i).getAttributeData()));
+                }
+            }
+        }else if(deviceType == 509){
+            LambdaQueryWrapper<DataEvHistory> evQuery = Wrappers.lambdaQuery();
+            evQuery.select(DataEvHistory::getAttributeData,DataEvHistory::getDataTime)
+                    .eq(DataEvHistory::getDeviceId,deviceId)
+                    .eq(DataEvHistory::getAttributeName,metric)
+                    .between(DataEvHistory::getDataTime,startTime,endTime);
+            List<DataEvHistory> list = dataEvHistoryService.list(evQuery);
+
+            if(CollectionUtils.isNotEmpty(list)){
+                for(int i=0;i<list.size();i++){
+                    items.add(new MetricItemVo(list.get(i).getDataTime(),list.get(i).getAttributeData()));
+                }
+            }
+        }else if(deviceType == 510){
+            LambdaQueryWrapper<DataLcHistory> lcQuery = Wrappers.lambdaQuery();
+            lcQuery.select(DataLcHistory::getAttributeData,DataLcHistory::getDataTime)
+                    .eq(DataLcHistory::getDeviceId,deviceId)
+                    .eq(DataLcHistory::getAttributeName,metric)
+                    .between(DataLcHistory::getDataTime,startTime,endTime);
+            List<DataLcHistory> list = dataLcHistoryService.list(lcQuery);
+
+            if(CollectionUtils.isNotEmpty(list)){
+                for(int i=0;i<list.size();i++){
+                    items.add(new MetricItemVo(list.get(i).getDataTime(),list.get(i).getAttributeData()));
+                }
+            }
+        }
+
+        HistoryResultVo historyResultVo = new HistoryResultVo(deviceId,metric,items);
+
+        return historyResultVo;
+    }
+
+    @Override
+    public List<HistoryResultVo> historyMetrics(HistoryQueryVo historyQueryVo){
+        List<HistoryResultVo> result = new ArrayList<>();
+        String deviceId = historyQueryVo.getDeviceId();
+        String startTime = historyQueryVo.getStartTime();
+        String endTime = historyQueryVo.getEndTime();
+        Integer deviceType = historyQueryVo.getDeviceType();
+        List<String> metrics = historyQueryVo.getMetrics();
+        if(CollectionUtils.isNotEmpty(metrics)){
+            for(int i=0;i<metrics.size();i++){
+                List<MetricItemVo> items = new ArrayList<>();
+                if(deviceType == 501){
+                    LambdaQueryWrapper<DataVdHistory> vdQuery = Wrappers.lambdaQuery();
+                    vdQuery.select(DataVdHistory::getAttributeData,DataVdHistory::getDataTime)
+                            .eq(DataVdHistory::getDeviceId,deviceId)
+                            .eq(DataVdHistory::getAttributeName,metrics.get(i))
+                            .between(DataVdHistory::getDataTime,startTime,endTime);
+                    List<DataVdHistory> list = dataVdHistoryService.list(vdQuery);
+
+                    if(CollectionUtils.isNotEmpty(list)){
+                        for(int j=0;j<list.size();j++){
+                            items.add(new MetricItemVo(list.get(j).getDataTime(),list.get(j).getAttributeData()));
+                        }
+                    }
+                }else if(deviceType == 502){
+                    LambdaQueryWrapper<DataEgHistory> egQuery = Wrappers.lambdaQuery();
+                    egQuery.select(DataEgHistory::getAttributeData,DataEgHistory::getDataTime)
+                            .eq(DataEgHistory::getDeviceId,deviceId)
+                            .eq(DataEgHistory::getAttributeName,metrics.get(i))
+                            .between(DataEgHistory::getDataTime,startTime,endTime);
+                    List<DataEgHistory> list = dataEgHistoryService.list(egQuery);
+
+                    if(CollectionUtils.isNotEmpty(list)){
+                        for(int j=0;j<list.size();j++){
+                            items.add(new MetricItemVo(list.get(j).getDataTime(),list.get(j).getAttributeData()));
+                        }
+                    }
+                }else if(deviceType == 503){
+                    LambdaQueryWrapper<DataLgHistory> lgQuery = Wrappers.lambdaQuery();
+                    lgQuery.select(DataLgHistory::getAttributeData,DataLgHistory::getDataTime)
+                            .eq(DataLgHistory::getDeviceId,deviceId)
+                            .eq(DataLgHistory::getAttributeName,metrics.get(i))
+                            .between(DataLgHistory::getDataTime,startTime,endTime);
+                    List<DataLgHistory> list = dataLgHistoryService.list(lgQuery);
+
+                    if(CollectionUtils.isNotEmpty(list)){
+                        for(int j=0;j<list.size();j++){
+                            items.add(new MetricItemVo(list.get(j).getDataTime(),list.get(j).getAttributeData()));
+                        }
+                    }
+                }else if(deviceType == 504){
+                    LambdaQueryWrapper<DataGrHistory> grQuery = Wrappers.lambdaQuery();
+                    grQuery.select(DataGrHistory::getAttributeData,DataGrHistory::getDataTime)
+                            .eq(DataGrHistory::getDeviceId,deviceId)
+                            .eq(DataGrHistory::getAttributeName,metrics.get(i))
+                            .between(DataGrHistory::getDataTime,startTime,endTime);
+                    List<DataGrHistory> list = dataGrHistoryService.list(grQuery);
+
+                    if(CollectionUtils.isNotEmpty(list)){
+                        for(int j=0;j<list.size();j++){
+                            items.add(new MetricItemVo(list.get(j).getDataTime(),list.get(j).getAttributeData()));
+                        }
+                    }
+                }else if(deviceType == 509){
+                    LambdaQueryWrapper<DataEvHistory> evQuery = Wrappers.lambdaQuery();
+                    evQuery.select(DataEvHistory::getAttributeData,DataEvHistory::getDataTime)
+                            .eq(DataEvHistory::getDeviceId,deviceId)
+                            .eq(DataEvHistory::getAttributeName,metrics.get(i))
+                            .between(DataEvHistory::getDataTime,startTime,endTime);
+                    List<DataEvHistory> list = dataEvHistoryService.list(evQuery);
+
+                    if(CollectionUtils.isNotEmpty(list)){
+                        for(int j=0;j<list.size();j++){
+                            items.add(new MetricItemVo(list.get(j).getDataTime(),list.get(j).getAttributeData()));
+                        }
+                    }
+                }else if(deviceType == 510){
+                    LambdaQueryWrapper<DataLcHistory> lcQuery = Wrappers.lambdaQuery();
+                    lcQuery.select(DataLcHistory::getAttributeData,DataLcHistory::getDataTime)
+                            .eq(DataLcHistory::getDeviceId,deviceId)
+                            .eq(DataLcHistory::getAttributeName,metrics.get(i))
+                            .between(DataLcHistory::getDataTime,startTime,endTime);
+                    List<DataLcHistory> list = dataLcHistoryService.list(lcQuery);
+
+                    if(CollectionUtils.isNotEmpty(list)){
+                        for(int j=0;j<list.size();j++){
+                            items.add(new MetricItemVo(list.get(j).getDataTime(),list.get(j).getAttributeData()));
+                        }
+                    }
+                }
+
+                HistoryResultVo historyResultVo = new HistoryResultVo(deviceId,metrics.get(i),items);
+                result.add(historyResultVo);
+            }
+        }
+
+        return result;
+    }
+
+    @Override
+    public List<LastResultVo> last(LastQueryVo lastQueryVo){
+        List<LastResultVo> list = new ArrayList<>();
+
+        List<String> items = lastQueryVo.getMetrics();
+        for(int i=0;i<items.size();i++){
+            LambdaQueryWrapper<DataRealTime> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.select(DataRealTime::getAttributeData,DataRealTime::getDataTime)
+                    .eq(DataRealTime::getDeviceId,lastQueryVo.getDeviceId())
+                    .eq(DataRealTime::getAttributeName,items.get(i));
+            DataRealTime one = dataRealTimeService.getOne(queryWrapper);
+            if(one != null){
+                LastResultVo lastResultVo = new LastResultVo(items.get(i),one.getDataTime(),one.getAttributeData());
+                list.add(lastResultVo);
+            }
+        }
+
+        return list;
+    }
+
+    @Override
+    public List<StatusVO> status(){
+        List<StatusVO> list = new ArrayList<>();
+        QueryWrapper<DataRealTime> query = Wrappers.query();
+        query.select("device_id as deviceId","Max(data_time) as maxTime")
+                .groupBy("device_id");
+        List<Map<String,Object>> maps = dataRealTimeService.listMaps(query);
+        if(maps.size()>0) {
+            for (int i = 0; i < maps.size(); i++) {
+                StatusVO statusVO = new StatusVO();
+                statusVO.setDeviceId(maps.get(i).get("deviceId").toString());
+                statusVO.setTime(LocalDateTime.parse(maps.get(i).get("maxTime").toString(),DateTimeFormatter.ISO_DATE_TIME));
+                list.add(statusVO);
+            }
+        }
+
+        return list;
+    }
 
 }

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataRealTimeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataRealTime;
+import com.usky.backend.mapper.DataRealTimeMapper;
+import com.usky.backend.service.DataRealTimeService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 实时数据表 服务实现类
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-07
+ */
+@Service
+public class DataRealTimeServiceImpl extends AbstractCrudService<DataRealTimeMapper, DataRealTime> implements DataRealTimeService {
+
+}

+ 20 - 0
service-backend/service-backend-biz/src/main/java/com/usky/backend/service/impl/DataVdHistoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.backend.service.impl;
+
+import com.usky.backend.domain.DataVdHistory;
+import com.usky.backend.mapper.DataVdHistoryMapper;
+import com.usky.backend.service.DataVdHistoryService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 视频监控系统历史数据 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-06-12
+ */
+@Service
+public class DataVdHistoryServiceImpl extends AbstractCrudService<DataVdHistoryMapper, DataVdHistory> implements DataVdHistoryService {
+
+}

+ 1 - 1
service-backend/service-backend-biz/src/main/resources/bootstrap.yml

@@ -1,6 +1,6 @@
 # Tomcat
 server:
-  port: 9887
+  port: 9890
 
 # Spring
 spring: 

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataEgHistoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataEgHistoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataEgHistory">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataEvHistoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataEvHistoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataEvHistory">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataGrHistoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataGrHistoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataGrHistory">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataLcHistoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataLcHistoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataLcHistory">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataLgHistoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataLgHistoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataLgHistory">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataRealTimeMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataRealTimeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataRealTime">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-backend/service-backend-biz/src/main/resources/mapper.backend/DataVdHistoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.backend.mapper.DataVdHistoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.backend.domain.DataVdHistory">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 14 - 1
service-iot/service-iot-biz/pom.xml

@@ -32,12 +32,25 @@
         </dependency>
 
         <!-- excel工具 -->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi-ooxml</artifactId>
             <version>4.1.2</version>
         </dependency>
-
+		<dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>ruoyi-common-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-backend-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+        
 
     </dependencies>
 

+ 3 - 3
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/MybatisGeneratorUtils.java

@@ -33,7 +33,7 @@ public class MybatisGeneratorUtils {
         projectPath+="/"+model;
         gc.setOutputDir(projectPath+ "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
         //修改为自己的名字
-        gc.setAuthor("ya"); //设置作者
+        gc.setAuthor("han"); //设置作者
         gc.setOpen(false);
         gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
         gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
@@ -43,7 +43,7 @@ public class MybatisGeneratorUtils {
         //2、数据源配置
         //修改数据源
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-fire?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
         dsc.setDriverName("com.mysql.jdbc.Driver");
         dsc.setUsername("usky");
         dsc.setPassword("Yt#75Usky");
@@ -71,7 +71,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude("base_ggp_facility");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("base_build");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 21 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseBuildController.java

@@ -0,0 +1,21 @@
+package com.usky.iot.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 建筑信息 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Controller
+@RequestMapping("/baseBuild")
+public class BaseBuildController {
+
+}
+

+ 40 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityAreaController.java

@@ -0,0 +1,40 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.iot.domain.BaseFacilityArea;
+import com.usky.iot.service.BaseFacilityAreaService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-20
+ */
+@RestController
+@RequestMapping("/baseFacilityArea")
+public class BaseFacilityAreaController {
+    @Autowired
+    private BaseFacilityAreaService baseFacilityAreaService;
+    /**
+     * 设施所属领域根据ID查询
+     *
+     * @param id   主键ID
+     * @return
+     */
+    @GetMapping("areaSelect")
+    public ApiResult<List<BaseFacilityArea>> areaSelect(@RequestParam(value = "id", required = false) Integer id) {
+        return ApiResult.success(baseFacilityAreaService.areaSelect(id));
+    }
+}
+

+ 21 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityBuildController.java

@@ -0,0 +1,21 @@
+package com.usky.iot.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 地理设施建筑关联表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Controller
+@RequestMapping("/baseFacilityBuild")
+public class BaseFacilityBuildController {
+
+}
+

+ 44 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityDeviceController.java

@@ -0,0 +1,44 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.service.BaseFacilityDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 地理设施设备关联表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@RestController
+@RequestMapping("/baseFacilityDevice")
+public class BaseFacilityDeviceController {
+    @Autowired
+    private BaseFacilityDeviceService baseFacilityDeviceService;
+    /**
+     * 新增
+     * @param baseFacilityDevice
+     * @return
+     */
+    @PostMapping("/add")
+    public ApiResult<Void> add(@RequestBody BaseFacilityDevice baseFacilityDevice){
+        baseFacilityDeviceService.add(baseFacilityDevice);
+        return ApiResult.success();
+    }
+    /**
+     * 删除
+     */
+    @DeleteMapping("/{id}")
+    public ApiResult<Void> remove(@PathVariable("id") Integer id)
+    {
+        baseFacilityDeviceService.remove(id);
+        return ApiResult.success();
+    }
+}
+

+ 100 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityTypeController.java

@@ -0,0 +1,100 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.log.annotation.Log;
+import com.usky.common.log.enums.BusinessType;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.service.BaseFacilityTypeService;
+import com.usky.iot.service.vo.BaseGgpFacilityTypeVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设施类型 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-06
+ */
+@RestController
+@RequestMapping("/baseFacilityType")
+public class BaseFacilityTypeController {
+
+    @Autowired
+    private BaseFacilityTypeService baseFacilityTypeService;
+    /**
+     * 设施类型查看查询
+     *
+     * @return
+     */
+    @PostMapping("/typeInfo")
+    public ApiResult<List<BaseGgpFacilityTypeVO>> typeInfo() {
+        return ApiResult.success(baseFacilityTypeService.typeInfo());
+    }
+    /**
+     * 设施类型分页
+     * @param typeCode  类型编码
+     * @param typeName  类型名称
+     * @param current   当前页
+     * @param size     每页条数
+     * @return
+     */
+    @Log(title = "设施类型分页", businessType = BusinessType.OTHER)
+    @GetMapping("/typePage")
+    public ApiResult<CommonPage<BaseFacilityType>> typePage(@RequestParam(value = "typeCode", required = false) String typeCode,
+                                                            @RequestParam(value = "typeName", required = false) String typeName,
+                                                            @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                            @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(baseFacilityTypeService.typePage(typeCode, typeName, current, size));
+    }
+
+    /**
+     * 设施类型根据ID查询
+     *
+     * @param id   主键ID
+     * @return
+     */
+    @GetMapping("typeSelect")
+    public ApiResult<List<BaseFacilityType>> typeSelect(@RequestParam(value = "id", required = false) Integer id) {
+        return ApiResult.success(baseFacilityTypeService.typeSelect(id));
+    }
+
+    /**
+     * 新增
+     * @param baseFacilityType
+     * @return
+     */
+    @PostMapping("/add")
+    public ApiResult<Void> add(@RequestBody BaseFacilityType baseFacilityType){
+        baseFacilityTypeService.add(baseFacilityType);
+        return ApiResult.success();
+    }
+
+    /**
+     * 修改
+     * @param baseFacilityType
+     * @return
+     */
+    @PutMapping("/edit")
+    public ApiResult<Void> edit(@RequestBody BaseFacilityType baseFacilityType){
+        baseFacilityTypeService.update(baseFacilityType);
+        return ApiResult.success();
+    }
+
+    /**
+     * 删除
+     */
+    @DeleteMapping("/{id}")
+    public ApiResult<Void> remove(@PathVariable("id") Integer id)
+    {
+        baseFacilityTypeService.remove(id);
+        return ApiResult.success();
+    }
+}
+

+ 109 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseGgpFacilityController.java

@@ -1,16 +1,24 @@
 package com.usky.iot.controller.web;
 
 
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.log.annotation.Log;
 import com.usky.common.log.enums.BusinessType;
+import com.usky.iot.domain.BaseBuild;
 import com.usky.iot.domain.BaseGgpFacility;
+import com.usky.iot.domain.DmpDeviceInfo;
 import com.usky.iot.service.BaseGgpFacilityService;
-import com.usky.iot.service.vo.BaseGgpFacilityRequest;
+import com.usky.iot.service.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 地理信息 前端控制器
@@ -61,9 +69,20 @@ public class BaseGgpFacilityController {
     }
 
 
+    /**
+     * 设备关联设施信息查询
+     * @param deviceId
+     * @return
+     */
+    @GetMapping("/facilityDeviceList")
+    public ApiResult<List<BaseFacilityDeviceVO>> facilityDeviceList(@RequestParam(value = "deviceId") String deviceId,
+                                                                    @RequestParam(value = "facilityId",required = false) Integer facilityId)
+    {
+        return ApiResult.success(baseGgpFacilityService.facilityDeviceList(deviceId,facilityId));
+    }
 
     /**
-     * 删除记录
+     * 删除
      */
     @DeleteMapping("/{id}")
     public ApiResult<Void> remove(@PathVariable("id") Integer id)
@@ -72,5 +91,93 @@ public class BaseGgpFacilityController {
         return ApiResult.success();
     }
 
+    /**
+     * 导出
+     * @param baseGgpFacilityRequest
+     * @param response
+     * @throws IOException
+     */
+    @PostMapping("/export")
+    public void export(@RequestBody BaseGgpFacilityRequest baseGgpFacilityRequest, HttpServletResponse response) throws IOException {
+        List<BaseGgpFacilityExportVo> list = baseGgpFacilityService.recordLsitExport(baseGgpFacilityRequest);
+        ExcelUtil<BaseGgpFacilityExportVo> util = new ExcelUtil<BaseGgpFacilityExportVo>(BaseGgpFacilityExportVo.class);
+        util.exportExcel(response, list, "地理设施", "地理设施");
+    }
+    /**
+     * 设施详情查询
+     *
+     * @param id  主键ID
+     * @return
+     */
+    @GetMapping("facilityInfo")
+    public ApiResult<List<BaseGgpFacility>> facilityInfo(@RequestParam(value = "id", required = false, defaultValue = "0") Integer id) {
+        return ApiResult.success(baseGgpFacilityService.facilityInfo(id));
+    }
+
+    /**
+     * 关联设备查看分页
+     * @param deviceId  设备ID
+     * @param id  设施主键ID
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @Log(title = "关联设备查看分页", businessType = BusinessType.OTHER)
+    @GetMapping("/deviceInfo")
+    public ApiResult<CommonPage<DmpDeviceInfo>> deviceInfo(@RequestParam(value = "deviceId", required = false) String deviceId,
+                                                           @RequestParam(value = "id") Integer id,
+                                                           @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                           @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(baseGgpFacilityService.deviceInfo(deviceId, id, current, size));
+    }
+
+    /**
+     * 关联设备查看分页
+     * @param deviceId  设备ID
+     * @param id  设施主键ID
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @Log(title = "关联设备绑定分页", businessType = BusinessType.OTHER)
+    @GetMapping("/deviceBindInfo")
+    public ApiResult<CommonPage<Object>> deviceBindInfo(@RequestParam(value = "deviceId", required = false) String deviceId,
+                                                           @RequestParam(value = "id") Integer id,
+                                                           @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                           @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(baseGgpFacilityService.deviceBindInfo(deviceId, id, current, size));
+    }
+
+    /**
+     * 关联建筑分页
+     * @param buildNum  建筑编号
+     * @param id  设施主键ID
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @Log(title = "关联建筑分页", businessType = BusinessType.OTHER)
+    @GetMapping("/buildInfo")
+    public ApiResult<CommonPage<BaseBuild>> buildInfo(@RequestParam(value = "buildNum", required = false) String buildNum,
+                                                      @RequestParam(value = "id") Integer id,
+                                                      @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                      @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(baseGgpFacilityService.buildInfo(buildNum, id, current, size));
+    }
+
+    /**
+     * 地理信息-撒点
+     *
+     * @param baseGgpFacilityVO
+     * @return
+     */
+    @PostMapping("baseGgpFacilityList")
+    public ApiResult<List<BaseGgpFacility>> baseGgpFacilityList(@RequestBody BaseGgpFacilityVO baseGgpFacilityVO) {
+        return ApiResult.success(baseGgpFacilityService.baseGgpFacilityList(baseGgpFacilityVO));
+    }
+
 }
 

+ 34 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DeviceHttpController.java

@@ -0,0 +1,34 @@
+package com.usky.iot.controller.web;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.bean.ApiResult;
+import com.usky.iot.domain.DmpDeviceStatus;
+import com.usky.iot.service.DmpDeviceStatusService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * @author zyj
+ * @date 2023/6/8 13:52:05
+ */
+@RestController
+@RequestMapping("/deviceHttp")
+public class DeviceHttpController {
+
+    @Autowired
+    private DmpDeviceStatusService dmpDeviceStatusService;
+
+    @PutMapping("/status")
+    public ApiResult<Void> status(){
+        dmpDeviceStatusService.status();
+        return ApiResult.success();
+    }
+
+
+}

+ 7 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpDeviceInfoController.java

@@ -1,16 +1,23 @@
 package com.usky.iot.controller.web;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseFacilityDevice;
 import com.usky.iot.domain.DmpDeviceInfo;
 import com.usky.iot.service.DmpDeviceInfoService;
+import com.usky.iot.service.vo.BaseFacilityDeviceVO;
 import com.usky.iot.service.vo.DmpDeviceInfoRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 设备信息表
@@ -59,8 +66,6 @@ public class DmpDeviceInfoController {
         return ApiResult.success(dmpDeviceInfoService.page(dmpDeviceInfoRequest));
     }
 
-
-
     /**
      * 删除记录
      */

+ 80 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpDeviceTypeController.java

@@ -0,0 +1,80 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.DmpDeviceType;
+import com.usky.iot.service.DmpDeviceTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.stereotype.Controller;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设备信息类型 前端控制器
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-06
+ */
+@RestController
+@RequestMapping("/dmpDeviceType")
+public class DmpDeviceTypeController {
+    @Autowired
+    private DmpDeviceTypeService dmpDeviceTypeService;
+
+    /**
+     * 新增
+     * @param dmpDeviceType
+     * @return
+     */
+    @PostMapping("add")
+    public ApiResult<Void> add(@RequestBody DmpDeviceType dmpDeviceType){
+        dmpDeviceTypeService.add(dmpDeviceType);
+        return ApiResult.success();
+    }
+
+    /**
+     * 修改
+     * @param dmpDeviceType
+     * @return
+     */
+    @PutMapping("edit")
+    public ApiResult<Void> edit(@RequestBody DmpDeviceType dmpDeviceType){
+        dmpDeviceTypeService.edit(dmpDeviceType);
+        return ApiResult.success();
+    }
+
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    @DeleteMapping("remove")
+    public ApiResult<Void> remove(@RequestParam("id") Integer id){
+        dmpDeviceTypeService.remove(id);
+        return ApiResult.success();
+    }
+
+    /**
+     *  列表查询
+     *
+     * @param typeCode 类型编号
+     * @param typeName 类型名称
+     * @param pageNum 当前页
+     * @param pageSize 每页条数
+     * @return
+     */
+    @GetMapping("getDeviceTypeList")
+    public ApiResult<CommonPage<DmpDeviceType>> getDeviceTypeList(@RequestParam(value = "typeCode",required = false) String typeCode,
+                                                                  @RequestParam(value = "typeName",required = false) String typeName,
+                                                                  @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
+                                                                  @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize){
+        return ApiResult.success(dmpDeviceTypeService.getDeviceTypeList(typeCode,typeName,pageNum,pageSize));
+    }
+
+}
+

+ 9 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/TaskController.java

@@ -1,5 +1,6 @@
 package com.usky.iot.controller.web;
 
+import com.usky.iot.service.DmpDeviceStatusService;
 import com.usky.iot.service.job.DmpDataOverviewJob;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -16,10 +17,18 @@ public class TaskController {
     @Autowired
     private DmpDataOverviewJob dmpDataOverviewJob;
 
+    @Autowired
+    private DmpDeviceStatusService dmpDeviceStatusService;
+
     @Scheduled(cron = "0 0 1 * * ? ") //每天凌晨1点执行
     public void task() {
         System.out.println(Thread.currentThread().getName() + "定时任务执行中");
         dmpDataOverviewJob.execute();
     }
+//    @Scheduled(cron = "0 0/1 * * * ? ") //每天凌晨1点执行
+//    public void task1() {
+//        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
+//        dmpDeviceStatusService.status();
+//    }
 
 }

+ 192 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseBuild.java

@@ -0,0 +1,192 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 建筑信息
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseBuild implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 建筑编号
+     */
+    private String buildNum;
+
+    /**
+     * 建筑名称
+     */
+    private String buildName;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 模型地址
+     */
+    private String modelAddress;
+
+    /**
+     * 地上楼层
+     */
+    private Integer aboveFloor;
+
+    /**
+     * 地下楼层
+     */
+    private Integer underFloor;
+
+    /**
+     * 建筑面积
+     */
+    private Double buildArea;
+
+    /**
+     * 占地面积
+     */
+    private Double coverArea;
+
+    /**
+     * 耐火等级
+     */
+    private Integer fireRating;
+
+    /**
+     * 使用性质
+     */
+    private Integer useCharacter;
+
+    /**
+     * 建筑结构
+     */
+    private Integer buildStructure;
+
+    /**
+     * 建筑高度
+     */
+    private Double buildHigh;
+
+    /**
+     * 建筑高度分类
+     */
+    private Integer highType;
+
+    /**
+     * 竣工年份
+     */
+    private LocalDate completeYear;
+
+    /**
+     * 安全责任人
+     */
+    private String safePerson;
+
+    /**
+     * 安全管理人
+     */
+    private String managePerson;
+
+    /**
+     * 火灾危险性
+     */
+    private Integer fireRisk;
+
+    /**
+     * 消防控制室位置
+     */
+    private String fireControlRoom;
+
+    /**
+     * 建筑立面图
+     */
+    private String buildInside;
+
+    /**
+     * 建筑平面图
+     */
+    private String buildPlan;
+
+    /**
+     * 设施ID
+     */
+    private Integer facilityId;
+
+    /**
+     * 所属联网单位ID
+     */
+    private String companyId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 删除标识
+     */
+    private String deleteFlag;
+
+    /**
+     * 地下空间
+     */
+    private Double underSpace;
+
+    /**
+     * 防火涂层(0、无 1、有)
+     */
+    private Integer fireproofCoat;
+
+    /**
+     * 消防设施系统;0、无 1、有
+     */
+    private String fireFacilitySystem;
+
+    /**
+     * 其他系统;0、无 1、有
+     */
+    private String otherSystem;
+
+    /**
+     * 其他设施
+     */
+    private String otherFacilities;
+
+
+}

+ 58 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityArea.java

@@ -0,0 +1,58 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseFacilityArea implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 领域名称
+     */
+    private String areaName;
+
+    /**
+     * 描述
+     */
+    private String areaDesc;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+    /**
+     * 更新人
+     */
+    private String updatedBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updatedTime;
+
+
+}

+ 51 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityBuild.java

@@ -0,0 +1,51 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 地理设施建筑关联表
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseFacilityBuild implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设施id
+     */
+    private Integer facilityId;
+
+    /**
+     * 建筑id
+     */
+    private Integer buildId;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+
+}

+ 51 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityDevice.java

@@ -0,0 +1,51 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 地理设施设备关联表
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseFacilityDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设施id
+     */
+    private Integer facilityId;
+
+    /**
+     * 设备id
+     */
+    private String deviceId;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+
+}

+ 93 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityType.java

@@ -0,0 +1,93 @@
+package com.usky.iot.domain;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 设施类型
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseFacilityType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private Integer id;
+
+    /**
+     * 类型编码
+     */
+    private String typeCode;
+
+    /**
+     * 类型简称
+     */
+    private String typeAbbrevia;
+
+    /**
+     * 类型名称
+     */
+    private String typeName;
+
+    /**
+     * 类型所属领域
+     */
+    private Integer typeDomain;
+
+    /**
+     * 类型图片路径
+     */
+    private String typeImg;
+
+    /**
+     * 类型_表现形式
+     */
+    private Integer typeGuise;
+
+    /**
+     * 数据字段
+     */
+    private String dataField;
+
+    /**
+     * 描述
+     */
+    private String typeDesc;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+    /**
+     * 更新人
+     */
+    private String updatedBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updatedTime;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+
+}

+ 10 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseGgpFacility.java

@@ -162,5 +162,15 @@ public class BaseGgpFacility implements Serializable {
      */
     private String creator;
 
+    /**
+     * 详细地址
+     */
+    private String facilityAddress;
+
+    /**
+     * 设施备注
+     */
+    private String facilityDesc;
+
 
 }

+ 14 - 14
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceInfo.java

@@ -62,6 +62,11 @@ public class DmpDeviceInfo implements Serializable {
      */
     private String imsiCode;
 
+    /**
+     * 是否自动订阅
+     */
+    private Integer subscribeFlag;
+
     /**
      * 节点类型
      */
@@ -103,28 +108,23 @@ public class DmpDeviceInfo implements Serializable {
     private Integer tenantId;
 
     /**
-     * 产品名称
-     */
-    @TableField(exist = false)
-    private String productName;
-
-    /**
-     * 业务状态;1:未激活,2:已激活,3:禁用
+     * 单位编号
      */
-    private Integer serviceStatus;
+    private String companyCode;
 
     /**
-     * 是否自动订阅
+     * 安装位置
      */
-    private Integer subscribeFlag;
+    private String installAddress;
 
     /**
-     * 单位编号
+     * 业务状态;1:未激活,2:已激活,3:禁用
      */
-    private String companyCode;
+    private Integer serviceStatus;
 
     /**
-     * 安装位置
+     * 设备状态;1:在线,2:离线
      */
-    private String installAddress;
+    @TableField(exist = false)
+    private Integer deviceStatus;
 }

+ 3 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceStatus.java

@@ -2,20 +2,18 @@ package com.usky.iot.domain;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import java.time.LocalDateTime;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
 /**
  * <p>
  * 设备状态表
  * </p>
  *
  * @author ya
- * @since 2022-10-08
+ * @since 2023-06-08
  */
 @Data
 @EqualsAndHashCode(callSuper = false)

+ 91 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceType.java

@@ -0,0 +1,91 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 设备信息类型
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DmpDeviceType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 类型编码
+     */
+    private String typeCode;
+
+    /**
+     * 类型简称
+     */
+    private String typeAbbrevia;
+
+    /**
+     * 类型名称
+     */
+    private String typeName;
+
+    /**
+     * 类型所属领域(1、消防 2、园区)
+     */
+    private Integer typeDomain;
+
+    /**
+     * 类型图片路径
+     */
+    private String typeImg;
+
+    /**
+     * 数据字段
+     */
+    private String dataField;
+
+    /**
+     * 描述
+     */
+    private String typeDesc;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+    /**
+     * 更新人
+     */
+    private String updatedBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updatedTime;
+
+
+}

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpProductAttribute.java

@@ -74,7 +74,7 @@ public class DmpProductAttribute implements Serializable {
     /**
      * 单位
      */
-    private Integer attributeUnit;
+    private String attributeUnit;
 
     /**
      * 最大值

+ 6 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpProductInfo.java

@@ -153,4 +153,10 @@ public class DmpProductInfo implements Serializable {
      */
     @TableField(exist = false)
     private Integer serviceStatusCount;
+
+    /**
+     * 类型图片路径
+     */
+    @TableField(exist = false)
+    private String typeImg;
 }

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseBuildMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseBuild;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 建筑信息 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+public interface BaseBuildMapper extends CrudMapper<BaseBuild> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityAreaMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseFacilityArea;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-20
+ */
+public interface BaseFacilityAreaMapper extends CrudMapper<BaseFacilityArea> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityBuildMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseFacilityBuild;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 地理设施建筑关联表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+public interface BaseFacilityBuildMapper extends CrudMapper<BaseFacilityBuild> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityDeviceMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 地理设施设备关联表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+public interface BaseFacilityDeviceMapper extends CrudMapper<BaseFacilityDevice> {
+
+}

+ 26 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityTypeMapper.java

@@ -0,0 +1,26 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.iot.service.vo.BaseGgpFacilityTypeNumVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设施类型 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-06
+ */
+@Repository
+public interface BaseFacilityTypeMapper extends CrudMapper<BaseFacilityType> {
+    List<BaseGgpFacilityTypeNumVO> typeNumList(@Param("tenantId") Integer tenantId);
+    List<BaseGgpFacilityTypeNumVO> typeNormalNumList(@Param("tenantId") Integer tenantId);
+    List<BaseGgpFacilityTypeNumVO> typeUpkeepNumList(@Param("tenantId") Integer tenantId);
+    List<BaseGgpFacilityTypeNumVO> typeCloseNumList(@Param("tenantId") Integer tenantId);
+    List<BaseFacilityType> typeList(@Param("typeId") Integer typeId);
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/DmpDeviceTypeMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.DmpDeviceType;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 设备信息类型 Mapper 接口
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-06
+ */
+public interface DmpDeviceTypeMapper extends CrudMapper<DmpDeviceType> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseBuildService.java

@@ -0,0 +1,16 @@
+package com.usky.iot.service;
+
+import com.usky.iot.domain.BaseBuild;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 建筑信息 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+public interface BaseBuildService extends CrudService<BaseBuild> {
+
+}

+ 25 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityAreaService.java

@@ -0,0 +1,25 @@
+package com.usky.iot.service;
+
+import com.usky.iot.domain.BaseFacilityArea;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.domain.BaseFacilityType;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-20
+ */
+public interface BaseFacilityAreaService extends CrudService<BaseFacilityArea> {
+    /**
+     * 设施所属领域根据ID查询
+     *
+     * @param id   主键ID
+     * @return
+     */
+    List<BaseFacilityArea> areaSelect(Integer id);
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityBuildService.java

@@ -0,0 +1,16 @@
+package com.usky.iot.service;
+
+import com.usky.iot.domain.BaseFacilityBuild;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 地理设施建筑关联表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+public interface BaseFacilityBuildService extends CrudService<BaseFacilityBuild> {
+
+}

+ 19 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityDeviceService.java

@@ -0,0 +1,19 @@
+package com.usky.iot.service;
+
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.domain.BaseFacilityType;
+
+/**
+ * <p>
+ * 地理设施设备关联表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+public interface BaseFacilityDeviceService extends CrudService<BaseFacilityDevice> {
+    boolean add(BaseFacilityDevice baseFacilityDevice);
+
+    boolean remove(Integer id);
+}

+ 35 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityTypeService.java

@@ -0,0 +1,35 @@
+package com.usky.iot.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.service.vo.BaseGgpFacilityTypeVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设施类型 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-06
+ */
+public interface BaseFacilityTypeService extends CrudService<BaseFacilityType> {
+    /**
+     * 设施类型信息查询
+     * @return
+     */
+    List<BaseGgpFacilityTypeVO> typeInfo();
+
+    CommonPage<BaseFacilityType> typePage(String typeCode, String typeName, Integer current, Integer size);
+
+    List<BaseFacilityType> typeSelect(Integer id);
+
+    boolean add(BaseFacilityType baseFacilityType);
+
+    void update(BaseFacilityType baseFacilityType);
+
+    boolean remove(Integer id);
+
+}

+ 27 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseGgpFacilityService.java

@@ -1,9 +1,16 @@
 package com.usky.iot.service;
 
 import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseBuild;
 import com.usky.iot.domain.BaseGgpFacility;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.domain.DmpDeviceInfo;
+import com.usky.iot.service.vo.BaseFacilityDeviceVO;
+import com.usky.iot.service.vo.BaseGgpFacilityExportVo;
 import com.usky.iot.service.vo.BaseGgpFacilityRequest;
+import com.usky.iot.service.vo.BaseGgpFacilityVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -20,5 +27,25 @@ public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
 
     CommonPage<BaseGgpFacility> page(BaseGgpFacilityRequest baseGgpFacilityRequest);
 
+    List<BaseFacilityDeviceVO> facilityDeviceList(String deviceId,Integer facilityId);
+
     boolean remove(Integer id);
+
+    List<BaseGgpFacilityExportVo> recordLsitExport(BaseGgpFacilityRequest baseGgpFacilityRequest);
+
+    List<BaseGgpFacility> facilityInfo(Integer id);
+
+    CommonPage<DmpDeviceInfo> deviceInfo(String deviceId,Integer id,Integer current,Integer size);
+
+    CommonPage<Object> deviceBindInfo(String deviceId,Integer id,Integer current,Integer size);
+
+    CommonPage<BaseBuild> buildInfo(String buildNum, Integer id, Integer current, Integer size);
+
+    /**
+     * 地理信息-撒点
+     *
+     * @param baseGgpFacilityVO
+     * @return
+     */
+    List<BaseGgpFacility> baseGgpFacilityList(BaseGgpFacilityVO baseGgpFacilityVO);
 }

+ 1 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceInfoService.java

@@ -3,6 +3,7 @@ package com.usky.iot.service;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.iot.domain.DmpDeviceInfo;
+import com.usky.iot.service.vo.BaseFacilityDeviceVO;
 import com.usky.iot.service.vo.DmpDeviceInfoRequest;
 import org.springframework.web.multipart.MultipartFile;
 

+ 2 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceStatusService.java

@@ -20,4 +20,6 @@ public interface DmpDeviceStatusService extends CrudService<DmpDeviceStatus> {
 
     List<Map<String,Object>> getCollectByProduct(List<Integer> productIds);
 
+    void status();
+
 }

+ 31 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceTypeService.java

@@ -0,0 +1,31 @@
+package com.usky.iot.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.DmpDeviceType;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 设备信息类型 服务类
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-06
+ */
+public interface DmpDeviceTypeService extends CrudService<DmpDeviceType> {
+    void add(DmpDeviceType dmpDeviceType);
+
+    boolean checkNameUnique(DmpDeviceType dmpDeviceType);
+
+    void edit(DmpDeviceType dmpDeviceType);
+
+    void remove(Integer id);
+
+    CommonPage<DmpDeviceType> getDeviceTypeList(String typeCode, String typeName, Integer pageNum, Integer pageSize);
+
+    List<Map<String, Object>> getDeviceTypeImges(List<Integer> deviceTypes);
+
+}

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpProductInfoService.java

@@ -19,7 +19,7 @@ import java.util.Map;
 public interface DmpProductInfoService extends CrudService<DmpProductInfo> {
 
 
-    boolean add(DmpProductInfo dmpProductInfo);
+    void add(DmpProductInfo dmpProductInfo);
 
     void update(DmpProductInfo dmpProductInfo);
 

+ 20 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseBuildServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.iot.service.impl;
+
+import com.usky.iot.domain.BaseBuild;
+import com.usky.iot.mapper.BaseBuildMapper;
+import com.usky.iot.service.BaseBuildService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 建筑信息 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Service
+public class BaseBuildServiceImpl extends AbstractCrudService<BaseBuildMapper, BaseBuild> implements BaseBuildService {
+
+}

+ 32 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityAreaServiceImpl.java

@@ -0,0 +1,32 @@
+package com.usky.iot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.BaseFacilityArea;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.mapper.BaseFacilityAreaMapper;
+import com.usky.iot.service.BaseFacilityAreaService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-20
+ */
+@Service
+public class BaseFacilityAreaServiceImpl extends AbstractCrudService<BaseFacilityAreaMapper, BaseFacilityArea> implements BaseFacilityAreaService {
+    @Override
+    public List<BaseFacilityArea> areaSelect(Integer id) {
+        LambdaQueryWrapper<BaseFacilityArea> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(null != id,BaseFacilityArea::getId,id);
+        List<BaseFacilityArea> list1 = this.list(lambdaQuery);
+        return list1;
+    }
+}

+ 20 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityBuildServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.iot.service.impl;
+
+import com.usky.iot.domain.BaseFacilityBuild;
+import com.usky.iot.mapper.BaseFacilityBuildMapper;
+import com.usky.iot.service.BaseFacilityBuildService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 地理设施建筑关联表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Service
+public class BaseFacilityBuildServiceImpl extends AbstractCrudService<BaseFacilityBuildMapper, BaseFacilityBuild> implements BaseFacilityBuildService {
+
+}

+ 34 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityDeviceServiceImpl.java

@@ -0,0 +1,34 @@
+package com.usky.iot.service.impl;
+
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.mapper.BaseFacilityDeviceMapper;
+import com.usky.iot.service.BaseFacilityDeviceService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 地理设施设备关联表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-07
+ */
+@Service
+public class BaseFacilityDeviceServiceImpl extends AbstractCrudService<BaseFacilityDeviceMapper, BaseFacilityDevice> implements BaseFacilityDeviceService {
+    @Override
+    public boolean add(BaseFacilityDevice baseFacilityDevice) {
+        baseFacilityDevice.setCreatedBy(SecurityUtils.getUsername());
+        baseFacilityDevice.setCreatedTime(LocalDateTime.now());
+        return this.save(baseFacilityDevice);
+    }
+
+    @Override
+    public boolean remove(Integer id) {
+        return this.removeById(id);
+    }
+}

+ 154 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityTypeServiceImpl.java

@@ -0,0 +1,154 @@
+package com.usky.iot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.domain.BaseGgpFacility;
+import com.usky.iot.domain.DmpDeviceInfo;
+import com.usky.iot.mapper.BaseFacilityTypeMapper;
+import com.usky.iot.service.BaseFacilityTypeService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.iot.service.BaseGgpFacilityService;
+import com.usky.iot.service.vo.BaseGgpFacilityTypeNumVO;
+import com.usky.iot.service.vo.BaseGgpFacilityTypeVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 设施类型 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-06
+ */
+@Service
+public class BaseFacilityTypeServiceImpl extends AbstractCrudService<BaseFacilityTypeMapper, BaseFacilityType> implements BaseFacilityTypeService {
+    @Autowired
+    private BaseGgpFacilityService baseGgpFacilityService;
+    @Override
+    public List<BaseGgpFacilityTypeVO> typeInfo() {
+        List<BaseGgpFacilityTypeVO> list = new ArrayList<>();
+        LambdaQueryWrapper<BaseFacilityType> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.eq(BaseFacilityType::getTenantId, SecurityUtils.getTenantId());
+        List<BaseFacilityType> list1 = this.list(queryWrapper);
+        Integer typeNum = baseMapper.selectCount(queryWrapper);
+        if (CollectionUtils.isNotEmpty(list1)) {
+            List<Integer> typeIdList = new ArrayList<>();
+            for (int i = 0; i < list1.size(); i++) {
+                typeIdList.add(list1.get(i).getId());
+            }
+            List<BaseGgpFacilityTypeNumVO> list2 = new ArrayList<>();
+            List<BaseGgpFacilityTypeNumVO> list3 = new ArrayList<>();
+            List<BaseGgpFacilityTypeNumVO> list4 = new ArrayList<>();
+            List<BaseGgpFacilityTypeNumVO> list5 = new ArrayList<>();
+            Integer facilityNum;
+            BaseGgpFacilityTypeVO baseGgpFacilityTypeVO = new BaseGgpFacilityTypeVO();
+            if (CollectionUtils.isNotEmpty(typeIdList)) {
+                Integer[] a2 = typeIdList.toArray(new Integer[typeIdList.size()]);
+                list2 = baseMapper.typeNumList(SecurityUtils.getTenantId());
+                list3 = baseMapper.typeNormalNumList(SecurityUtils.getTenantId());
+                list4 = baseMapper.typeUpkeepNumList(SecurityUtils.getTenantId());
+                list5 = baseMapper.typeCloseNumList(SecurityUtils.getTenantId());
+                LambdaQueryWrapper<BaseGgpFacility> queryWrapper1 = Wrappers.lambdaQuery();
+                queryWrapper1.eq(BaseGgpFacility::getTenantId, SecurityUtils.getTenantId());
+                facilityNum = baseGgpFacilityService.getBaseMapper().selectCount(queryWrapper1);
+                baseGgpFacilityTypeVO.setFacilityNum(facilityNum);
+                baseGgpFacilityTypeVO.setTypeNum(list2.size());
+            }
+            List<BaseGgpFacilityTypeNumVO> list8 = new ArrayList<>();
+            if (CollectionUtils.isNotEmpty(list2)) {
+                for (int i = 0; i < list2.size(); i++) {
+                    for (int j = 0; j < list3.size(); j++) {
+                        if (list2.get(i).getId().equals(list3.get(j).getId())){
+                            list2.get(i).setNormalFacilityNum(list3.get(j).getNormalFacilityNum());
+                        }
+                    }
+                    for (int k = 0; k < list4.size(); k++) {
+                        if (list2.get(i).getId().equals(list4.get(k).getId())){
+                            list2.get(i).setUpkeepFacilityNum(list4.get(k).getUpkeepFacilityNum());
+                        }
+                    }
+                    for (int g = 0; g < list5.size(); g++) {
+                        if (list2.get(i).getId().equals(list5.get(g).getId())){
+                            list2.get(i).setCloseFacilityNum(list5.get(g).getCloseFacilityNum());
+                        }
+                    }
+                    list8.add(list2.get(i));
+                }
+                baseGgpFacilityTypeVO.setBaseGgpFacilityTypeNumVO(list8);
+                list.add(baseGgpFacilityTypeVO);
+            }
+        }
+        return list;
+    }
+    @Override
+    public CommonPage<BaseFacilityType> typePage(String typeCode, String typeName, Integer current, Integer size) {
+        IPage<BaseFacilityType> page = new Page<>(current, size);
+        LambdaQueryWrapper<BaseFacilityType> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.like(StringUtils.isNotBlank(typeName),BaseFacilityType::getTypeName,
+                typeName)
+                .eq(StringUtils.isNotBlank(typeCode),BaseFacilityType::getTypeCode,
+                        typeCode)
+//                .eq(BaseFacilityType::getTenantId, SecurityUtils.getTenantId())
+                .orderByDesc(BaseFacilityType::getId);
+        page = this.page(page,lambdaQuery);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+    }
+    @Override
+    public List<BaseFacilityType> typeSelect(Integer id) {
+        LambdaQueryWrapper<BaseFacilityType> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(null != id,BaseFacilityType::getId,id);
+//        .eq(BaseFacilityType::getTenantId, SecurityUtils.getTenantId());
+        List<BaseFacilityType> list1 = this.list(lambdaQuery);
+        return list1;
+    }
+
+    @Override
+    public boolean add(BaseFacilityType baseFacilityType) {
+        baseFacilityType.setCreatedBy(SecurityUtils.getUsername());
+        baseFacilityType.setCreatedTime(LocalDateTime.now());
+        baseFacilityType.setTenantId(SecurityUtils.getTenantId());
+        LambdaQueryWrapper<BaseFacilityType> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.orderByDesc(BaseFacilityType::getId)
+                .last(" limit 1");
+        List<BaseFacilityType> list1 = this.list(lambdaQuery);
+        if (CollectionUtils.isNotEmpty(list1)) {
+            Integer num1 = Integer.parseInt(list1.get(0).getTypeCode())+1;
+            baseFacilityType.setTypeCode(Integer.toString(num1));
+        }else{
+            baseFacilityType.setTypeCode("10001");
+        }
+        return this.save(baseFacilityType);
+    }
+
+    @Override
+    public void update(BaseFacilityType baseFacilityType) {
+        baseFacilityType.setUpdatedTime(LocalDateTime.now());
+        baseFacilityType.setUpdatedBy(SecurityUtils.getUsername());
+        this.updateById(baseFacilityType);
+    }
+
+    @Override
+    public boolean remove(Integer id) {
+        LambdaQueryWrapper<BaseGgpFacility> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.eq(BaseGgpFacility::getFacilityType, id);
+        int facilityNum = baseGgpFacilityService.getBaseMapper().selectCount(queryWrapper1);
+        if (facilityNum>0) {
+            throw new BusinessException("设施类型删除失败,该设施类型下有设施绑定");
+        }
+        return this.removeById(id);
+    }
+}

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.