فهرست منبع

config(services): 添加多个微服务的配置文件和设备离线检测任务

- 新增 audio-service、radar-service 和 water-level-service 的开发环境配置文件
- 新增三个服务的生产环境配置文件,包含数据库、Redis 和 Nacos 配置
- 添加 bootstrap.yaml 配置文件,设置服务名称、Nacos 注册中心和共享配置
- 添加 DeviceOfflineCheckTask 类用于定时检测设备离线状态
- 配置 MyBatis-Plus 的类型别名包和映射文件位置
- 设置文件上传基础目录路径
林仔 1 ماه پیش
والد
کامیت
6d20cdc891

+ 36 - 0
audio-service/src/main/java/com/zksy/audio/utils/DeviceOfflineCheckTask.java

@@ -0,0 +1,36 @@
+package com.zksy.telemetry.utils;/*
+package com.zksy.gasTransmitter.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class DeviceOfflineCheckTask {
+    private static final Logger logger = LoggerFactory.getLogger(DeviceOfflineCheckTask.class);
+
+    // 用于存储设备编号及其最后一次接收数据的时间
+    public static ConcurrentHashMap<String, Date> deviceLastReceiveTimeMap = new ConcurrentHashMap<>();
+    @Autowired
+    private BaseDevicesService baseDevicesService;
+
+    // 定时检查设备是否离线
+    @Scheduled(fixedRate = 24 * 60 * 60 * 1000) // 每24小时执行一次
+    public void checkDeviceOffline() {
+        Date now = new Date();
+        for (Map.Entry<String, Date> entry : deviceLastReceiveTimeMap.entrySet()) {
+            long diff = now.getTime() - entry.getValue().getTime();
+            // 如果设备在 23 小时内没有接收数据,则认为设备离线
+            if (diff > 23 * 60 * 60 * 1000) {
+                baseDevicesService.getByDeviceNumberStatus(entry.getKey(), 1, 0);
+                logger.info("设备 {} 已离线", entry.getKey());
+            }
+        }
+    }
+}*/

+ 19 - 0
audio-service/src/main/resources/application-dev.yaml

@@ -0,0 +1,19 @@
+zksy:
+  db:
+    host: 192.168.110.30
+    un: root
+    pw: 123
+    port: 3307
+    database: pipe-ner
+spring:
+  redis:
+    host: 192.168.110.30
+    port: 6379
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.110.30:8848
+      config:
+        server-addr: 192.168.110.30:8848
+wlds:
+  fileUploadBaseDir: D:\home\wlds\uploads

+ 13 - 0
audio-service/src/main/resources/application-prod.yaml

@@ -0,0 +1,13 @@
+zksy:
+  db:
+    host: 47.107.107.47
+    un: root
+    pw: d$3%#*(jnhUDGHB]z0x876c~
+    port: 3306
+    database: pipe-ner
+spring:
+  redis:
+    host: 47.107.107.47
+    port: 6379
+wlds:
+  fileUploadBaseDir: \home\wlds\uploads

+ 35 - 0
audio-service/src/main/resources/bootstrap.yaml

@@ -0,0 +1,35 @@
+spring:
+  application:
+    name: audio-service
+  profiles:
+    active: druid
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+  main:
+    allow-bean-definition-overriding: true
+  cloud:
+    sentinel:
+      transport:
+        dashboard: 172.16.102.52:8090
+#        dashboard: 192.168.110.30:8090
+      http-method-specify: true
+    nacos:
+      discovery:
+        server-addr: 172.16.102.52:8848
+        namespace: e67fa2c3-7422-449f-927b-046159cc64eb
+#         server-addr: 192.168.110.30:8848
+#         namespace: 9ce240d6-ae6b-45a3-8566-e75ac25c9d71
+      config:
+        server-addr: 172.16.102.52:8848
+        namespace: e67fa2c3-7422-449f-927b-046159cc64eb
+#        server-addr: 192.168.110.30:8848
+#        namespace: 9ce240d6-ae6b-45a3-8566-e75ac25c9d71
+        file-extension: yaml
+        shared-configs:
+          - dataId: audio-service.yaml
+          - dataId: zksy-shared-jdbc.yaml
+          - dataId: zksy-shared-log.yaml
+netty:
+  port: 30004

+ 36 - 0
radar-service/src/main/java/com/zksy/radar/utils/DeviceOfflineCheckTask.java

@@ -0,0 +1,36 @@
+package com.zksy.radar.utils;/*
+package com.zksy.gasTransmitter.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class DeviceOfflineCheckTask {
+    private static final Logger logger = LoggerFactory.getLogger(DeviceOfflineCheckTask.class);
+
+    // 用于存储设备编号及其最后一次接收数据的时间
+    public static ConcurrentHashMap<String, Date> deviceLastReceiveTimeMap = new ConcurrentHashMap<>();
+    @Autowired
+    private BaseDevicesService baseDevicesService;
+
+    // 定时检查设备是否离线
+    @Scheduled(fixedRate = 24 * 60 * 60 * 1000) // 每24小时执行一次
+    public void checkDeviceOffline() {
+        Date now = new Date();
+        for (Map.Entry<String, Date> entry : deviceLastReceiveTimeMap.entrySet()) {
+            long diff = now.getTime() - entry.getValue().getTime();
+            // 如果设备在 23 小时内没有接收数据,则认为设备离线
+            if (diff > 23 * 60 * 60 * 1000) {
+                baseDevicesService.getByDeviceNumberStatus(entry.getKey(), 1, 0);
+                logger.info("设备 {} 已离线", entry.getKey());
+            }
+        }
+    }
+}*/

+ 20 - 0
radar-service/src/main/resources/application-dev.yaml

@@ -0,0 +1,20 @@
+zksy:
+  db:
+    host: 192.168.110.30
+    un: root
+    pw: 123
+    port: 3307
+    database: pipe-ner
+spring:
+  redis:
+    host: 192.168.110.30
+    port: 6379
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.110.30:8848
+      config:
+        server-addr: 192.168.110.30:8848
+mybatis-plus:
+  type-aliases-package: com.zksy.radar.domain, com.zksy.common.core.domain.entity,com.zksy.system.domain,com.zksy.system.domain
+  mapper-locations: classpath*:mapper/**/*Mapper.xml

+ 20 - 0
radar-service/src/main/resources/application-prod.yaml

@@ -0,0 +1,20 @@
+zksy:
+  db:
+    host: 47.107.107.47
+    un: root
+    pw: d$3%#*(jnhUDGHB]z0x876c~
+    port: 3306
+    database: pipe-ner
+spring:
+  redis:
+    host: 47.107.107.47
+    port: 6379
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 47.107.107.47:8848
+      config:
+        server-addr: 47.107.107.47:8848
+mybatis-plus:
+  type-aliases-package: com.zksy.radar.domain, com.zksy.common.core.domain.entity,com.zksy.system.domain,com.zksy.system.domain
+  mapper-locations: classpath*:mapper/**/*Mapper.xml

+ 35 - 0
radar-service/src/main/resources/bootstrap.yaml

@@ -0,0 +1,35 @@
+spring:
+  application:
+    name: radar-service
+  profiles:
+    active: druid
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+  main:
+    allow-bean-definition-overriding: true
+  cloud:
+    sentinel:
+      transport:
+        dashboard: 172.16.102.52:8090
+#        dashboard: 192.168.110.30:8090
+      http-method-specify: true
+    nacos:
+      discovery:
+        server-addr: 172.16.102.52:8848
+        namespace: e67fa2c3-7422-449f-927b-046159cc64eb
+#         server-addr: 192.168.110.30:8848
+#         namespace: 9ce240d6-ae6b-45a3-8566-e75ac25c9d71
+      config:
+        server-addr: 172.16.102.52:8848
+        namespace: e67fa2c3-7422-449f-927b-046159cc64eb
+#        server-addr: 192.168.110.30:8848
+#        namespace: 9ce240d6-ae6b-45a3-8566-e75ac25c9d71
+        file-extension: yaml
+        shared-configs:
+          - dataId: radar-service.yaml
+          - dataId: zksy-shared-jdbc.yaml
+          - dataId: zksy-shared-log.yaml
+netty:
+  port: 30006

+ 36 - 0
water-level-service/src/main/java/com/zksy/water/utils/DeviceOfflineCheckTask.java

@@ -0,0 +1,36 @@
+package com.zksy.radar.utils;/*
+package com.zksy.gasTransmitter.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class DeviceOfflineCheckTask {
+    private static final Logger logger = LoggerFactory.getLogger(DeviceOfflineCheckTask.class);
+
+    // 用于存储设备编号及其最后一次接收数据的时间
+    public static ConcurrentHashMap<String, Date> deviceLastReceiveTimeMap = new ConcurrentHashMap<>();
+    @Autowired
+    private BaseDevicesService baseDevicesService;
+
+    // 定时检查设备是否离线
+    @Scheduled(fixedRate = 24 * 60 * 60 * 1000) // 每24小时执行一次
+    public void checkDeviceOffline() {
+        Date now = new Date();
+        for (Map.Entry<String, Date> entry : deviceLastReceiveTimeMap.entrySet()) {
+            long diff = now.getTime() - entry.getValue().getTime();
+            // 如果设备在 23 小时内没有接收数据,则认为设备离线
+            if (diff > 23 * 60 * 60 * 1000) {
+                baseDevicesService.getByDeviceNumberStatus(entry.getKey(), 1, 0);
+                logger.info("设备 {} 已离线", entry.getKey());
+            }
+        }
+    }
+}*/

+ 20 - 0
water-level-service/src/main/resources/application-dev.yaml

@@ -0,0 +1,20 @@
+zksy:
+  db:
+    host: 192.168.110.30
+    un: root
+    pw: 123
+    port: 3307
+    database: pipe-ner
+spring:
+  redis:
+    host: 192.168.110.30
+    port: 6379
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.110.30:8848
+      config:
+        server-addr: 192.168.110.30:8848
+mybatis-plus:
+  type-aliases-package: com.zksy.water.domain, com.zksy.common.core.domain.entity,com.zksy.system.domain,com.zksy.system.domain
+  mapper-locations: classpath*:mapper/**/*Mapper.xml

+ 20 - 0
water-level-service/src/main/resources/application-prod.yaml

@@ -0,0 +1,20 @@
+zksy:
+  db:
+    host: 47.107.107.47
+    un: root
+    pw: d$3%#*(jnhUDGHB]z0x876c~
+    port: 3306
+    database: pipe-ner
+spring:
+  redis:
+    host: 47.107.107.47
+    port: 6379
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 47.107.107.47:8848
+      config:
+        server-addr: 47.107.107.47:8848
+mybatis-plus:
+  type-aliases-package: com.zksy.water.domain, com.zksy.common.core.domain.entity,com.zksy.system.domain,com.zksy.system.domain
+  mapper-locations: classpath*:mapper/**/*Mapper.xml

+ 35 - 0
water-level-service/src/main/resources/bootstrap.yaml

@@ -0,0 +1,35 @@
+spring:
+  application:
+    name: water-level-service
+  profiles:
+    active: druid
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+  main:
+    allow-bean-definition-overriding: true
+  cloud:
+    sentinel:
+      transport:
+        dashboard: 172.16.102.52:8090
+#        dashboard: 192.168.110.30:8090
+      http-method-specify: true
+    nacos:
+      discovery:
+        server-addr: 172.16.102.52:8848
+        namespace: e67fa2c3-7422-449f-927b-046159cc64eb
+#         server-addr: 192.168.110.30:8848
+#         namespace: 9ce240d6-ae6b-45a3-8566-e75ac25c9d71
+      config:
+        server-addr: 172.16.102.52:8848
+        namespace: e67fa2c3-7422-449f-927b-046159cc64eb
+#        server-addr: 192.168.110.30:8848
+#        namespace: 9ce240d6-ae6b-45a3-8566-e75ac25c9d71
+        file-extension: yaml
+        shared-configs:
+          - dataId: water-level-service.yaml
+          - dataId: zksy-shared-jdbc.yaml
+          - dataId: zksy-shared-log.yaml
+netty:
+  port: 30005