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