From 7bce3a96c4a1a61a2c299be033c3fb798648ad78 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 22 十月 2024 15:05:49 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java | 403 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 363 insertions(+), 40 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 f3fd0d7..eaf3213 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,22 +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.BaUserMapper;
-import com.dy.pipIrrGlobal.pojoBa.BaDistrict;
-import com.dy.pipIrrGlobal.pojoBa.BaUser;
+import com.dy.pipIrrGlobal.daoBa.*;
+import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
+import com.dy.pipIrrGlobal.daoRm.RmIrrigateProfileMapper;
+import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper;
+import com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper;
+import com.dy.pipIrrGlobal.pojoBa.*;
+import com.dy.pipIrrGlobal.pojoPr.PrWaterPrice;
+import com.dy.pipIrrGlobal.pojoRm.RmIrrigateProfile;
+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;
/**
* 鐩戝惉鍣紝瀹炵幇鍔熻兘锛氬湪绯荤粺鍚姩鏃跺垵濮嬪寲锛屽悜鏁版嵁搴撲腑鎻掑叆鏁版嵁
@@ -29,8 +33,22 @@
@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;
+ private PrWaterPriceMapper prWaterPriceDao;
+ private BaDictMapper baDictDao;
+ private BaDictItemMapper baDictItemDao;
+
+ @Autowired
+ public void setResourceLoader(ResourceLoader resourceLoader){
+ this.resourceLoader = resourceLoader ;
+ }
@Autowired
public void setDistriDao(BaDistrictMapper distriDao){
@@ -42,6 +60,40 @@
this.userDao = userDao ;
}
+ @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 ;
+ }
+
+ @Autowired
+ public void setRmIrrigateProfileDao(RmIrrigateProfileMapper rmIrrigateProfileDao) {
+ this.rmIrrigateProfileDao = rmIrrigateProfileDao;
+ }
+
+ @Autowired
+ public void setWaterPriceDao(PrWaterPriceMapper prWaterPriceDao) {
+ this.prWaterPriceDao = prWaterPriceDao;
+ }
+
+ @Autowired
+ public void setBaDictDao(BaDictMapper baDictDao) {
+ this.baDictDao = baDictDao;
+ }
+
+ @Autowired
+ public void setBaDictItemDao(BaDictItemMapper baDictItemDao) {
+ this.baDictItemDao = baDictItemDao;
+ }
/**
* SpringBoot瀹瑰櫒宸茬粡鍑嗗濂戒簡
@@ -65,9 +117,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("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !");
@@ -75,40 +126,124 @@
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.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.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 defaultValue = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"defaultValue", 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, defaultValue, unit,sort,type);
+ }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.existWaterPrice()){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".waterPrice")){
+ String price = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".waterPrice","price", null, false, null) ;
+ this.saveWaterPrice(orgTag, price);
+ }
+ }
+ if(!this.existDict()){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".dictionaries.dict")){
+ String code = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict","code", null, false, null) ;
+ String title = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict","title", null, false, null) ;
+ String valueType = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict","valueType", null, false, null) ;
+ this.saveDicts(orgTag, code,title,valueType);
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem")){
+ for(int i = 1 ; i < 10000; i++){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i)){
+ String dictCode = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"dictCode", null, false, null) ;
+ String value = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"value", null, false, null) ;
+ String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"name", null, false, null) ;
+ String status = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"status", null, false, null) ;
+ String sort = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"sort", null, false, null) ;
+ this.saveDictItems(orgTag,dictCode,value,name,status,sort);
+ }else{
+ break ;
+ }
+ }
+ }
+ }
}
}
}else{
@@ -128,11 +263,65 @@
}
/**
- * 鏁版嵁搴撲腑鏄惁瀛樺湪琛屾斂鍖哄垝鏁版嵁
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪鐢ㄦ埛鏁版嵁
* @return 瀛樺湪鍚�
*/
private boolean existUsers(){
Long total = this.userDao.selectCount(null) ;
+ return (total != null && total > 0) ;
+ }
+
+ /**
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪鏀粯鏂瑰紡鏁版嵁
+ * @return 瀛樺湪鍚�
+ */
+ 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.prWaterPriceDao.selectCount(null) ;
+ return (total != null && total > 0) ;
+ }
+
+ /**
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪鐏屾簤閰嶇疆
+ * @return
+ */
+ private boolean existIrrigateProfile(){
+ Long total = this.rmIrrigateProfileDao.selectCount(null) ;
+ return (total != null && total > 0) ;
+ }
+
+ /**
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪姘翠环
+ * @return
+ */
+ private boolean existWaterPrice() {
+ Long total = this.prWaterPriceDao.selectCount(null);
+ return (total != null && total > 0) ;
+ }
+
+ /**
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪瀛楀吀
+ * @return
+ */
+ private boolean existDict() {
+ Long total = this.baDictDao.selectCount(null);
return (total != null && total > 0) ;
}
@@ -185,5 +374,139 @@
this.userDao.putin(po) ;
}
}
+ /**
+ * 淇濆瓨鏀粯鏂瑰紡
+ * @param orgTag 鏈烘瀯鏍囩
+ * @param name 鍚嶇О
+ */
+ private void savePayment(String orgTag, String name) throws Exception{
+ if(name != null && !name.trim().equals("")){
+ SePaymentMethod po = new SePaymentMethod() ;
+ po.setName(name);
+ po.setDeleted(Deleted.NO.code);
+ 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) ;
+ }
+ }
+
+ /**
+ * 淇濆瓨鐏屾簤閰嶇疆
+ * @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));
+ po.setDeleted(0L);
+ this.rmIrrigateProfileDao.insert(po);
+ }
+ }
+
+ /**
+ * 淇濆瓨姘翠环
+ * @param price
+ */
+ private void saveWaterPrice(String orgTag, String price) {
+ if(price != null && !price.trim().equals("")) {
+ PrWaterPrice po = new PrWaterPrice();
+ po.setPrice(Double.parseDouble(price));
+ po.setDeleted((byte)0);
+ this.prWaterPriceDao.insert(po);
+ }
+ }
+
+ /**
+ * 淇濆瓨瀛楀吀
+ * @param orgTag
+ * @param code
+ * @param title
+ * @param valueType
+ * @return
+ */
+ private void saveDicts(String orgTag, String code, String title, String valueType) {
+ if((code != null && !code.trim().equals("")) &&
+ (title != null && !title.trim().equals("")) &&
+ (valueType != null && !valueType.trim().equals(""))) {
+ BaDict po = new BaDict();
+ po.setCode(code);
+ po.setTitle(title);
+ po.setValueType(Byte.valueOf(valueType));
+ po.setHashCode("c4ca4238a0b923820dcc509a6f75849b");
+ po.setDeleted(0L);
+ this.baDictDao.insert(po);
+ }
+ }
+
+ /**
+ * 淇濆瓨瀛楀吀椤�
+ * @param orgTag
+ * @param dictCode
+ * @param value
+ * @param name
+ * @param status
+ * @param sort
+ */
+ private void saveDictItems(String orgTag, String dictCode, String value, String name, String status, String sort) {
+ if((dictCode != null && !dictCode.trim().equals("")) &&
+ (value != null && !value.trim().equals("")) &&
+ (name != null && !name.trim().equals("")) &&
+ (status != null && !status.trim().equals("")) &&
+ (sort != null && !sort.trim().equals(""))) {
+ BaDictItem po = new BaDictItem();
+ po.setDictCode(dictCode);
+ po.setValue(value);
+ po.setName(name);
+ po.setStatus(Byte.valueOf(status));
+ po.setSort(Integer.parseInt(sort));
+ po.setDeleted(0L);
+ this.baDictItemDao.insert(po);
+ }
+
+ }
+
+
}
--
Gitblit v1.8.0