diff --git a/pom.xml b/pom.xml
index b72e203..2f0f802 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,16 +34,16 @@
org.jolokia
jolokia-core
-
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- io.springfox
- springfox-swagger-ui
- ${swagger.version}
-
+
+
+
+
+
+
+
+
+
+
org.springframework.boot
spring-boot-starter-aop
diff --git a/user-service/pom.xml b/user-service/pom.xml
index d652165..517dccf 100644
--- a/user-service/pom.xml
+++ b/user-service/pom.xml
@@ -129,11 +129,11 @@
0.0.1-SNAPSHOT
-
- de.codecentric
- spring-boot-admin-starter-client
- 2.2.2
-
+
+
+
+
+
org.projectlombok
diff --git a/user-service/src/main/java/com/mh/user/UserServiceApplication.java b/user-service/src/main/java/com/mh/user/UserServiceApplication.java
index 8ec61f4..66415b0 100644
--- a/user-service/src/main/java/com/mh/user/UserServiceApplication.java
+++ b/user-service/src/main/java/com/mh/user/UserServiceApplication.java
@@ -1,9 +1,11 @@
package com.mh.user;
import com.mh.user.constants.Constant;
+import com.mh.user.entity.ProjectInfoEntity;
import com.mh.user.job.CollectionLoopRunner;
import com.mh.user.netty.EchoServer;
import com.mh.user.service.DeviceCodeParamService;
+import com.mh.user.service.ProjectInfoService;
import com.mh.user.utils.GetReadOrder485;
import lombok.extern.slf4j.Slf4j;
import org.apache.log4j.Logger;
@@ -15,6 +17,7 @@ import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableScheduling;
import javax.annotation.PreDestroy;
+import java.util.List;
@SpringBootApplication(scanBasePackages = "com.mh.user")
@@ -24,9 +27,6 @@ public class UserServiceApplication extends SpringBootServletInitializer {
private static final Logger log = Logger.getLogger(UserServiceApplication.class);
- @Autowired
- DeviceCodeParamService deviceCodeParamService;
-
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(UserServiceApplication.class);
@@ -38,15 +38,6 @@ public class UserServiceApplication extends SpringBootServletInitializer {
//System.out.println(Constant.projectId);
//Constant.projectId=7;
//System.out.println(Constant.projectId);
- GetReadOrder485 getReadOrder485=new GetReadOrder485();
- getReadOrder485.createOrderParam("2"); //生成采集参数,1新珠江,2广合科技,3广大科技,6珠江国际,7保利山庄,8东莞迎宾馆
- try{
- new EchoServer(6001).start(); // 调用服务器的start方法,网关作为客户端,6006新珠江,6001广合科技,6077广大科技
-// new EchoServer2(6013).start(); // 6028(6006)珠江国际,5000保利山庄,6004东莞迎宾馆
-// log.info("测试日志路径========!");
- }catch (Exception e){
- System.out.println("端口已占用!");
- }
}
@PreDestroy
diff --git a/user-service/src/main/java/com/mh/user/config/SwaggerConfig.java b/user-service/src/main/java/com/mh/user/config/SwaggerConfig.java
index 4079b06..165b473 100644
--- a/user-service/src/main/java/com/mh/user/config/SwaggerConfig.java
+++ b/user-service/src/main/java/com/mh/user/config/SwaggerConfig.java
@@ -1,49 +1,49 @@
-package com.mh.user.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.ParameterBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.schema.ModelRef;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Parameter;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author ljf
- * @title :
- * @description :
- * @updateTime 2020-03-13
- * @throws :
- */
-@Configuration
-@EnableSwagger2
-public class SwaggerConfig {
-
- @Bean
- public Docket createRestApi(){
- // 添加请求参数,我们这里把token作为请求头部参数传入后端
- ParameterBuilder parameterBuilder = new ParameterBuilder();
- List parameters = new ArrayList();
- parameterBuilder.name("token").description("令牌")
- .modelRef(new ModelRef("string")).parameterType("header").required(false).build();
- parameters.add(parameterBuilder.build());
- return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
- .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any())
- .build().globalOperationParameters(parameters);
+//package com.mh.user.config;
+//
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import springfox.documentation.builders.ApiInfoBuilder;
+//import springfox.documentation.builders.ParameterBuilder;
+//import springfox.documentation.builders.PathSelectors;
+//import springfox.documentation.builders.RequestHandlerSelectors;
+//import springfox.documentation.schema.ModelRef;
+//import springfox.documentation.service.ApiInfo;
+//import springfox.documentation.service.Parameter;
+//import springfox.documentation.spi.DocumentationType;
+//import springfox.documentation.spring.web.plugins.Docket;
+//import springfox.documentation.swagger2.annotations.EnableSwagger2;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+///**
+// * @author ljf
+// * @title :
+// * @description :
+// * @updateTime 2020-03-13
+// * @throws :
+// */
+//@Configuration
+//@EnableSwagger2
+//public class SwaggerConfig {
+//
+// @Bean
+// public Docket createRestApi(){
+// // 添加请求参数,我们这里把token作为请求头部参数传入后端
+// ParameterBuilder parameterBuilder = new ParameterBuilder();
+// List parameters = new ArrayList();
+// parameterBuilder.name("token").description("令牌")
+// .modelRef(new ModelRef("string")).parameterType("header").required(false).build();
+// parameters.add(parameterBuilder.build());
// return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
-// .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build();
- }
-
- private ApiInfo apiInfo(){
- return new ApiInfoBuilder().build();
- }
-
-}
+// .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any())
+// .build().globalOperationParameters(parameters);
+//// return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
+//// .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build();
+// }
+//
+// private ApiInfo apiInfo(){
+// return new ApiInfoBuilder().build();
+// }
+//
+//}
diff --git a/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java b/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java
index 73e0b94..b75290f 100644
--- a/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java
+++ b/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java
@@ -1,14 +1,18 @@
package com.mh.user.job;
import com.mh.user.entity.AddCronJobReq;
+import com.mh.user.entity.ProjectInfoEntity;
import com.mh.user.manage.QuartzManager;
import com.mh.user.netty.EchoServer;
import com.mh.user.serialport.SerialPortListener;
import com.mh.user.serialport.SerialPortUtil;
+import com.mh.user.service.ProjectInfoService;
+import com.mh.user.utils.GetReadOrder485;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import lombok.extern.slf4j.Slf4j;
import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@@ -25,231 +29,241 @@ import java.util.Map;
* @updateTime 2020-05-15
* @throws :
*/
-//@Component
+@Component
public class CollectionLoopRunner implements ApplicationRunner {
private static final Logger log = Logger.getLogger(CollectionLoopRunner.class);
- @Resource
- QuartzManager quartzManager;
-
public static SerialPort serialPort = null;
+ @Autowired
+ ProjectInfoService projectInfoService;
+
@Override
public void run(ApplicationArguments args) throws Exception {
-// collectionMeterAndCloud();
- log.info("==================测试日志================");
- }
-
- public void test() throws Exception {
- System.out.println("测试定时采集开关");
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "2");
- params.put("name", "test1");
- //每 1 分钟 执行一次
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- addCronJobReq.setDate("0/10 * * * * ?");
-// addCronJobReq.setDate("0/5 * * * * ?");
- addCronJobReq.setJobClass("JobTest1");
- addCronJobReq.setJobGroupName("JobTestGroup1");
- addCronJobReq.setJobName("Test1");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerTestGroup1");
- addCronJobReq.setTriggerName("triggerTest1");
- quartzManager.addCronJob(addCronJobReq);
- }
-
- /**
- * 定时采集电表和冷量计
- *
- * @throws Exception
- */
- public void collectionMeterAndCloud() throws Exception {
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "6");
- params.put("name", "cloud_meter");
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- //每 15 分钟 执行一次
- addCronJobReq.setDate("0 0/15 * * * ?");
- //每 3 分钟 执行一次
-// addCronJobReq.setDate("35 0/2 * * * ?");
- //每 2 分钟 执行一次
-// addCronJobReq.setDate("25 0/2 * * * ?");
- //每 1 分钟 执行一次
-// addCronJobReq.setDate("0/10 * * * * ?");
-// addCronJobReq.setDate("0/5 * * * * ?");
- addCronJobReq.setJobClass("JobCloudAndMeter");
- addCronJobReq.setJobGroupName("JobCloudAndMeterGroup");
- addCronJobReq.setJobName("CloudAndMeter");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerCloudAndMeterGroup");
- addCronJobReq.setTriggerName("triggerCloudAndMeter");
- quartzManager.addCronJob(addCronJobReq);
- }
-
- /**
- * 定时采集冷量计
- *
- * @throws Exception
- */
- public void collectionCloud() throws Exception {
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "1");
- params.put("name", "cloud");
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- //每 2 分钟 执行一次
- addCronJobReq.setDate("25 0/2 * * * ?");
-// addCronJobReq.setDate("0/5 * * * * ?");
- addCronJobReq.setJobClass("JobCloud");
- addCronJobReq.setJobGroupName("JobCloudGroup");
- addCronJobReq.setJobName("Cloud");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerCloudGroup");
- addCronJobReq.setTriggerName("triggerCloud");
- quartzManager.addCronJob(addCronJobReq);
- }
- /**
- * 定时采集电表
- *
- * @throws Exception
- */
- public void collectionMeter() throws Exception {
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "2");
- params.put("name", "meter");
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- //每 3 分钟 执行一次
- addCronJobReq.setDate("35 0/2 * * * ?");
-// addCronJobReq.setDate("0/20 * * * * ?");
- addCronJobReq.setJobClass("JobMeter");
- addCronJobReq.setJobGroupName("JobMeterGroup");
- addCronJobReq.setJobName("Meter");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerMeterGroup");
- addCronJobReq.setTriggerName("triggerMeter");
- quartzManager.addCronJob(addCronJobReq);
- }
-
- /**
- * 定时采集DDC设备
- *
- * @throws Exception
- */
- public void collectionDDC() throws Exception {
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "3");
- params.put("name", "ddc");
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- //每 1分钟 执行一次
-// addCronJobReq.setDate("3,33 * * * * ?");
- addCronJobReq.setDate("45 0/1 * * * ?");
- addCronJobReq.setJobClass("JobDDC");
- addCronJobReq.setJobGroupName("JobDDCGroup");
- addCronJobReq.setJobName("DDC");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerDDCGroup");
- addCronJobReq.setTriggerName("triggerDDC");
- quartzManager.addCronJob(addCronJobReq);
- }
-
- /**
- * 定时采集冷水机组设备
- *
- * @throws Exception
- */
- public void collectionChillers() throws Exception {
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "4");
- params.put("name", "chillers");
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- //每3分钟 执行一次
- addCronJobReq.setDate("55 0/2 * * * ? ");
-// addCronJobReq.setDate("0/30 * * * * ?");
- addCronJobReq.setJobClass("JobChillers");
- addCronJobReq.setJobGroupName("JobChillersGroup");
- addCronJobReq.setJobName("Chillers");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerChillersGroup");
- addCronJobReq.setTriggerName("triggerChillers");
- quartzManager.addCronJob(addCronJobReq);
- }
-
- /**
- * 4分钟,采集第二个冷水机组数据
- */
- public void collectionChillers1() {
- // 执行定义的定时采集程序
- Map params = new HashMap<>();
- params.put("id", "5");
- params.put("name", "chillers1");
- AddCronJobReq addCronJobReq = new AddCronJobReq();
- //每 4分钟 执行一次
- addCronJobReq.setDate("0 0/5 * * * ? ");
-// addCronJobReq.setDate("0/30 * * * * ?");
- addCronJobReq.setJobClass("JobChillers1");
- addCronJobReq.setJobGroupName("JobChillersGroup1");
- addCronJobReq.setJobName("Chillers1");
- addCronJobReq.setParams(params);
- addCronJobReq.setTriggerGroupName("triggerChillersGroup1");
- addCronJobReq.setTriggerName("triggerChillers1");
- try {
- quartzManager.addCronJob(addCronJobReq);
- } catch (Exception e) {
- e.printStackTrace();
+ GetReadOrder485 getReadOrder485=new GetReadOrder485();
+ List projectInfoEntities = projectInfoService.queryProjectInfo("1");
+ if (null != projectInfoEntities && !projectInfoEntities.isEmpty()) {
+ for (ProjectInfoEntity projectInfoEntity : projectInfoEntities) {
+ getReadOrder485.createOrderParam(projectInfoEntity.getId()); //生成采集参数,1新珠江(6000),2广合科技(6001),3广大科技(6002),6珠江国际,7保利山庄,8东莞迎宾馆
+ }
}
- }
-
- public void testSerialPort(){
-
- String portname = "COM7";
- //TestA();
- //查看所有串口
- SerialPortUtil serialPortUtil = SerialPortUtil.getSerialPortUtil();
- ArrayList port = serialPortUtil.findPort();
- System.out.println("发现全部串口:" + port);
-
- System.out.println("打开指定portname:" + portname);
- //打开该对应portname名字的串口
- CollectionLoopRunner.serialPort = serialPortUtil.openPort(portname, 2400, SerialPort.DATABITS_8, SerialPort.PARITY_EVEN, SerialPort.PARITY_ODD);
-
- byte[] HEX = SerialPortListener.hexStr2Byte("FEFEFE6810398710810000000103901F007C16");
- serialPortUtil.sendToPort(CollectionLoopRunner.serialPort, HEX);
-
- //给对应的serialPort添加监听器
- serialPortUtil.addListener(CollectionLoopRunner.serialPort, new SerialPortListener());
-
- }
-
- public void plcAnalytic() {
- String portName = "COM1";
- //查看所有串口
- SerialPortUtil serialPortUtil = SerialPortUtil.getSerialPortUtil();
- //打开该对应portName名字的串口
- if (CollectionLoopRunner.serialPort == null) {
- CollectionLoopRunner.serialPort = serialPortUtil.openPort(portName, 19200, SerialPort.DATABITS_8, SerialPort.PARITY_NONE, SerialPort.PARITY_ODD);
- byte[] hex = SerialPortListener.hexStr2Byte("A55A230000000022".replaceAll("\\s*", ""));
- serialPortUtil.sendToPort(CollectionLoopRunner.serialPort, hex);
-
- //给对应的serialPort添加监听器-->设置串口的Listener
- SerialPortUtil.setListenerToSerialPort(CollectionLoopRunner.serialPort, serialPortEvent -> {
- if (serialPortEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
- byte[] bytes = serialPortUtil.readFromPort(CollectionLoopRunner.serialPort);
-
- String needData = SerialPortListener.printHexString(bytes);
-
- //数据校验 校验数据长度、起始5A A5、数据sum位
-// if (PlcUtil.makeChecksum(needData)) {
-// //数据解析方法 此处编写你的解析方法,根据获取到的数据编写适合自己的方法
-// }
- }
- });
+ try{
+ new EchoServer(6001).start(); // 调用服务器的start方法,网关作为客户端,6006新珠江,6001广合科技,6077广大科技 6028(6006)珠江国际,5000保利山庄,6004东莞迎宾馆
+ }catch (Exception e){
+ log.info("6001端口已占用!");
}
}
+// public void test() throws Exception {
+// System.out.println("测试定时采集开关");
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "2");
+// params.put("name", "test1");
+// //每 1 分钟 执行一次
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// addCronJobReq.setDate("0/10 * * * * ?");
+//// addCronJobReq.setDate("0/5 * * * * ?");
+// addCronJobReq.setJobClass("JobTest1");
+// addCronJobReq.setJobGroupName("JobTestGroup1");
+// addCronJobReq.setJobName("Test1");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerTestGroup1");
+// addCronJobReq.setTriggerName("triggerTest1");
+// quartzManager.addCronJob(addCronJobReq);
+// }
+//
+// /**
+// * 定时采集电表和冷量计
+// *
+// * @throws Exception
+// */
+// public void collectionMeterAndCloud() throws Exception {
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "6");
+// params.put("name", "cloud_meter");
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// //每 15 分钟 执行一次
+// addCronJobReq.setDate("0 0/15 * * * ?");
+// //每 3 分钟 执行一次
+//// addCronJobReq.setDate("35 0/2 * * * ?");
+// //每 2 分钟 执行一次
+//// addCronJobReq.setDate("25 0/2 * * * ?");
+// //每 1 分钟 执行一次
+//// addCronJobReq.setDate("0/10 * * * * ?");
+//// addCronJobReq.setDate("0/5 * * * * ?");
+// addCronJobReq.setJobClass("JobCloudAndMeter");
+// addCronJobReq.setJobGroupName("JobCloudAndMeterGroup");
+// addCronJobReq.setJobName("CloudAndMeter");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerCloudAndMeterGroup");
+// addCronJobReq.setTriggerName("triggerCloudAndMeter");
+// quartzManager.addCronJob(addCronJobReq);
+// }
+//
+// /**
+// * 定时采集冷量计
+// *
+// * @throws Exception
+// */
+// public void collectionCloud() throws Exception {
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "1");
+// params.put("name", "cloud");
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// //每 2 分钟 执行一次
+// addCronJobReq.setDate("25 0/2 * * * ?");
+//// addCronJobReq.setDate("0/5 * * * * ?");
+// addCronJobReq.setJobClass("JobCloud");
+// addCronJobReq.setJobGroupName("JobCloudGroup");
+// addCronJobReq.setJobName("Cloud");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerCloudGroup");
+// addCronJobReq.setTriggerName("triggerCloud");
+// quartzManager.addCronJob(addCronJobReq);
+// }
+// /**
+// * 定时采集电表
+// *
+// * @throws Exception
+// */
+// public void collectionMeter() throws Exception {
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "2");
+// params.put("name", "meter");
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// //每 3 分钟 执行一次
+// addCronJobReq.setDate("35 0/2 * * * ?");
+//// addCronJobReq.setDate("0/20 * * * * ?");
+// addCronJobReq.setJobClass("JobMeter");
+// addCronJobReq.setJobGroupName("JobMeterGroup");
+// addCronJobReq.setJobName("Meter");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerMeterGroup");
+// addCronJobReq.setTriggerName("triggerMeter");
+// quartzManager.addCronJob(addCronJobReq);
+// }
+//
+// /**
+// * 定时采集DDC设备
+// *
+// * @throws Exception
+// */
+// public void collectionDDC() throws Exception {
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "3");
+// params.put("name", "ddc");
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// //每 1分钟 执行一次
+//// addCronJobReq.setDate("3,33 * * * * ?");
+// addCronJobReq.setDate("45 0/1 * * * ?");
+// addCronJobReq.setJobClass("JobDDC");
+// addCronJobReq.setJobGroupName("JobDDCGroup");
+// addCronJobReq.setJobName("DDC");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerDDCGroup");
+// addCronJobReq.setTriggerName("triggerDDC");
+// quartzManager.addCronJob(addCronJobReq);
+// }
+//
+// /**
+// * 定时采集冷水机组设备
+// *
+// * @throws Exception
+// */
+// public void collectionChillers() throws Exception {
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "4");
+// params.put("name", "chillers");
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// //每3分钟 执行一次
+// addCronJobReq.setDate("55 0/2 * * * ? ");
+//// addCronJobReq.setDate("0/30 * * * * ?");
+// addCronJobReq.setJobClass("JobChillers");
+// addCronJobReq.setJobGroupName("JobChillersGroup");
+// addCronJobReq.setJobName("Chillers");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerChillersGroup");
+// addCronJobReq.setTriggerName("triggerChillers");
+// quartzManager.addCronJob(addCronJobReq);
+// }
+//
+// /**
+// * 4分钟,采集第二个冷水机组数据
+// */
+// public void collectionChillers1() {
+// // 执行定义的定时采集程序
+// Map params = new HashMap<>();
+// params.put("id", "5");
+// params.put("name", "chillers1");
+// AddCronJobReq addCronJobReq = new AddCronJobReq();
+// //每 4分钟 执行一次
+// addCronJobReq.setDate("0 0/5 * * * ? ");
+//// addCronJobReq.setDate("0/30 * * * * ?");
+// addCronJobReq.setJobClass("JobChillers1");
+// addCronJobReq.setJobGroupName("JobChillersGroup1");
+// addCronJobReq.setJobName("Chillers1");
+// addCronJobReq.setParams(params);
+// addCronJobReq.setTriggerGroupName("triggerChillersGroup1");
+// addCronJobReq.setTriggerName("triggerChillers1");
+// try {
+// quartzManager.addCronJob(addCronJobReq);
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+//
+// public void testSerialPort(){
+//
+// String portname = "COM7";
+// //TestA();
+// //查看所有串口
+// SerialPortUtil serialPortUtil = SerialPortUtil.getSerialPortUtil();
+// ArrayList port = serialPortUtil.findPort();
+// System.out.println("发现全部串口:" + port);
+//
+// System.out.println("打开指定portname:" + portname);
+// //打开该对应portname名字的串口
+// CollectionLoopRunner.serialPort = serialPortUtil.openPort(portname, 2400, SerialPort.DATABITS_8, SerialPort.PARITY_EVEN, SerialPort.PARITY_ODD);
+//
+// byte[] HEX = SerialPortListener.hexStr2Byte("FEFEFE6810398710810000000103901F007C16");
+// serialPortUtil.sendToPort(CollectionLoopRunner.serialPort, HEX);
+//
+// //给对应的serialPort添加监听器
+// serialPortUtil.addListener(CollectionLoopRunner.serialPort, new SerialPortListener());
+//
+// }
+//
+// public void plcAnalytic() {
+// String portName = "COM1";
+// //查看所有串口
+// SerialPortUtil serialPortUtil = SerialPortUtil.getSerialPortUtil();
+// //打开该对应portName名字的串口
+// if (CollectionLoopRunner.serialPort == null) {
+// CollectionLoopRunner.serialPort = serialPortUtil.openPort(portName, 19200, SerialPort.DATABITS_8, SerialPort.PARITY_NONE, SerialPort.PARITY_ODD);
+// byte[] hex = SerialPortListener.hexStr2Byte("A55A230000000022".replaceAll("\\s*", ""));
+// serialPortUtil.sendToPort(CollectionLoopRunner.serialPort, hex);
+//
+// //给对应的serialPort添加监听器-->设置串口的Listener
+// SerialPortUtil.setListenerToSerialPort(CollectionLoopRunner.serialPort, serialPortEvent -> {
+// if (serialPortEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
+// byte[] bytes = serialPortUtil.readFromPort(CollectionLoopRunner.serialPort);
+//
+// String needData = SerialPortListener.printHexString(bytes);
+//
+// //数据校验 校验数据长度、起始5A A5、数据sum位
+//// if (PlcUtil.makeChecksum(needData)) {
+//// //数据解析方法 此处编写你的解析方法,根据获取到的数据编写适合自己的方法
+//// }
+// }
+// });
+// }
+// }
+
}
diff --git a/user-service/src/main/java/com/mh/user/netty/EchoServer.java b/user-service/src/main/java/com/mh/user/netty/EchoServer.java
index 2acfac5..ef989f8 100644
--- a/user-service/src/main/java/com/mh/user/netty/EchoServer.java
+++ b/user-service/src/main/java/com/mh/user/netty/EchoServer.java
@@ -1,12 +1,10 @@
package com.mh.user.netty;
-import com.mh.user.UserServiceApplication;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelOption;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
-import lombok.extern.slf4j.Slf4j;
import org.apache.log4j.Logger;
public class EchoServer {
diff --git a/user-service/src/main/java/com/mh/user/netty/ServerChannelInitializer.java b/user-service/src/main/java/com/mh/user/netty/ServerChannelInitializer.java
index da9e03e..a66af56 100644
--- a/user-service/src/main/java/com/mh/user/netty/ServerChannelInitializer.java
+++ b/user-service/src/main/java/com/mh/user/netty/ServerChannelInitializer.java
@@ -25,7 +25,7 @@ public class ServerChannelInitializer extends ChannelInitializer{
// pipeline.addLast( new StringEncoder());
// 设置读写超时操作
// 入参说明: 读超时时间、写超时时间、所有类型的超时时间、时间格式
- pipeline.addLast(new IdleStateHandler(10, 0, 0, TimeUnit.SECONDS));
+ pipeline.addLast(new IdleStateHandler(40, 40, 40, TimeUnit.SECONDS));
//服务器的逻辑
pipeline.addLast("handler", new EchoServerHandler());
}
diff --git a/user-service/src/main/resources/bootstrap.yml b/user-service/src/main/resources/bootstrap.yml
index a703451..4530483 100644
--- a/user-service/src/main/resources/bootstrap.yml
+++ b/user-service/src/main/resources/bootstrap.yml
@@ -1,26 +1,17 @@
server:
port: 8766 #8764新珠江,8766广合科技,8767广大科技,8768珠江国际,8769保利山庄,8770东莞迎宾馆
spring:
+ application:
+ name: jnd-user-service
datasource:
name: druidDataSource
type: com.alibaba.druid.pool.DruidDataSource
druid:
#添加allowMultiQueries=true 在批量更新时才不会出错
-# url: jdbc:sqlserver://192.168.1.108:2012;DatabaseName=FSBG;allowMultiQueries=true
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# username: sa
-# password: mh@803
-## url: jdbc:sqlserver://120.25.220.177:32012;DatabaseName=M_CHWS;allowMultiQueries=true
- url: jdbc:sqlserver://120.25.220.177:32012;DatabaseName=mh_esi;allowMultiQueries=true
+ url: jdbc:sqlserver://111.230.50.186:32012;DatabaseName=mh_jnd;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- username: mh_sa
- password: mhtech@803
-
-# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CHWS;allowMultiQueries=true
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# username: chws
-# password: minghan123456@
-
+ username: jnd
+ password: Mh@803tech
filters: stat,wall,log4j,config
max-active: 100
initial-size: 1
@@ -37,19 +28,16 @@ spring:
max-pool-prepared-statement-per-connection-size: 50
rabbitmq:
- host: 159.75.86.232
+ host: 127.0.0.1
port: 5672
- username: ningxr
- password: ningxr123456
- virtual-host: /ning_host
- template:
- retry:
- enabled: true
- initial-interval: 10000ms
- max-interval: 300000ms
- multiplier: 2
- exchange: topic.exchange
- publisher-confirms: true
+ username: guest
+ password: guest
+ virtual-host: /jnd
+ listener:
+ direct:
+ prefetch: 2
+ simple:
+ prefetch: 2
# redis:
# database: 0
@@ -99,14 +87,14 @@ log:
#设置将SQL语句打印到控制台 level后面是 mybatis接口目录
logging:
-# level:
-# com:
-# mh:
-# user:
-# mapper: DEBUG
+ level:
+ com:
+ mh:
+ user:
+ mapper: DEBUG
file:
max-size: 30
-
+ path: logs/${spring.application.name}
##软件最后更新日期20230116
diff --git a/user-service/src/main/resources/logback-spring.xml b/user-service/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..01ece4a
--- /dev/null
+++ b/user-service/src/main/resources/logback-spring.xml
@@ -0,0 +1,83 @@
+
+
+ logs
+
+
+
+
+
+
+
+
+
+
+
+
+ ${log.colorPattern}
+
+
+
+
+
+
+ ${log.path}/info/info.%d{yyyy-MM-dd}.log
+ ${log.maxHistory}
+
+
+ ${log.pattern}
+
+
+ INFO
+ ACCEPT
+ DENY
+
+
+
+
+
+ ${log.path}/error/error.%d{yyyy-MM-dd}.log
+
+
+ ${log.pattern}
+
+
+ ERROR
+ ACCEPT
+ DENY
+
+
+
+
+
+
+ ${log.path}/info/info.mapper.%d{yyyy-MM-dd}.log
+ ${log.maxHistory}
+
+
+ ${log.pattern}
+
+
+ trace
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file