From 844594bc560ba6c5dd7f92ce3301295fb980282a Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 08 五月 2025 21:09:42 +0800
Subject: [PATCH] 充值机模块,获取农户及开卡三个接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java | 258 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 247 insertions(+), 11 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 08dd62f..6a4d699 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
@@ -5,19 +5,22 @@
import com.dy.common.mybatis.envm.Disabled;
import com.dy.common.util.ConfigXml4Springboot;
import com.dy.common.util.MD5;
-import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
-import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
-import com.dy.pipIrrGlobal.daoBa.BaUserMapper;
+import com.dy.pipIrrGlobal.daoBa.*;
+import com.dy.pipIrrGlobal.daoOp.OpeTaskTypeMapper;
+import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
import com.dy.pipIrrGlobal.daoRm.RmIrrigateProfileMapper;
import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper;
+import com.dy.pipIrrGlobal.daoSe.SeRechargeProfileMapper;
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.pojoBa.*;
+import com.dy.pipIrrGlobal.pojoOp.OpeTaskType;
+import com.dy.pipIrrGlobal.pojoPr.PrWaterPrice;
import com.dy.pipIrrGlobal.pojoRm.RmIrrigateProfile;
import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod;
+import com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile;
import com.dy.pipIrrGlobal.pojoSe.SeWaterType;
import com.dy.pipIrrGlobal.util.DistrictLevel;
+import lombok.extern.slf4j.Slf4j;
import org.jdom2.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.event.ApplicationReadyEvent;
@@ -32,6 +35,7 @@
* Spring瀹瑰櫒骞舵病鏈夊垱寤哄畬锛岃�屾湰绫讳腑鐢ㄤ簡Spring瀹瑰櫒涓殑Bean锛屽嵆distriDao, userDao銆�
* 鎵�浠ラ噰鐢ㄤ簡Spring浜嬩欢鐩戝惉鍣ㄦ潵瀹炵幇
*/
+@Slf4j
@Component
public class InitListener implements ApplicationListener<ApplicationReadyEvent> {
@@ -43,6 +47,11 @@
private BaSettingsMapper settingsDao ;
private SeWaterTypeMapper waterTypeDao ;
private RmIrrigateProfileMapper rmIrrigateProfileDao;
+ private PrWaterPriceMapper prWaterPriceDao;
+ private BaDictMapper baDictDao;
+ private BaDictItemMapper baDictItemDao;
+ private SeRechargeProfileMapper seRechargeProfileDao;
+ private OpeTaskTypeMapper taskTypeDao;
@Autowired
public void setResourceLoader(ResourceLoader resourceLoader){
@@ -79,6 +88,31 @@
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;
+ }
+
+ @Autowired
+ public void setSeRechargeProfileDao(SeRechargeProfileMapper seRechargeProfileDao) {
+ this.seRechargeProfileDao = seRechargeProfileDao;
+ }
+
+ @Autowired
+ public void setOpeTaskTypeDao(OpeTaskTypeMapper taskTypeDao) {
+ this.taskTypeDao = taskTypeDao;
+ }
+
/**
* SpringBoot瀹瑰櫒宸茬粡鍑嗗濂戒簡
* @param event 浜嬩欢
@@ -105,17 +139,22 @@
Document doc = configXml.createDom(this.resourceLoader, "init-config.xml") ;
this.doInit(configXml, doc);
} catch (Exception e) {
- System.out.println("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !");
- System.out.println(e.getMessage());
+ log.error("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !");
+ log.error(e.getMessage());
e.printStackTrace();
}
}
private void doInit(ConfigXml4Springboot configXml, Document doc) throws Exception{
+ //Check if configXml and doc are not null
if(configXml != null && doc != null){
+ //Loop through 10000 orgs
for(int num = 1; num <= 10000; num++){
+ //Check if the org exists
if(configXml.existElement(doc, "config.orgs.org" + num)){
+ //Get the tag and enable value of the org
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 the org is enabled
if(enable != null && enable.booleanValue()){
//璁剧疆鏁版嵁婧�
DataSourceContext.set(orgTag);
@@ -178,17 +217,86 @@
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 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, default_value, unit,sort,type);
+ this.saveIrrigateProfile(orgTag, defaultValue, unit,sort,type);
}else{
break ;
}
}
}
}
+
+ if(!this.existRechargeProfile()){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".rechargeProfile")){
+ for(int i = 1 ; i < 10000; i++){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".rechargeProfile.item" + i)){
+ String rechargeAmount = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".rechargeProfile.item" + i,"rechargeAmount", null, false, null) ;
+ String sort = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".rechargeProfile.item" + i,"sort", null, false, null) ;
+ this.saveRechargeProfile(orgTag, rechargeAmount, sort);
+ }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 ;
+ }
+ }
+ }
+ }
+ }
+
+ if(!this.existTaskType()){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".taskType")){
+ for(int i = 1 ; i < 10000; i++){
+ if(configXml.existElement(doc, "config.orgs.org" + num + ".taskType.item" + i)){
+ String taskType = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".taskType.item" + i,"typeName", null, false, null) ;
+ this.saveTaskType(orgTag, taskType);
+ }else{
+ break ;
+ }
+ }
+ }
+ }
+
}
}else{
break ;
@@ -238,7 +346,7 @@
* @return 瀛樺湪鍚�
*/
private boolean existWaterTypes(){
- Long total = this.waterTypeDao.selectCount(null) ;
+ Long total = this.prWaterPriceDao.selectCount(null) ;
return (total != null && total > 0) ;
}
@@ -249,6 +357,42 @@
private boolean existIrrigateProfile(){
Long total = this.rmIrrigateProfileDao.selectCount(null) ;
return (total != null && total > 0) ;
+ }
+
+ /**
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪铏氭嫙甯哥敤鍏呭�奸噾棰濋厤缃�
+ * @return
+ */
+ private boolean existRechargeProfile() {
+ Long total = this.seRechargeProfileDao.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) ;
+ }
+
+ /**
+ * 鏁版嵁搴撲腑鏄惁瀛樺湪宸ュ崟浠诲姟绫诲瀷
+ * @return
+ */
+ private boolean existTaskType() {
+ Long total = this.taskTypeDao.selectCount(null);
+ return (total != null && total > 0);
}
/**
@@ -366,8 +510,100 @@
po.setUnit(Byte.valueOf(unit));
po.setSort(Integer.parseInt(sort));
po.setType(Byte.valueOf(type));
+ po.setDeleted(0L);
this.rmIrrigateProfileDao.insert(po);
}
}
+ /**
+ * 淇濆瓨铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃�
+ * @param orgTag
+ * @param recharge_amount
+ * @param sort
+ */
+ private void saveRechargeProfile(String orgTag, String recharge_amount, String sort) {
+ if((recharge_amount != null && !recharge_amount.trim().equals("")) && (sort != null && !sort.trim().equals(""))) {
+ SeRechargeProfile po = new SeRechargeProfile();
+ po.setRechargeAmount(Integer.parseInt(recharge_amount));
+ po.setSort(Integer.parseInt(sort));
+ this.seRechargeProfileDao.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);
+ }
+ }
+
+ /**
+ * 淇濆瓨宸ュ崟浠诲姟绫诲瀷
+ * @param orgTag
+ * @param task_type
+ */
+ private void saveTaskType(String orgTag, String task_type) {
+ if(task_type != null && !task_type.trim().equals("")) {
+ OpeTaskType po = new OpeTaskType();
+ po.setTaskType(task_type);
+ po.setDeleted(0L);
+ this.taskTypeDao.insert(po);
+ }
+ }
+
}
--
Gitblit v1.8.0