From 7cd9cc73b6bbae05e8fa734e29f6cd435e2599ba Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 28 六月 2023 14:27:20 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java |   76 ++++++++++++++++++++++++++++---------
 1 files changed, 57 insertions(+), 19 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
index 590bb5d..27e5b78 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
@@ -7,27 +7,31 @@
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
-import com.java110.dto.importFee.ImportFeeDto;
+import com.java110.dto.importData.ImportFeeDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.entity.assetImport.ImportRoomFee;
+import com.java110.dto.importData.ImportRoomFee;
 import com.java110.fee.bmo.IImportRoomFee;
-import com.java110.fee.listener.fee.UpdateFeeInfoListener;
 import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.*;
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IImportFeeInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.PayFeeConfigPo;
 import com.java110.po.fee.PayFeePo;
 import com.java110.po.importFee.ImportFeePo;
-import com.java110.po.importFeeDetail.ImportFeeDetailPo;
+import com.java110.po.importFee.ImportFeeDetailPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -41,7 +45,7 @@
 @Service
 public class ImportRoomFeeImpl implements IImportRoomFee {
 
-    private static Logger logger = LoggerFactory.getLogger(UpdateFeeInfoListener.class);
+    private static Logger logger = LoggerFactory.getLogger(ImportRoomFeeImpl.class);
 
 
     private static final String IMPORT_FEE_NAME = "瀵煎叆璐圭敤";
@@ -94,7 +98,21 @@
         String feeTypeCd = reqJson.getString("feeTypeCd");//璐圭敤澶х被
         String storeId = reqJson.getString("storeId");
         String userId = reqJson.getString("userId");
-        String feeName = reqJson.getString("feeName");
+        String feeName = reqJson.getString("feeName").trim();
+        String batchId = reqJson.getString("batchId");
+
+
+        JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
+
+        List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
+
+        if (tmpImportRoomFees == null || tmpImportRoomFees.size() < 1) {
+            throw new IllegalArgumentException("鏈寘鍚鍏ヨ垂鐢�");
+        }
+
+        if (StringUtil.isEmpty(feeName)) {
+            feeName = tmpImportRoomFees.get(0).getFeeName();
+        }
 
         if (StringUtil.isEmpty(feeName)) {
             feeName = IMPORT_FEE_NAME;
@@ -102,7 +120,8 @@
 
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setFeeName(feeName);
+        feeConfigDto.setFeeNameEq(feeName);
+        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -113,11 +132,6 @@
         } else {
             feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
         }
-
-
-        JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
-
-        List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
 
         for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) {
             tmpImportRoomFee.setCommunityId(communityId);
@@ -136,6 +150,9 @@
         ownerDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
         for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
+            if (StringUtil.isEmpty(importRoomFee.getRoomId())) {
+                throw new IllegalArgumentException("鎴垮眿涓嶅瓨鍦紝" + importRoomFee.getFloorNum() + "-" + importRoomFee.getUnitNum() + "-" + importRoomFee.getRoomNum());
+            }
             for (OwnerDto tmpOwnerDto : ownerDtos) {
                 if (importRoomFee.getRoomId().equals(tmpOwnerDto.getRoomId())) {
                     importRoomFee.setOwnerId(tmpOwnerDto.getOwnerId());
@@ -172,6 +189,7 @@
             payFeePo.setFeeTypeCd(feeTypeCd);
             payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
             payFeePo.setAmount(importRoomFee.getAmount());
+            payFeePo.setBatchId(batchId);
             //payFeePo.setStartTime(importRoomFee.getStartTime());
             payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
 
@@ -190,6 +208,15 @@
             feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
             feeAttrPo.setValue(importRoomFee.getEndTime());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPos.add(feeAttrPo);
+
+            //todo 璐圭敤瀵硅薄鍚嶇О
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(communityId);
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME);
+            feeAttrPo.setValue(importRoomFee.getRoomName());
             feeAttrPo.setFeeId(payFeePo.getFeeId());
             feeAttrPos.add(feeAttrPo);
 
@@ -293,13 +320,15 @@
         String storeId = reqJson.getString("storeId");
         String userId = reqJson.getString("userId");
         String feeName = reqJson.getString("feeName");
+        String batchId = reqJson.getString("batchId");
 
         if (StringUtil.isEmpty(feeName)) {
             feeName = IMPORT_FEE_NAME;
         }
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setFeeName(feeName);
+        feeConfigDto.setFeeNameEq(feeName);
+        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -350,6 +379,7 @@
             payFeePo.setFeeTypeCd(feeTypeCd);
             payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
             payFeePo.setAmount(importCarFee.getAmount());
+            payFeePo.setBatchId(batchId);
             //payFeePo.setStartTime(importRoomFee.getStartTime());
             payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
 
@@ -469,13 +499,15 @@
         String storeId = reqJson.getString("storeId");
         String userId = reqJson.getString("userId");
         String feeName = reqJson.getString("feeName");
+        String batchId = reqJson.getString("batchId");
 
         if (StringUtil.isEmpty(feeName)) {
             feeName = IMPORT_FEE_NAME;
         }
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setFeeName(feeName);
+        feeConfigDto.setFeeNameEq(feeName);
+        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -524,6 +556,7 @@
             payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
             payFeePo.setAmount(importCarFee.getAmount());
             payFeePo.setStartTime(importCarFee.getStartTime());
+            payFeePo.setBatchId(batchId);
             //payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
 
             payFeePos.add(payFeePo);
@@ -632,15 +665,20 @@
         PayFeeConfigPo payFeeConfigPo = BeanConvertUtil.covertBean(feeConfigDto, PayFeeConfigPo.class);
         payFeeConfigPo.setAdditionalAmount("0");
         payFeeConfigPo.setBillType(FeeConfigDto.BILL_TYPE_MONTH);
-        payFeeConfigPo.setComputingFormula("4004");
+        payFeeConfigPo.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         payFeeConfigPo.setEndTime(DateUtil.getLastTime());
         payFeeConfigPo.setFeeFlag("2006012");
-        payFeeConfigPo.setIsDefault("T");
+        payFeeConfigPo.setIsDefault("F");
         payFeeConfigPo.setPaymentCd("2100");
-        payFeeConfigPo.setFeeName(feeConfigDto.getFeeName());
+        payFeeConfigPo.setFeeName(feeConfigDto.getFeeNameEq());
         payFeeConfigPo.setSquarePrice("0");
         payFeeConfigPo.setPaymentCycle("1");
         payFeeConfigPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        payFeeConfigPo.setDeductFrom(FeeConfigDto.DEDUCT_FROM_N);
+        payFeeConfigPo.setDecimalPlace("2");
+        payFeeConfigPo.setScale("1");
+        payFeeConfigPo.setUnits("鍏�");
+        payFeeConfigPo.setPayOnline("Y");
         int saveFlag = feeConfigInnerServiceSMOImpl.saveFeeConfig(payFeeConfigPo);
 
         if (saveFlag < 1) {

--
Gitblit v1.8.0