From fdf45f690fa4eca9191aa0fb6abf077e7b36ce06 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 23 四月 2021 10:11:59 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java | 105 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 91 insertions(+), 14 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java b/service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java
index db4723c..977f585 100755
--- a/service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java
+++ b/service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java
@@ -8,24 +8,28 @@
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
+import com.java110.dto.feeReceipt.FeeReceiptDetailDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.repair.RepairDto;
+import com.java110.dto.repair.RepairUserDto;
import com.java110.entity.center.AppService;
-import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.community.IRepairInnerServiceSMO;
+import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.IFeeReceiptDetailInnerServiceSMO;
-import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.po.car.OwnerCarPo;
import com.java110.po.feeReceipt.FeeReceiptPo;
import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
import com.java110.po.owner.RepairPoolPo;
+import com.java110.po.owner.RepairUserPo;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.ServiceCodeConstant;
@@ -41,6 +45,7 @@
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import java.text.ParseException;
import java.util.Date;
import java.util.List;
@@ -61,8 +66,6 @@
private IFeeBMO feeBMOImpl;
@Autowired
- private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
- @Autowired
private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
@Autowired
@@ -77,15 +80,18 @@
@Autowired
private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
@Autowired
- private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
+ private IPayFeeDetailDiscountBMO payFeeDetailDiscountBMOImpl;
@Autowired
private IFeeReceiptDetailInnerServiceSMO feeReceiptDetailInnerServiceSMOImpl;
@Autowired
- private IPayFeeDetailDiscountBMO payFeeDetailDiscountBMOImpl;
+ private IRepairUserInnerServiceSMO repairUserInnerServiceSMO;
+ @Autowired
+ private IRepairInnerServiceSMO repairInnerServiceSMO;
@Override
public String getServiceCode() {
@@ -98,7 +104,7 @@
}
@Override
- public void soService(ServiceDataFlowEvent event) {
+ public void soService(ServiceDataFlowEvent event) throws ParseException {
logger.debug("ServiceDataFlowEvent : {}", event);
@@ -133,7 +139,6 @@
}
}
}
-
//涓哄仠杞﹁垂鍗曠嫭澶勭悊
if (paramObj.containsKey("carPayerObjType") && FeeDto.PAYER_OBJ_TYPE_CAR.equals(paramObj.getString("carPayerObjType"))) {
Date feeEndTime = (Date) paramObj.get("carFeeEndTime");
@@ -158,25 +163,91 @@
}
}
}
-
//鍒ゆ柇鏄惁鏈夋淳鍗曞睘鎬D
FeeAttrDto feeAttrDto = new FeeAttrDto();
feeAttrDto.setCommunityId(paramObj.getString("communityId"));
feeAttrDto.setFeeId(paramObj.getString("feeId"));
feeAttrDto.setSpecCd(FeeAttrDto.SPEC_CD_REPAIR);
List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
-
//淇敼 娲惧崟鐘舵��
if (feeAttrDtos != null && feeAttrDtos.size() > 0) {
JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR);
business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2);
business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ RepairDto repairDto = new RepairDto();
+ repairDto.setRepairId(feeAttrDtos.get(0).getValue());
+ //鏌ヨ鎶ヤ慨璁板綍
+ List<RepairDto> repairDtos = repairInnerServiceSMO.queryRepairs(repairDto);
+ Assert.listOnlyOne(repairDtos, "鎶ヤ慨淇℃伅閿欒锛�");
+ //鑾峰彇鎶ヤ慨娓犻亾
+ String repairChannel = repairDtos.get(0).getRepairChannel();
RepairPoolPo repairPoolPo = new RepairPoolPo();
repairPoolPo.setRepairId(feeAttrDtos.get(0).getValue());
repairPoolPo.setCommunityId(paramObj.getString("communityId"));
- repairPoolPo.setState(RepairDto.STATE_APPRAISE);
+ if (repairChannel.equals("Z")) { //濡傛灉鏄笟涓昏嚜涓绘姤淇紝鐘舵�佸氨鍙樻垚寰呰瘎浠�
+ repairPoolPo.setState(RepairDto.STATE_APPRAISE);
+ } else { //濡傛灉鏄憳宸ヤ唬瀹㈡姤淇垨鐢佃瘽鎶ヤ慨锛岀姸鎬佸氨鍙樻垚寰呭洖璁�
+ repairPoolPo.setState(RepairDto.STATE_RETURN_VISIT);
+ }
business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairPoolPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairPoolPo));
+ businesses.add(business);
+ }
+
+ //淇敼鎶ヤ慨娲惧崟鐘舵��
+ if (feeAttrDtos != null && feeAttrDtos.size() > 0) {
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR_USER);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 3);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ RepairDto repairDto = new RepairDto();
+ repairDto.setRepairId(feeAttrDtos.get(0).getValue());
+ //鏌ヨ鎶ヤ慨璁板綍
+ List<RepairDto> repairDtos = repairInnerServiceSMO.queryRepairs(repairDto);
+ Assert.listOnlyOne(repairDtos, "鎶ヤ慨淇℃伅閿欒锛�");
+ //鑾峰彇鎶ヤ慨娓犻亾
+ String repairChannel = repairDtos.get(0).getRepairChannel();
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(feeAttrDtos.get(0).getValue());
+ repairUserDto.setState(RepairUserDto.STATE_PAY_FEE);
+ //鏌ヨ寰呮敮浠樼姸鎬佺殑璁板綍
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒锛�");
+ RepairUserPo repairUserPo = new RepairUserPo();
+ repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
+ if (repairChannel.equals("Z")) { //濡傛灉涓氫富鏄嚜涓绘姤淇紝鐘舵�佸氨鍙樻垚宸叉敮浠橈紝骞舵柊澧炰竴鏉″緟璇勪环鐘舵��
+ repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+ //濡傛灉鏄緟璇勪环鐘舵�侊紝灏辨洿鏂扮粨鏉熸椂闂�
+ repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUserPo.setContext("宸叉敮浠�" + paramObj.getString("feePrice") + "鍏�");
+ //鏂板寰呰瘎浠风姸鎬�
+ JSONObject object = JSONObject.parseObject("{\"datas\":{}}");
+ object.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
+ object.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 4);
+ object.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ RepairUserPo repairUser = new RepairUserPo();
+ repairUser.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
+ repairUser.setStartTime(repairUserPo.getEndTime());
+ repairUser.setState(RepairUserDto.STATE_EVALUATE);
+ repairUser.setContext("寰呰瘎浠�");
+ repairUser.setCommunityId(paramObj.getString("communityId"));
+ repairUser.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUser.setRepairId(repairUserDtoList.get(0).getRepairId());
+ repairUser.setStaffId(repairUserDtoList.get(0).getStaffId());
+ repairUser.setStaffName(repairUserDtoList.get(0).getStaffName());
+ repairUser.setPreStaffId(repairUserDtoList.get(0).getStaffId());
+ repairUser.setPreStaffName(repairUserDtoList.get(0).getStaffName());
+ repairUser.setPreRuId(repairUserDtoList.get(0).getRuId());
+ repairUser.setRepairEvent("auditUser");
+ object.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUser));
+ businesses.add(object);
+ } else { //濡傛灉鏄憳宸ヤ唬瀹㈡姤淇垨鐢佃瘽鎶ヤ慨锛岀姸鎬佸氨鍙樻垚宸叉敮浠�
+ repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+ //濡傛灉鏄凡鏀粯鐘舵�侊紝灏辨洿鏂扮粨鏉熸椂闂�
+ repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUserPo.setContext("宸叉敮浠�" + paramObj.getString("feePrice") + "鍏�");
+ }
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUserPo));
businesses.add(business);
}
@@ -187,10 +258,16 @@
return;
}
- //杩欓噷鍙槸鍐欏叆 鏀舵嵁琛紝鏆備笉鑰冭檻 浜嬪姟涓�鑷存�ч棶棰橈紝灏辩畻鍐欏叆澶辫触 涔熷彧鏄奖鍝� 鏀舵嵁鎵撳嵃锛屽鏋� 璐靛叕鍙稿 鏀舵嵁瑕佹眰 姣旇緝楂橈紝涓嶈兘鏈夊け璐ョ殑鎯呭喌 璇峰姞鍏ヤ簨鍔$鐞�
- feeReceiptDetailInnerServiceSMOImpl.saveFeeReceiptDetail(feeReceiptDetailPo);
- feeReceiptInnerServiceSMOImpl.saveFeeReceipt(feeReceiptPo);
+ //鏍规嵁鏄庣粏ID 鏌ヨ鏀舵嵁淇℃伅
+ FeeReceiptDetailDto feeReceiptDetailDto = new FeeReceiptDetailDto();
+ feeReceiptDetailDto.setDetailId(paramObj.getString("detailId"));
+ feeReceiptDetailDto.setCommunityId(paramObj.getString("communityId"));
+ List<FeeReceiptDetailDto> feeReceiptDetailDtos = feeReceiptDetailInnerServiceSMOImpl.queryFeeReceiptDetails(feeReceiptDetailDto);
+ if (feeReceiptDetailDtos != null || feeReceiptDetailDtos.size() > 0) {
+ dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(feeReceiptDetailDtos.get(0)));
+ return;
+ }
dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(feeReceiptDetailPo));
}
--
Gitblit v1.8.0