From 7958f1dddb8a7f4e70d232b07a7703955ecedae0 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期六, 26 八月 2023 12:45:33 +0800
Subject: [PATCH] 优化diamante

---
 service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java |   80 +++++++++++++++++++++++++++++++---------
 1 files changed, 62 insertions(+), 18 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 28d5449..d4261ec 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 = "瀵煎叆璐圭敤";
@@ -114,9 +118,18 @@
             feeName = IMPORT_FEE_NAME;
         }
 
+        if (!StringUtil.isEmpty(feeName)) {
+            feeName = feeName.trim();
+        }
+
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setFeeName(feeName);
+        if (!StringUtil.isEmpty(tmpImportRoomFees.get(0).getConfigId())) {
+            feeConfigDto.setConfigId(tmpImportRoomFees.get(0).getConfigId());
+        } else {
+            feeConfigDto.setFeeNameEq(feeName);
+        }
+        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -145,6 +158,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());
@@ -195,11 +211,21 @@
             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_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);
 
@@ -304,13 +330,20 @@
         String userId = reqJson.getString("userId");
         String feeName = reqJson.getString("feeName");
         String batchId = reqJson.getString("batchId");
+        JSONArray importCarFees = reqJson.getJSONArray("importCarFees");
 
+        List<ImportRoomFee> tmpImportCarFees = importCarFees.toJavaList(ImportRoomFee.class);
         if (StringUtil.isEmpty(feeName)) {
             feeName = IMPORT_FEE_NAME;
         }
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setFeeName(feeName);
+        if (!StringUtil.isEmpty(tmpImportCarFees.get(0).getConfigId())) {
+            feeConfigDto.setConfigId(tmpImportCarFees.get(0).getConfigId());
+        } else {
+            feeConfigDto.setFeeNameEq(feeName);
+        }
+        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -323,9 +356,7 @@
         }
 
 
-        JSONArray importCarFees = reqJson.getJSONArray("importCarFees");
 
-        List<ImportRoomFee> tmpImportCarFees = importCarFees.toJavaList(ImportRoomFee.class);
 
         for (ImportRoomFee tmpImportCarFee : tmpImportCarFees) {
             tmpImportCarFee.setCommunityId(communityId);
@@ -481,13 +512,24 @@
         String storeId = reqJson.getString("storeId");
         String userId = reqJson.getString("userId");
         String feeName = reqJson.getString("feeName");
+        String batchId = reqJson.getString("batchId");
+
+        JSONArray importCarFees = reqJson.getJSONArray("importRoomFees");
+
+        List<ImportRoomFee> tmpImportContractFees = importCarFees.toJavaList(ImportRoomFee.class);
 
         if (StringUtil.isEmpty(feeName)) {
             feeName = IMPORT_FEE_NAME;
         }
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setFeeTypeCd(feeTypeCd);
-        feeConfigDto.setFeeName(feeName);
+        //feeConfigDto.setFeeNameEq(feeName);
+        if (!StringUtil.isEmpty(tmpImportContractFees.get(0).getConfigId())) {
+            feeConfigDto.setConfigId(tmpImportContractFees.get(0).getConfigId());
+        } else {
+            feeConfigDto.setFeeNameEq(feeName);
+        }
+        feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -499,10 +541,6 @@
             feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
         }
 
-
-        JSONArray importCarFees = reqJson.getJSONArray("importRoomFees");
-
-        List<ImportRoomFee> tmpImportContractFees = importCarFees.toJavaList(ImportRoomFee.class);
 
         for (ImportRoomFee tmpImportCarFee : tmpImportContractFees) {
             tmpImportCarFee.setCommunityId(communityId);
@@ -536,6 +574,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);
@@ -644,15 +683,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("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