Преглед на файлове

Merge branch 'refs/heads/ruoyi-qxsb' into dev

hwt преди 11 месеца
родител
ревизия
ee2b62bd9a

+ 1 - 0
ruoyi-modules/pom.xml

@@ -14,6 +14,7 @@
         <module>ruoyi-job</module>
         <module>ruoyi-file</module>
         <module>ruoyi-uniapp</module>
+        <module>ruoyi-qxsb</module>
     </modules>
 
     <artifactId>ruoyi-modules</artifactId>

+ 108 - 0
ruoyi-modules/ruoyi-qxsb/pom.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.ruoyi</groupId>
+        <artifactId>ruoyi-modules</artifactId>
+        <version>3.6.5</version>
+    </parent>
+
+    <artifactId>ruoyi-qxsb</artifactId>
+    <description>
+        ruoyi-qxsb气象土壤墒情
+    </description>
+
+    <dependencies>
+
+        <!-- SpringCloud Alibaba Nacos -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Nacos Config -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+
+        <!-- Spring WEB -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Sentinel -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
+        </dependency>
+
+        <!-- SpringBoot Actuator -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+
+        <!-- Quartz -->
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.mchange</groupId>
+                    <artifactId>c3p0</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- Mysql Connector -->
+        <dependency>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Log -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-common-log</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Swagger -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-common-swagger</artifactId>
+        </dependency>
+
+
+        <!-- 建大仁科 SDK -->
+        <dependency>
+            <groupId>rk.netdevice</groupId>
+            <artifactId>netdevicesdkp2</artifactId>
+            <version>2.2.7</version>
+        </dependency>
+
+
+    </dependencies>
+
+    <build>
+        <finalName>${project.artifactId}</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+
+
+</project>

+ 17 - 0
ruoyi-modules/ruoyi-qxsb/src/main/java/com/ruoyi/hhzx/qxsb/RuoyiQxsbApplication.java

@@ -0,0 +1,17 @@
+package com.ruoyi.hhzx.qxsb;
+
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableCustomConfig
+@EnableRyFeignClients
+@SpringBootApplication
+public class RuoyiQxsbApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(RuoyiQxsbApplication.class, args);
+    }
+
+}

+ 22 - 0
ruoyi-modules/ruoyi-qxsb/src/main/java/com/ruoyi/hhzx/qxsb/rk/rkServiceStart.java

@@ -0,0 +1,22 @@
+package com.ruoyi.hhzx.qxsb.rk;
+
+import com.ruoyi.hhzx.qxsb.rk.service.rkService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+@Component
+@Slf4j
+public class rkServiceStart implements ApplicationRunner {
+
+    @Autowired
+    private rkService rks;
+
+    @Override
+    public void run(ApplicationArguments args) throws Exception {
+        rks.run();
+    }
+
+}

+ 59 - 0
ruoyi-modules/ruoyi-qxsb/src/main/java/com/ruoyi/hhzx/qxsb/rk/service/dataListener.java

@@ -0,0 +1,59 @@
+package com.ruoyi.hhzx.qxsb.rk.service;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import rk.netDevice.sdk.p2.*;
+
+@Component
+@Slf4j
+public class dataListener implements IDataListener {
+    @Override
+    public void receiveRealtimeData(RealTimeData realTimeData) {
+        log.info("realTimeData:{}", realTimeData);
+    }
+
+    @Override
+    public void receiveLoginData(LoginData loginData) {
+        log.info("loginData:{}", loginData);
+    }
+
+    @Override
+    public void receiveStoreData(StoreData storeData) {
+        log.info("storeData:{}", storeData);
+    }
+
+    @Override
+    public void receiveTelecontrolAck(TelecontrolAck telecontrolAck) {
+        log.info("telecontrolAck:{}", telecontrolAck);
+    }
+
+    @Override
+    public void receiveTimmingAck(TimmingAck timmingAck) {
+        log.info("timmingAck:{}", timmingAck);
+    }
+
+    @Override
+    public void receiveParamIds(ParamIdsData paramIdsData) {
+        log.info("paramIdsData:{}", paramIdsData);
+    }
+
+    @Override
+    public void receiveParam(ParamData paramData) {
+        log.info("paramData:{}", paramData);
+    }
+
+    @Override
+    public void receiveWriteParamAck(WriteParamAck writeParamAck) {
+        log.info("writeParamAck:{}", writeParamAck);
+    }
+
+    @Override
+    public void receiveTransDataAck(TransDataAck transDataAck) {
+        log.info("transDataAck:{}", transDataAck);
+    }
+
+    @Override
+    public void receiveHeartbeatData(HeartbeatData heartbeatData) {
+        log.info("heartbeatData:{}", heartbeatData);
+    }
+}

+ 36 - 0
ruoyi-modules/ruoyi-qxsb/src/main/java/com/ruoyi/hhzx/qxsb/rk/service/rkService.java

@@ -0,0 +1,36 @@
+package com.ruoyi.hhzx.qxsb.rk.service;
+
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import rk.netDevice.sdk.p2.*;
+
+@Component
+@Slf4j
+public class rkService {
+
+    private RSServer rsServer;
+
+    @Value("${com.hhzx.qxsb.rk.port}")
+    private int port;
+
+    @Autowired
+    private dataListener dl;
+
+    public void run() throws InterruptedException {
+        log.info("启动建大仁科设备监听服务:"+port);
+        rsServer = RSServer.Initiate(port);
+        rsServer.addDataListener(dl);
+        new Thread(()->{
+            try {
+                rsServer.start();
+            } catch (InterruptedException e) {
+                log.error("启动建大仁科设备监听服务:"+port+"启动失败!",e);
+                throw new RuntimeException(e);
+            }
+        }).start();
+
+    }
+}

+ 8 - 0
ruoyi-modules/ruoyi-qxsb/src/main/resources/banner.txt

@@ -0,0 +1,8 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
+                        _                      _
+ _ __ _   _  ___  _   _(_)       __ ___  _____| |__
+| '__| | | |/ _ \| | | | |_____ / _` \ \/ / __| '_ \
+| |  | |_| | (_) | |_| | |_____| (_| |>  <\__ \ |_) |
+|_|   \__,_|\___/ \__, |_|      \__, /_/\_\___/_.__/
+                  |___/            |_|

+ 36 - 0
ruoyi-modules/ruoyi-qxsb/src/main/resources/bootstrap.yml

@@ -0,0 +1,36 @@
+# Tomcat
+server:
+  port: 9301
+
+# Spring
+spring: 
+  application:
+    # 应用名称
+    name: ruoyi-qxsb
+  profiles:
+    # 环境配置
+    active: dev
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: 121.4.16.100:8848
+        username: nacos
+        password: nacos369
+      config:
+        username: nacos
+        password: nacos369
+        # 配置中心地址
+        server-addr: 121.4.16.100:8848
+        # 配置文件格式
+        file-extension: yml
+        # 共享配置
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+
+#设备端口 建大仁科
+com:
+  hhzx:
+    qxsb:
+      rk:
+        port: 24025

+ 74 - 0
ruoyi-modules/ruoyi-qxsb/src/main/resources/logback.xml

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <!-- 日志存放路径 -->
+	<property name="log.path" value="logs/ruoyi-qxsb" />
+   <!-- 日志输出格式 -->
+	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
+
+    <!-- 控制台输出 -->
+	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>${log.pattern}</pattern>
+		</encoder>
+	</appender>
+
+    <!-- 系统日志输出 -->
+	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+	    <file>${log.path}/info.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
+			<!-- 日志最大的历史 60天 -->
+			<maxHistory>60</maxHistory>
+		</rollingPolicy>
+		<encoder>
+			<pattern>${log.pattern}</pattern>
+		</encoder>
+		<filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <!-- 过滤的级别 -->
+            <level>INFO</level>
+            <!-- 匹配时的操作:接收(记录) -->
+            <onMatch>ACCEPT</onMatch>
+            <!-- 不匹配时的操作:拒绝(不记录) -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+	</appender>
+
+    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+	    <file>${log.path}/error.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
+			<!-- 日志最大的历史 60天 -->
+			<maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <!-- 过滤的级别 -->
+            <level>ERROR</level>
+			<!-- 匹配时的操作:接收(记录) -->
+            <onMatch>ACCEPT</onMatch>
+			<!-- 不匹配时的操作:拒绝(不记录) -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!-- 系统模块日志级别控制  -->
+	<logger name="com.ruoyi" level="info" />
+	<!-- Spring日志级别控制  -->
+	<logger name="org.springframework" level="warn" />
+
+	<root level="info">
+		<appender-ref ref="console" />
+	</root>
+	
+	<!--系统操作日志-->
+    <root level="info">
+        <appender-ref ref="file_info" />
+        <appender-ref ref="file_error" />
+    </root>
+</configuration>