From c70b92da60c0d00625da5fc2369b475e69e0b88e Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 22 八月 2024 11:36:41 +0800 Subject: [PATCH] 1、完善代码和application.yml配置文件,去掉不用的引入文件; 2、init-config.xml配置中增加属性 enable,相应解析类也增加了解析与判断; 3、凡是有Server的应用,加载资源方式改为用springboot的工具类加载; 4、通信协议相关的扫描注解功能实现改为采用reflections-0.10.2,以实现可以在jar包情况下能够扫描类(.class)注解。 --- pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java | 188 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 143 insertions(+), 45 deletions(-) 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 67f6940..11c4f8a 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 @@ -3,24 +3,26 @@ import com.dy.common.multiDataSource.DataSourceContext; import com.dy.common.mybatis.envm.Deleted; import com.dy.common.mybatis.envm.Disabled; -import com.dy.common.util.ConfigXml; +import com.dy.common.util.ConfigXml4Springboot; import com.dy.common.util.MD5; -import com.dy.common.webListener.ConfigListener; import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; +import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; import com.dy.pipIrrGlobal.daoBa.BaUserMapper; import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper; +import com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper; import com.dy.pipIrrGlobal.pojoBa.BaDistrict; +import com.dy.pipIrrGlobal.pojoBa.BaSettings; import com.dy.pipIrrGlobal.pojoBa.BaUser; import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod; +import com.dy.pipIrrGlobal.pojoSe.SeWaterType; import com.dy.pipIrrGlobal.util.DistrictLevel; import org.jdom2.Document; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; +import org.springframework.core.io.ResourceLoader; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; - -import java.net.URL; /** * 鐩戝惉鍣紝瀹炵幇鍔熻兘锛氬湪绯荤粺鍚姩鏃跺垵濮嬪寲锛屽悜鏁版嵁搴撲腑鎻掑叆鏁版嵁 @@ -31,9 +33,18 @@ @Component public class InitListener implements ApplicationListener<ApplicationReadyEvent> { + protected ResourceLoader resourceLoader ; + private BaDistrictMapper distriDao ; private BaUserMapper userDao ; private SePaymentMethodMapper paymentMethodDao ; + private BaSettingsMapper settingsDao ; + private SeWaterTypeMapper waterTypeDao ; + + @Autowired + public void setResourceLoader(ResourceLoader resourceLoader){ + this.resourceLoader = resourceLoader ; + } @Autowired public void setDistriDao(BaDistrictMapper distriDao){ @@ -48,6 +59,16 @@ @Autowired public void setPaymentDao(SePaymentMethodMapper paymentMethodDao){ this.paymentMethodDao = paymentMethodDao ; + } + + @Autowired + public void setSettingsDao(BaSettingsMapper settingsDao){ + this.settingsDao = settingsDao ; + } + + @Autowired + public void setWaterTypeDao(SeWaterTypeMapper waterTypeDao){ + this.waterTypeDao = waterTypeDao ; } @@ -73,9 +94,8 @@ @SuppressWarnings("unused ") private void init(ApplicationReadyEvent event){ try { - URL configFileURL = ConfigListener.class.getResource("/init-config.xml" ); - ConfigXml configXml = new ConfigXml() ; - Document doc = configXml.createDom(configFileURL) ; + ConfigXml4Springboot configXml = new ConfigXml4Springboot() ; + Document doc = configXml.createDom(this.resourceLoader, "init-config.xml") ; this.doInit(configXml, doc); } catch (Exception e) { System.out.println("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !"); @@ -83,50 +103,79 @@ e.printStackTrace(); } } - private void doInit(ConfigXml configXml, Document doc) throws Exception{ + private void doInit(ConfigXml4Springboot 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,"name", null, false, null) ; - //璁剧疆鏁版嵁婧� - DataSourceContext.set(orgTag); - if(!this.existDistricts()){ - if(configXml.existElement(doc, "config.orgs.org" + num + ".districts.province")){ - String distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province","name", null, false, null) ; - String distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province","num", null, false, null) ; - Integer distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province","level", null, 1, 99,null) ; - Long supperId = this.saveDistrict(null, distriName, distriNum, distriLevel); - if(supperId != null && configXml.existElement(doc, "config.orgs.org" + num + ".districts.province.city")){ - distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city","name", null, false, null) ; - distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city","num", null, false, null) ; - distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province.city","level", null, 1, 99,null) ; - supperId = this.saveDistrict(supperId, distriName, distriNum, distriLevel); - if(supperId != null && configXml.existElement(doc, "config.orgs.org" + num + ".districts.province.city.country")) { - distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city.country", "name", null, false, null); - distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city.country", "num", null, false, null); - distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province.city.country", "level", null, 1, 99, null); - this.saveDistrict(supperId, distriName, distriNum, distriLevel); + String orgTag = configXml.getSetAttrTxt(doc, "config.orgs.org" + num,"tag", null, false, null) ; + Boolean enable = configXml.getSetAttrBoolean(doc, "config.orgs.org" + num, "enable", null, null); + if(enable != null && enable.booleanValue()){ + //璁剧疆鏁版嵁婧� + DataSourceContext.set(orgTag); + if(!this.existDistricts()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".districts.province")){ + String distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province","name", null, false, null) ; + String distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province","num", null, false, null) ; + Integer distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province","level", null, 0, 99,null) ; + Long supperId = this.saveDistrict(null, distriName, distriNum, distriLevel); + if(supperId != null && configXml.existElement(doc, "config.orgs.org" + num + ".districts.province.city")){ + distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city","name", null, false, null) ; + distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city","num", null, false, null) ; + distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province.city","level", null, 1, 99,null) ; + supperId = this.saveDistrict(supperId, distriName, distriNum, distriLevel); + if(supperId != null && configXml.existElement(doc, "config.orgs.org" + num + ".districts.province.city.country")) { + distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city.country", "name", null, false, null); + distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city.country", "num", null, false, null); + distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province.city.country", "level", null, 1, 99, null); + this.saveDistrict(supperId, distriName, distriNum, distriLevel); + } } } } - } - if(!this.existUsers()){ - if(configXml.existElement(doc, "config.orgs.org" + num + ".user")){ - String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","name", null, false, null) ; - String phone = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","phone", null, false, null) ; - String password = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","password", null, false, null) ; - Integer supperAdmin = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".user","supperAdmin", null, 0, 1,null) ; - this.saveUser(orgTag, name, phone, password, supperAdmin); + if(!this.existUsers()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".user")){ + String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","name", null, false, null) ; + String phone = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","phone", null, false, null) ; + String password = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","password", null, false, null) ; + Integer supperAdmin = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".user","supperAdmin", null, 0, 1,null) ; + this.saveUser(orgTag, name, phone, password, supperAdmin); + } } - } - if(!this.existPayments()){ - if(configXml.existElement(doc, "config.orgs.org" + num + ".payments")){ - for(int i = 1 ; i < 10000; i++){ - if(configXml.existElement(doc, "config.orgs.org" + num + ".payments.item" + i)){ - String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".payments.item" + i,"name", null, false, null) ; - this.savePayment(orgTag, name); - }else{ - break ; + if(!this.existPayments()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".payments")){ + for(int i = 1 ; i < 10000; i++){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".payments.item" + i)){ + String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".payments.item" + i,"name", null, false, null) ; + this.savePayment(orgTag, name); + }else{ + break ; + } + } + } + } + if(!this.existSettings()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".settings")){ + for(int i = 1 ; i < 10000; i++){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".settings.item" + i)){ + String item_name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"item_name", null, false, null) ; + String item_value = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"item_value", null, false, null) ; + String remarks = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"remarks", null, false, null) ; + this.saveSettings(orgTag, item_name, item_value, remarks); + }else{ + break ; + } + } + } + } + if(!this.existWaterTypes()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes")){ + for(int i = 1 ; i < 10000; i++){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes.item" + i)){ + String typeName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".waterTypes.item" + i,"typeName", null, false, null) ; + this.saveWaterType(orgTag, typeName); + }else{ + break ; + } } } } @@ -162,6 +211,24 @@ */ private boolean existPayments(){ Long total = this.paymentMethodDao.selectCount(null) ; + return (total != null && total > 0) ; + } + + /** + * 鏁版嵁搴撲腑鏄惁瀛樺湪绯荤粺閰嶇疆鏁版嵁 + * @return 瀛樺湪鍚� + */ + private boolean existSettings(){ + Long total = this.settingsDao.selectCount(null) ; + return (total != null && total > 0) ; + } + + /** + * 鏁版嵁搴撲腑鏄惁瀛樺湪鐢ㄦ按绫诲瀷鏁版嵁 + * @return 瀛樺湪鍚� + */ + private boolean existWaterTypes(){ + Long total = this.waterTypeDao.selectCount(null) ; return (total != null && total > 0) ; } @@ -224,10 +291,41 @@ SePaymentMethod po = new SePaymentMethod() ; po.setName(name); po.setDeleted(Deleted.NO.code); - this.paymentMethodDao.insertSelective(po) ; + this.paymentMethodDao.insert(po) ; + } + } + + /** + * 淇濆瓨绯荤粺閰嶇疆 + * @param item_name 閰嶇疆椤� + * @param item_value 閰嶇疆椤瑰�� + * @param remarks 澶囨敞淇℃伅 + * @throws Exception + */ + private void saveSettings(String orgTag,String item_name, String item_value,String remarks) throws Exception{ + if((item_name != null && !item_name.trim().equals("")) && + (item_value != null && !item_value.trim().equals("")) && + (remarks != null && !remarks.trim().equals(""))){ + BaSettings po = new BaSettings() ; + po.setItemName(item_name); + po.setItemValue(item_value); + po.setRemarks(remarks); + this.settingsDao.insert(po) ; } } + /** + * 淇濆瓨鐢ㄦ按绫诲瀷 + * @param orgTag 鏈烘瀯鏍囩 + * @param typeName 鍚嶇О + */ + private void saveWaterType(String orgTag, String typeName) throws Exception{ + if(typeName != null && !typeName.trim().equals("")){ + SeWaterType po = new SeWaterType() ; + po.setTypename(typeName); + this.waterTypeDao.insert(po) ; + } + } } -- Gitblit v1.8.0