From 65763d38cf9b6b8067a293d9c99297efea0de3e3 Mon Sep 17 00:00:00 2001
From: 928255095 <928255095@qq.com>
Date: 星期二, 07 九月 2021 22:04:15 +0800
Subject: [PATCH] Merge branch 'xinghong-dev' into 'master'

---
 service-api/src/main/java/com/java110/api/listener/ownerRepair/SaveOwnerRepairListener.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/listener/ownerRepair/SaveOwnerRepairListener.java b/service-api/src/main/java/com/java110/api/listener/ownerRepair/SaveOwnerRepairListener.java
index 064c120..92ffed0 100755
--- a/service-api/src/main/java/com/java110/api/listener/ownerRepair/SaveOwnerRepairListener.java
+++ b/service-api/src/main/java/com/java110/api/listener/ownerRepair/SaveOwnerRepairListener.java
@@ -7,22 +7,32 @@
 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.FeeConfigDto;
+import com.java110.dto.fee.FeeDto;
 import com.java110.dto.file.FileDto;
 import com.java110.dto.file.FileRelDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.po.file.FileRelPo;
 import com.java110.po.owner.RepairPoolPo;
 import com.java110.po.owner.RepairUserPo;
+import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.FeeTypeConstant;
 import com.java110.utils.constant.ServiceCodeOwnerRepairConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import com.java110.vo.ResultVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
 
 /**
  * 淇濆瓨灏忓尯渚﹀惉
@@ -33,6 +43,18 @@
 
     @Autowired
     private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+    //鍩�
+    public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
+
+    //閿�(鎶ヤ慨涓氫富鏈鐞嗚垂鐢ㄦ潯鏁�)
+    public static final String REPAIR_FEE_NUMBER = "REPAIR_FEE_NUMBER";
 
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
@@ -52,6 +74,32 @@
 
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        //鑾峰彇褰撳墠灏忓尯id
+        String communityId = reqJson.getString("communityId");
+        //鏌ヨ榛樿璐圭敤椤�
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setCommunityId(communityId);
+        feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_REPAIR);
+        feeConfigDto.setIsDefault(FeeConfigDto.DEFAULT_FEE_CONFIG);
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+        if (feeConfigDtos.size() != 1) {
+            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "榛樿缁翠慨璐圭敤鏈夊鏉℃垨涓嶅瓨鍦紒");
+            context.setResponseEntity(responseEntity);
+            return;
+        }
+        FeeDto feeDto = new FeeDto();
+        feeDto.setConfigId(feeConfigDtos.get(0).getConfigId());
+        feeDto.setPayerObjId(reqJson.getString("repairObjId"));
+        feeDto.setState(FeeDto.STATE_DOING);
+        //鏌ヨ鎶ヤ慨涓氫富澶勭悊涓殑鎶ヤ慨璐�
+        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+        //鍙栧嚭寮�鍏虫槧灏勭殑鍊�(缁翠慨甯堝倕鏈鐞嗘渶澶у崟鏁�)
+        String repairFeeNumber = MappingCache.getValue(DOMAIN_COMMON, REPAIR_FEE_NUMBER);
+        if (feeDtos != null && feeDtos.size() >= Integer.parseInt(repairFeeNumber)) {
+            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "璇ユ埧灞嬪瓨鍦�" + Integer.parseInt(repairFeeNumber) + "鏉℃湭澶勭悊鐨勮垂鐢紝璇风即璐瑰悗鍐嶈繘琛屾姤淇紒");
+            context.setResponseEntity(responseEntity);
+            return;
+        }
         JSONObject businessOwnerRepair = new JSONObject();
         businessOwnerRepair.putAll(reqJson);
         businessOwnerRepair.put("repairId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_repairId));

--
Gitblit v1.8.0