From 3b5d642459af24fa3cad7536edee230989e01d4c Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 24 七月 2024 14:02:23 +0800
Subject: [PATCH] 机构标签与名称去掉枚举实现方式,改为全部从配置文件中得到。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java                                 |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java                                  |   77 ++++--------------
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLossSv.java |    9 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java                           |    4 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/OrgListenerSupport.java                   |   56 ++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java              |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/util/SsoListener.java                       |   29 ++++---
 pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml                                               |    8 +-
 8 files changed, 107 insertions(+), 80 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
index fa3fdc0..5e3341f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
@@ -1,67 +1,28 @@
 package com.dy.pipIrrGlobal.util;
 
-
-import com.alibaba.fastjson2.JSONObject;
-import com.alibaba.fastjson2.annotation.JSONField;
-import com.baomidou.mybatisplus.annotation.EnumValue;
-
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-public enum Org {
-
-//    Ym("ym", "鍏冭皨"),
-//    Pj("pj", "鐗囪闀�"),
-    Sp("sp", "娌欑洏"),
-    Jyg("ym", "鍢夊唱鍏�");
-
-    @EnumValue
-    public String tag ;
-    public String name ;
-
-    Org(String tag, String name){
-        this.tag = tag ;
-        this.name = name ;
-    }
+/**
+ * @Author: liurunyu
+ * @Date: 2024/7/24 11:45
+ * @Description
+ */
+public class Org {
     //鐢ㄦ潵杞琷son
-    public static List<Map> OrgList = new ArrayList<>();
-    static {
-        Org[] all = Org.values();
-        for (Org one : all) {
-            Map<String, String> objMap = new HashMap<>();
-            objMap.put("tag", one.tag);
-            objMap.put("name", one.name);
-            OrgList.add(objMap) ;
+    public static List<OrgVo> OrgList = new ArrayList<>();
+
+    public class OrgVo{
+        public String tag ;
+        public String name ;
+
+        public String getTag() {
+            return this.tag ;
+        }
+
+        public String getName() {
+            return this.name ;
         }
     }
-
-    public String getTag() {
-        return this.tag ;
-    }
-
-    public String getName() {
-        return this.name ;
-    }
-
-    public static Org get(String tag){
-//        if(tag.equals(Ym.tag) || tag.equals(Jyg.tag)){
-//            return Ym ;
-//        }else if(tag.equals(Pj.tag)){
-//            return Pj ;
-//        }
-        if(tag.equals(Jyg.tag)){
-            return Jyg ;
-        }else if(tag.equals(Sp.tag)) {
-            return Sp;
-        }
-        return null ;
-    }
-
-
-    @JSONField
-    public JSONObject toJson() {
-        return JSONObject.of("tag", getTag(), "name", getName());
-    }
-}
\ No newline at end of file
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/OrgListenerSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/OrgListenerSupport.java
new file mode 100644
index 0000000..d4c1c14
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/OrgListenerSupport.java
@@ -0,0 +1,56 @@
+package com.dy.pipIrrGlobal.util;
+
+import com.dy.common.util.ConfigXml;
+import com.dy.common.webListener.ConfigListener;
+import org.jdom2.Document;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+
+import java.net.URL;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/7/24 13:41
+ * @Description
+ */
+public abstract class OrgListenerSupport {
+
+    /**
+     * 瀹炲鍖�
+     */
+    @SuppressWarnings("unused ")
+    protected void init() {
+        this.init(null);
+    }
+    /**
+     * 瀹炲鍖�
+     */
+    @SuppressWarnings("unused ")
+    protected void init(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();
+        }
+    }
+    private void doInit(ConfigXml configXml, Document doc) throws Exception {
+        if (configXml != null && doc != null) {
+            for (int num = 1; num <= 10000; num++) {
+                if (configXml.existElement(doc, "config.orgs.org" + num)) {
+                    String orgTag = configXml.getSetAttrTxt(doc, "config.orgs.org" + num, "tag", null, false, null);
+                    String orgName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num, "name", null, false, null);
+                    Org.OrgVo vo = new Org().new OrgVo() ;
+                    vo.tag = orgTag ;
+                    vo.name = orgName ;
+                    Org.OrgList.add(vo) ;
+                }else{
+                    break ;
+                }
+            }
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
index 2302751..e346337 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
@@ -2,7 +2,7 @@
 <config>
     <orgs>
         <!-- 澶氫釜缁勭粐锛岀敤缂栧彿鍖哄垎锛岀紪鍙蜂粠1寮�濮� -->
-        <org1 name="ym">
+        <org1 tag="ym" name="鍏冭皨">
             <districts>
                 <province name="浜戝崡鐪�" num="53" level="1">
                     <city name="妤氶泟褰濇棌鑷不宸�" num="23" level="2">
@@ -18,8 +18,8 @@
                 <item4 name="閾惰杞处"/>
             </payments>
             <settings>
-                    <item1 item_name="lng" item_value="101.87345" remarks="缁忓害"/>
-                    <item2 item_name="lat" item_value="25.70424" remarks="绾害"/>
+                <item1 item_name="lng" item_value="101.87345" remarks="缁忓害"/>
+                <item2 item_name="lat" item_value="25.70424" remarks="绾害"/>
             </settings>
             <waterTypes>
                 <item1 typeName="鐏屾簤鐢ㄦ按"/>
@@ -29,7 +29,7 @@
                 <item5 typeName="缁垮寲鐢ㄦ按"/>
             </waterTypes>
         </org1>
-        <org2 name="sp">
+        <org2 tag="sp" name="娌欑洏">
             <districts>
                 <province name="澶╂触" num="53" level="1">
                     <city name="澶╂触甯�" num="23" level="2">
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
index 4a09b04..2dd5d45 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
@@ -189,7 +189,7 @@
 
 			//宸ヤ綔鎶ュお棰戠箒锛孨娆′笂鎶ュ鐞�1娆★紝鍙栧�艰寖鍥存槸1-100
 			ServerProperties.workReportDealOneByTimes =  conf.getSetAttrPlusInt(doc, "config.base", "workReportDealOneByTimes", null, 1, 100, null) ;
-			if(ServerProperties.workReportDealOneByTimes < 1 || ServerProperties.disconnectedByNoUpDataMinutes > 100){
+			if(ServerProperties.workReportDealOneByTimes < 1 || ServerProperties.workReportDealOneByTimes > 100){
 				throw new Exception("workReportDealOneByTimes鍙栧�煎繀椤绘槸1~100") ;
 			}
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
index fd569a6..6c87c31 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
@@ -103,7 +103,7 @@
         if(configXml != null && doc != null){
             for(int num = 1; num <= 10000; num++){
                 if(configXml.existElement(doc, "config.orgs.org" + num)){
-                    String orgTag = configXml.getSetAttrTxt(doc, "config.orgs.org" + num,"name", null, false, null) ;
+                    String orgTag = configXml.getSetAttrTxt(doc, "config.orgs.org" + num,"tag", null, false, null) ;
                     //璁剧疆鏁版嵁婧�
                     DataSourceContext.set(orgTag);
                     if(!this.existDistricts()){
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
index e2ab54b..b15cb61 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
@@ -29,8 +29,6 @@
 import java.util.Objects;
 import java.util.UUID;
 
-//import org.springframework.cache.CacheManager;
-
 /**
  * 娉ㄨВTag 鍦ˋPI涓樉绀猴細 Tag 娉ㄨВ, 缁欐暣涓帴鍙h捣浜嗕釜鍚嶅瓧涓庢弿杩�"
  * 娉ㄨВApiResponses 鍜� 娉ㄨВApiResponse 鐢ㄦ潵閰嶇疆鍝嶅簲锛�
@@ -70,7 +68,7 @@
             )
     })
     @GetMapping(path = "allOrg")
-    public BaseResponse<List<Org>> allOrg(){
+    public BaseResponse<List<Org.OrgVo>> allOrg(){
         //List<Org> list = Arrays.asList(Org.Ym, Org.Pj) ;
         return BaseResponseUtils.buildSuccess(Org.OrgList);
     }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/util/SsoListener.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/util/SsoListener.java
index 9098e5b..5f6339c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/util/SsoListener.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/util/SsoListener.java
@@ -1,22 +1,25 @@
 package com.dy.sso.util;
 
-import jakarta.servlet.ServletContext;
-import jakarta.servlet.ServletContextEvent;
-import jakarta.servlet.ServletContextListener;
-import lombok.extern.slf4j.Slf4j;
+import com.dy.pipIrrGlobal.util.OrgListenerSupport;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
 
-@Slf4j
-public class SsoListener implements ServletContextListener {
+@Component
+public class SsoListener extends OrgListenerSupport implements ApplicationListener<ApplicationReadyEvent> {
+
 
     @Override
-    public void contextInitialized(ServletContextEvent event) {
-        ServletContextListener.super.contextInitialized(event);
-        ServletContext con = event.getServletContext();
+    public void onApplicationEvent(ApplicationReadyEvent event) {
+        try {
+            //绛�1绉掞紝绛夊緟com.alibaba.druid.pool.DruidDataSource瀹炲鍖栧畬鎴�
+            Thread.sleep(1000L);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        } finally {
+            super.init();
+        }
     }
 
-    @Override
-    public void contextDestroyed(ServletContextEvent event) {
-        ServletContextListener.super.contextDestroyed(event);
-    }
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLossSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLossSv.java
new file mode 100644
index 0000000..9b6ab74
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLossSv.java
@@ -0,0 +1,9 @@
+package com.dy.pipIrrStatistics.listeners;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/7/24 11:24
+ * @Description
+ */
+public class StLossSv {
+}

--
Gitblit v1.8.0