From 3b0ddfa0b1c3490fbbf421a84e0431a60fb58387 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 01 四月 2021 12:25:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/xinghong-dev'

---
 service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 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 3131de5..603e12c 100644
--- 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
@@ -14,8 +14,10 @@
 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;
@@ -26,6 +28,7 @@
 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;
@@ -61,8 +64,6 @@
     private IFeeBMO feeBMOImpl;
 
     @Autowired
-    private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
-    @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
     @Autowired
@@ -84,6 +85,11 @@
     @Autowired
     private IFeeReceiptDetailInnerServiceSMO feeReceiptDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private IRepairUserInnerServiceSMO repairUserInnerServiceSMO;
+
+    @Autowired
+    private IRepairInnerServiceSMO repairInnerServiceSMO;
 
     @Override
     public String getServiceCode() {
@@ -163,21 +169,67 @@
         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_EVALUATE);
+                //濡傛灉鏄緟璇勪环鐘舵�侊紝灏辨洿鏂板紑濮嬫椂闂�
+                repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+                repairUserPo.setContext("寰呰瘎浠�");
+            } else {  //濡傛灉鏄憳宸ヤ唬瀹㈡姤淇垨鐢佃瘽鎶ヤ慨锛岀姸鎬佸氨鍙樻垚宸叉敮浠�
+                repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+                //濡傛灉鏄凡鏀粯鐘舵�侊紝灏辨洿鏂扮粨鏉熸椂闂�
+                repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+                repairUserPo.setContext("宸叉敮浠�");
+            }
+            business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUserPo));
+            businesses.add(business);
+        }
+
         ResponseEntity<String> responseEntity = feeBMOImpl.callService(dataFlowContext, service.getServiceCode(), businesses);
         dataFlowContext.setResponseEntity(responseEntity);
 

--
Gitblit v1.8.0