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/PayOweFeeImpl.java |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/PayOweFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/PayOweFeeImpl.java
old mode 100644
new mode 100755
index 2186bad..88a1304
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/PayOweFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/PayOweFeeImpl.java
@@ -4,11 +4,12 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.IComputeFeeSMO;
 import com.java110.dto.fee.*;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.fee.bmo.IPayOweFee;
-import com.java110.fee.listener.fee.UpdateFeeInfoListener;
-import com.java110.intf.IFeeReceiptDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeReceiptDetailInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRepairInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -16,10 +17,9 @@
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.fee.PayFeePo;
-import com.java110.po.feeReceipt.FeeReceiptPo;
-import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
+import com.java110.po.fee.FeeReceiptPo;
+import com.java110.po.fee.FeeReceiptDetailPo;
 import com.java110.po.owner.RepairPoolPo;
-import com.java110.core.smo.IComputeFeeSMO;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.lock.DistributedLock;
@@ -28,7 +28,7 @@
 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;
@@ -37,6 +37,7 @@
 import java.text.ParseException;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 娆犺垂缂磋垂瀹炵幇绫�
@@ -44,7 +45,7 @@
 @Service
 public class PayOweFeeImpl implements IPayOweFee {
 
-    private static Logger logger = LoggerFactory.getLogger(UpdateFeeInfoListener.class);
+    private static Logger logger = LoggerFactory.getLogger(PayOweFeeImpl.class);
 
 
     @Autowired
@@ -99,6 +100,10 @@
         FeeReceiptPo feeReceiptPo = new FeeReceiptPo();
         feeReceiptPo.setReceiptId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_receiptId));
         feeReceiptPo.setAmount("0.0");
+
+        feeReceiptPo.setPayObjId("-1");
+        feeReceiptPo.setPayObjName("鏈煡");
+
         for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) {
             feeObj = fees.getJSONObject(feeIndex);
             Assert.hasKeyAndValue(feeObj, "feeId", "鏈寘鍚垂鐢ㄩ」ID");
@@ -110,7 +115,7 @@
         if (fees.size() > 0) {
             feeReceiptInnerServiceSMOImpl.saveFeeReceipt(feeReceiptPo);
         }
-        return ResultVo.success();
+        return ResultVo.createResponseEntity(feeReceiptPo);
     }
 
     private void doPayOweFee(JSONObject feeObj, FeeReceiptPo feeReceiptPo) {
@@ -225,12 +230,13 @@
         feeDto = feeDtos.get(0);
         paramInJson.put("feeInfo", feeDto);
         payFeeDetailPo.setStartTime(DateUtil.getFormatTimeString(feeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
-        BigDecimal feePrice = new BigDecimal(computeFeeSMOImpl.getFeePrice(feeDto));
+        Map feePriceAll=computeFeeSMOImpl.getFeePrice(feeDto);
+        BigDecimal feePrice = new BigDecimal(feePriceAll.get("feePrice").toString());
 
         BigDecimal receivedAmount = new BigDecimal(Double.parseDouble(paramInJson.getString("feePrice")));
         BigDecimal cycles = receivedAmount.divide(feePrice, 2, BigDecimal.ROUND_HALF_EVEN);
         paramInJson.put("tmpCycles", cycles);
-        payFeeDetailPo.setEndTime(computeFeeSMOImpl.getFeeStateByCycles(feeDto, cycles.doubleValue() + ""));
+        payFeeDetailPo.setEndTime(DateUtil.getFormatTimeString(computeFeeSMOImpl.getFeeEndTimeByCycles(feeDto, cycles.doubleValue() + ""), DateUtil.DATE_FORMATE_STRING_A));
         payFeeDetailPo.setCommunityId(paramInJson.getString("communityId"));
         payFeeDetailPo.setCycles(cycles.doubleValue() + "");
         payFeeDetailPo.setReceivableAmount(receivedAmount.doubleValue() + "");
@@ -252,6 +258,7 @@
         feeReceiptDetailPo.setFeeName(StringUtil.isEmpty(feeDto.getImportFeeName()) ? feeDto.getFeeName() : feeDto.getImportFeeName());
         feeReceiptDetailPo.setStartTime(payFeeDetailPo.getStartTime());
         feeReceiptDetailPo.setReceiptId(feeReceiptPo.getReceiptId());
+        computeFeeSMOImpl.freshFeeReceiptDetail(feeDto, feeReceiptDetailPo);
         feeReceiptDetailInnerServiceSMOImpl.saveFeeReceiptDetail(feeReceiptDetailPo);
 
         BigDecimal amount = new BigDecimal(Double.parseDouble(feeReceiptPo.getAmount()));
@@ -263,5 +270,8 @@
         if (StringUtil.isEmpty(feeReceiptPo.getObjName())) {
             feeReceiptPo.setObjName(computeFeeSMOImpl.getFeeObjName(feeDto));
         }
+        OwnerDto ownerDto = computeFeeSMOImpl.getFeeOwnerDto(feeDto);
+        feeReceiptPo.setPayObjId(ownerDto.getOwnerId());
+        feeReceiptPo.setPayObjName(ownerDto.getName());
     }
 }

--
Gitblit v1.8.0