From bafb6d7ee1e434097d9412a2d63ab6960ca4062d Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 22 七月 2024 16:25:08 +0800
Subject: [PATCH] 实现月统计Listener

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsMonthListener.java |   68 ++++++++++++++++++++++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                                       |    7 +++
 2 files changed, 75 insertions(+), 0 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 eee1c2a..532612b 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-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..1967ecd
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsMonthListener.java
@@ -0,0 +1,68 @@
+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){
+        try {
+            URL configFileURL = ConfigListener.class.getResource("/init-config.xml" );
+            ConfigXml configXml = new ConfigXml() ;
+            Document doc = configXml.createDom(configFileURL) ;
+            this.doInit(configXml, doc);
+        } catch (Exception e) {
+            System.out.println("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !");
+            System.out.println(e.getMessage());
+            e.printStackTrace();
+        }
+    }
+}

--
Gitblit v1.8.0