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