From 2fec1051da5d9f3e5dbef812aa06b5db76792151 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 23 八月 2024 17:15:01 +0800 Subject: [PATCH] 2024-08-23 朱宝民 常用用水时长及用水量自动配置、获取接口 --- pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java | 175 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 112 insertions(+), 63 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 6c87c31..08dd62f 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,17 +3,18 @@ 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.daoRm.RmIrrigateProfileMapper; 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.pojoRm.RmIrrigateProfile; import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod; import com.dy.pipIrrGlobal.pojoSe.SeWaterType; import com.dy.pipIrrGlobal.util.DistrictLevel; @@ -21,10 +22,9 @@ 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; /** * 鐩戝惉鍣紝瀹炵幇鍔熻兘锛氬湪绯荤粺鍚姩鏃跺垵濮嬪寲锛屽悜鏁版嵁搴撲腑鎻掑叆鏁版嵁 @@ -35,11 +35,19 @@ @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 ; + private RmIrrigateProfileMapper rmIrrigateProfileDao; + + @Autowired + public void setResourceLoader(ResourceLoader resourceLoader){ + this.resourceLoader = resourceLoader ; + } @Autowired public void setDistriDao(BaDistrictMapper distriDao){ @@ -66,6 +74,10 @@ this.waterTypeDao = waterTypeDao ; } + @Autowired + public void setRmIrrigateProfileDao(RmIrrigateProfileMapper rmIrrigateProfileDao) { + this.rmIrrigateProfileDao = rmIrrigateProfileDao; + } /** * SpringBoot瀹瑰櫒宸茬粡鍑嗗濂戒簡 @@ -89,9 +101,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("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !"); @@ -99,76 +110,82 @@ 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,"tag", 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); + 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.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 ; + if(!this.existIrrigateProfile()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".irrigateProfile")){ + for(int i = 1 ; i < 10000; i++){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i)){ + String default_value = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"default_value", null, false, null) ; + String unit = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"unit", null, false, null) ; + String sort = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"sort", null, false, null) ; + String type = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"type", null, false, null) ; + this.saveIrrigateProfile(orgTag, default_value, unit,sort,type); + }else{ + break ; + } } } } @@ -222,6 +239,15 @@ */ private boolean existWaterTypes(){ Long total = this.waterTypeDao.selectCount(null) ; + return (total != null && total > 0) ; + } + + /** + * 鏁版嵁搴撲腑鏄惁瀛樺湪鐏屾簤閰嶇疆 + * @return + */ + private boolean existIrrigateProfile(){ + Long total = this.rmIrrigateProfileDao.selectCount(null) ; return (total != null && total > 0) ; } @@ -321,4 +347,27 @@ } } + /** + * 淇濆瓨鐏屾簤閰嶇疆 + * @param orgTag + * @param default_value + * @param unit + * @param sort + * @param type + * @throws Exception + */ + private void saveIrrigateProfile(String orgTag, String default_value, String unit, String sort, String type) throws Exception{ + if((default_value != null && !default_value.trim().equals("")) && + (unit != null && !unit.trim().equals("")) && + (sort != null && !sort.trim().equals("")) && + (type != null && !type.trim().equals(""))){ + RmIrrigateProfile po = new RmIrrigateProfile(); + po.setDefaultValue(Integer.parseInt(default_value)); + po.setUnit(Byte.valueOf(unit)); + po.setSort(Integer.parseInt(sort)); + po.setType(Byte.valueOf(type)); + this.rmIrrigateProfileDao.insert(po); + } + } + } -- Gitblit v1.8.0