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/discount/impl/ReductionMonthFeeRule.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/discount/impl/ReductionMonthFeeRule.java b/service-fee/src/main/java/com/java110/fee/discount/impl/ReductionMonthFeeRule.java
index 6df582d..720f49b 100755
--- a/service-fee/src/main/java/com/java110/fee/discount/impl/ReductionMonthFeeRule.java
+++ b/service-fee/src/main/java/com/java110/fee/discount/impl/ReductionMonthFeeRule.java
@@ -15,13 +15,19 @@
*/
package com.java110.fee.discount.impl;
-import com.java110.dto.feeDiscount.ComputeDiscountDto;
-import com.java110.dto.feeDiscount.FeeDiscountDto;
-import com.java110.dto.feeDiscount.FeeDiscountSpecDto;
+import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.fee.ComputeDiscountDto;
+import com.java110.dto.fee.FeeDiscountDto;
+import com.java110.dto.fee.FeeDiscountSpecDto;
import com.java110.fee.discount.IComputeDiscount;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.math.BigDecimal;
import java.util.List;
+import java.util.Map;
/**
* 缂村嚑涓湀璧犻�佸嚑涓湀 瑙勫垯
@@ -38,6 +44,13 @@
*/
private static final String SPEC_MONTH = "89002020980014"; //鏈堜唤
private static final String SPEC_RATE = "89002020980015"; // 璧犻�佹湀浠�
+
+ @Autowired
+ private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+
+ @Autowired
+ private IComputeFeeSMO computeFeeSMOImpl;
@Override
public ComputeDiscountDto compute(FeeDiscountDto feeDiscountDto) {
@@ -60,13 +73,22 @@
if (feeDiscountDto.getCycles() < month) {
return null;
} else {
+ //鏌ヨ璐圭敤
+ FeeDto feeDto = new FeeDto();
+ feeDto.setCommunityId(feeDiscountDto.getCommunityId());
+ feeDto.setFeeId(feeDiscountDto.getFeeId());
+ List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+ Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDtos.get(0));
+ BigDecimal priceDec = new BigDecimal(feePriceAll.get("feePrice").toString());
+ BigDecimal cycleDec = new BigDecimal(reductionMonth);
+ double discountPrice = priceDec.multiply(cycleDec).doubleValue();
ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto();
computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId());
computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_D);
computeDiscountDto.setRuleId(feeDiscountDto.getRuleId());
computeDiscountDto.setRuleName(feeDiscountDto.getRuleName());
computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName());
- computeDiscountDto.setDiscountPrice(0.0);
+ computeDiscountDto.setDiscountPrice(discountPrice);
computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos);
return computeDiscountDto;
}
--
Gitblit v1.8.0