From 030af2dc0eed880fe4c75708b92a4b0d7c1cb135 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期一, 22 七月 2024 16:50:22 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java                |   80 ++++++++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsMonthListener.java |   59 ++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java                    |   13 ++
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java            |    2 
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml                                                    |    4 
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java                                 |    1 
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java           |    9 +
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                                       |    7 +
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java           |    2 
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java                |    4 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java    |   22 +++++
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java                       |    1 
 12 files changed, 193 insertions(+), 11 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 6e0fed0..edea437 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -149,3 +149,10 @@
         - /sso/sso
         - /remote/comRes/receive
         - /wx/comRes/receive
+#鑷姩缁熻閰嶇疆
+auto-statistics:
+    #鏈堢粺璁�
+    month:
+        startDay: 1
+        startHour: 0
+        startMinute: 5
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
index 0c0db5f..1c5f8aa 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
@@ -58,69 +58,91 @@
         if(obj instanceof DataCd97Vo){
             DataCd97Vo vo = (DataCd97Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd98Vo){
             DataCd98Vo vo = (DataCd98Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd92Vo){
             DataCd92Vo vo = (DataCd92Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd93Vo){
             DataCd93Vo vo = (DataCd93Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd3AAnd6AVo){
             DataCd3AAnd6AVo vo = (DataCd3AAnd6AVo)obj ;
             po.setResultText(vo.comLog(code));
+            log.info("----------------------------------\n" + vo.comLog(code));
         }else if(obj instanceof DataCd3BAnd6BVo){
             DataCd3BAnd6BVo vo = (DataCd3BAnd6BVo)obj ;
             po.setResultText(vo.comLog(code));
+            log.info("----------------------------------\n" + vo.comLog(code));
         }else if(obj instanceof DataCd3BAnd6BVo){
             DataCd3CAnd65Vo vo = (DataCd3CAnd65Vo)obj ;
             po.setResultText(vo.comLog(code));
+            log.info("----------------------------------\n" + vo.comLog(code));
         }else if(obj instanceof DataCd3DVo){
             DataCd3DVo vo = (DataCd3DVo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd3EVo){
             DataCd3EVo vo = (DataCd3EVo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd5EVo){
             DataCd5EVo vo = (DataCd5EVo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd6CVo){
             DataCd6CVo vo = (DataCd6CVo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd10Vo){
             DataCd10Vo vo = (DataCd10Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd21Vo){
             DataCd21Vo vo = (DataCd21Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd36Vo){
             DataCd36Vo vo = (DataCd36Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd37And67Vo){
             DataCd37And67Vo vo = (DataCd37And67Vo)obj ;
             po.setResultText(vo.comLog(code));
+            log.info("----------------------------------\n" + vo.comLog(code));
         }else if(obj instanceof DataCd38And68Vo){
             DataCd38And68Vo vo = (DataCd38And68Vo)obj ;
             po.setResultText(vo.comLog(code));
+            log.info("----------------------------------\n" + vo.comLog(code));
         }else if(obj instanceof DataCd39And69Vo){
             DataCd39And69Vo vo = (DataCd39And69Vo)obj ;
             po.setResultText(vo.comLog(code));
+            log.info("----------------------------------\n" + vo.comLog(code));
         }else if(obj instanceof DataCd51Vo){
             DataCd51Vo vo = (DataCd51Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd66Vo){
             DataCd66Vo vo = (DataCd66Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd71Vo){
             DataCd71Vo vo = (DataCd71Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCd99Vo){
             DataCd99Vo vo = (DataCd99Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }else if(obj instanceof DataCdA0Vo){
             DataCdA0Vo vo = (DataCdA0Vo)obj ;
             po.setResultText(vo.comLog());
+            log.info("----------------------------------\n" + vo.comLog());
         }
         return po ;
     }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java
index a7da4eb..6dd6f12 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java
@@ -92,6 +92,7 @@
             // ///////////////
             // 鍩虹閰嶇疆
             ServerProperties.rtuAddr = conf.getSetAttrTxt(doc, "config.base", "rtuAddr", null, false, null);
+            ServerProperties.onlyOneHeartBeat = conf.getSetAttrBoolean(doc, "config.base", "onlyOneHeartBeat",  null, null);
             ServerProperties.icCardAddr = conf.getSetAttrTxt(doc, "config.base", "icCardAddr", null, false, null);
             ServerProperties.icCardNo = conf.getSetAttrTxt(doc, "config.base", "icCardNo", null, false, null);
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java
index 229a7c7..2af487d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/ServerProperties.java
@@ -7,6 +7,7 @@
  */
 public class ServerProperties {
     public static String rtuAddr ;
+    public static Boolean onlyOneHeartBeat ;
     public static String icCardAddr ;
     public static String icCardNo ;
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java
index 6c9ad33..7518550 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java
@@ -1,6 +1,7 @@
 package com.dy.pipIrrMwTestRtu.p206V1_0_0;
 
 import com.dy.common.webUtil.BaseResponse;
+import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd38;
 import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd83Close;
 import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd83Open;
 import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd84;
@@ -23,11 +24,13 @@
     @GetMapping(path = "test")
     public BaseResponse<String> test(String com) {
         if(com.equals("83Open")){
-            UpCd83Open.upCd83Data();
+            UpCd83Open.upData();
         }else if(com.equals("83Close")){
-            UpCd83Close.upCd83Data();
+            UpCd83Close.upData();
         }else if(com.equals("84")){
-            UpCd84.upCd84Data();
+            UpCd84.upData();
+        }else if(com.equals("38")){
+            UpCd38.upData();
         }
         BaseResponse<String> rt = new BaseResponse<String>() ;
         rt.setCode("001") ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java
index d698a66..6d8eced 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java
@@ -108,13 +108,22 @@
         new Thread(new Runnable(){
             @Override
             public void run() {
-                while(true){
+                if(ServerProperties.onlyOneHeartBeat){
                     try {
                         UpHeartBeat.upCd02Data(ServerProperties.rtuAddr);
                         Thread.sleep(30000L);
                         //Thread.sleep(30000000L);
                     }catch (Exception e){
-                        continue;
+                    }
+                }else{
+                    while(true){
+                        try {
+                            UpHeartBeat.upCd02Data(ServerProperties.rtuAddr);
+                            Thread.sleep(30000L);
+                            //Thread.sleep(30000000L);
+                        }catch (Exception e){
+                            continue;
+                        }
                     }
                 }
             }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java
new file mode 100644
index 0000000..6a1deab
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd38.java
@@ -0,0 +1,80 @@
+package com.dy.pipIrrMwTestRtu.tcpClient.upData;
+
+import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.DateTime;
+import com.dy.pipIrrMwTestRtu.ServerProperties;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/7/22 15:01
+ * @Description
+ */
+public class UpCd38 extends UpData {
+
+    private static final Logger log = LogManager.getLogger(UpCd38.class);
+
+    public static void upData() {
+        try {
+            if (UpData.session != null && UpData.session.isConnected()) {
+                byte[] bs = createData(ServerProperties.rtuAddr);
+                UpData.upSend(bs);
+            } else {
+                log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�");
+            }
+        } catch (Exception e) {
+            log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e);
+        }
+    }
+
+
+    /**
+     * 鏋勯�犳暟鎹�
+     *
+     * @return 瀛楄妭鏁扮粍
+     * @throws Exception 寮傚父
+     */
+    private static byte[] createData(String rtuAddr) throws Exception {
+        byte[] bytes = creatHead(rtuAddr, "38", (byte)0xB0);
+
+        byte[] bs = new byte[1] ;
+        bs[0] = (byte)0x00 ;//鎶ヨ閲戦楂樹綅
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[1] ;
+        ByteUtil.int2BCD_LE(40, bs, 0);
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+
+        bs = new byte[1] ;//绉掗挓
+        ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.ss()), bs, 0);
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[1] ;//鍒嗛挓
+        ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.mm()), bs, 0);
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[1] ;//鏃堕挓
+        ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.HH()), bs, 0);
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[1] ;//鏃�
+        ByteUtil.int2BCD_LE(Integer.parseInt(DateTime.dd()), bs, 0);
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[]{(byte)0x0A} ;//
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓�
+
+        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+        return bytes ;
+    }
+}
+
+
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java
index 05a43a0..4f30f01 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java
@@ -15,7 +15,7 @@
 
     private static final Logger log = LogManager.getLogger(UpCd83Close.class);
 
-    public static void upCd83Data() {
+    public static void upData() {
         try {
             if (UpData.session != null && UpData.session.isConnected()) {
                 byte[] bs = createData(ServerProperties.rtuAddr);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java
index d2dad7c..c7c4eae 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java
@@ -16,7 +16,7 @@
 
     private static final Logger log = LogManager.getLogger(UpCd83Open.class);
 
-    public static void upCd83Data() {
+    public static void upData() {
         try {
             if (UpData.session != null && UpData.session.isConnected()) {
                 byte[] bs = createData(ServerProperties.rtuAddr);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java
index c015151..3c70638 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java
@@ -15,7 +15,7 @@
 
     private static final Logger log = LogManager.getLogger(UpCd84.class);
 
-    public static void upCd84Data() {
+    public static void upData() {
         try {
             if (UpData.session != null && UpData.session.isConnected()) {
                 byte[] bs = createData(ServerProperties.rtuAddr);
@@ -30,7 +30,7 @@
 
 
     /**
-     * 鏋勯�犲績璺虫暟鎹�
+     * 鏋勯�犳暟鎹�
      *
      * @return 瀛楄妭鏁扮粍
      * @throws Exception 寮傚父
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml
index d2541cf..58f8a1d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml
@@ -2,7 +2,7 @@
 <config>
 	<server name="RTU妯℃嫙鍣�" showStartInfo="true" company="http://www.dyjs.com"/>
 
-	<base rtuAddr="532328059995" icCardAddr="3B7D1E1A" icCardNo="61181622830147821"></base>
+	<base rtuAddr="532328059995" onlyOneHeartBeat="true" icCardAddr="3B7D1E1A" icCardNo="61181622830147821"></base>
 	<!-- -->
-	<tcpCl mwServerIp="127.0.0.1" mwServerPort="60000" connectTimeout="3000" />
+	<tcpCl mwServerIp="192.168.40.182" mwServerPort="60000" connectTimeout="3000" />
 </config>		
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsMonthListener.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsMonthListener.java
new file mode 100644
index 0000000..c41f507
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsMonthListener.java
@@ -0,0 +1,59 @@
+package com.dy.pipIrrStatistics.listeners;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/7/22 14:39
+ * @Description
+ */
+
+import com.dy.common.util.ConfigXml;
+import com.dy.common.webListener.ConfigListener;
+import org.jdom2.Document;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.ApplicationListener;
+import org.springframework.lang.NonNull;
+import org.springframework.stereotype.Component;
+
+import java.net.URL;
+
+/**
+ * 鐩戝惉鍣紝瀹炵幇鍔熻兘锛氬湪绯荤粺鍚姩鏃跺垵濮嬪寲锛屽悜鏁版嵁搴撲腑鎻掑叆鏁版嵁
+ * 鏈洃鍚櫒涓嶈兘閲囩敤ServletContextListener鏂瑰紡锛屽洜涓篠ervlet涓婁笅鏂嘋ontext鍒涘缓鍚�
+ * Spring瀹瑰櫒骞舵病鏈夊垱寤哄畬锛岃�屾湰绫讳腑鐢ㄤ簡Spring瀹瑰櫒涓殑Bean锛屽嵆*Dao 銆�
+ * 鎵�浠ラ噰鐢ㄤ簡Spring浜嬩欢鐩戝惉鍣ㄦ潵瀹炵幇
+ */
+@Component
+public class StatisticsMonthListener implements ApplicationListener<ApplicationReadyEvent> {
+
+    @Value("${auto-statistics.month.startDay: 1}")
+    private Integer startDay ;//鏈堢粺璁″紑濮嬫棩鏈�
+
+    @Value("${auto-statistics.month.startHour: 0}")
+    private Integer startHour ;//鏈堢粺璁″紑濮嬪皬鏃�
+
+    @Value("${auto-statistics.month.startMinute: 5}")
+    private Integer startMinute ;//鏈堢粺璁″紑濮嬪垎閽�
+
+    /**
+     * SpringBoot瀹瑰櫒宸茬粡鍑嗗濂戒簡
+     * @param event 浜嬩欢
+     */
+    @Override
+    public void onApplicationEvent(@NonNull ApplicationReadyEvent event) {
+        try {
+            //绛�1绉掞紝绛夊緟com.alibaba.druid.pool.DruidDataSource瀹炲鍖栧畬鎴�
+            Thread.sleep(1000L);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }finally {
+            this.start(event);
+        }
+    }
+    /**
+     * 瀹炲鍖�
+     */
+    private void start(ApplicationReadyEvent event){
+
+    }
+}

--
Gitblit v1.8.0