From 84894e715da046126007cfbe40d5b60e13404a59 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 06 四月 2024 21:18:00 +0800
Subject: [PATCH] 优化代码
---
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java | 35 +++++++++--------------------------
1 files changed, 9 insertions(+), 26 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java
index 89f4144..b330e50 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java
@@ -776,14 +776,14 @@
BigDecimal cycles = null;
Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDto);
BigDecimal feePrice = new BigDecimal(feePriceAll.get("feePrice").toString());
- if ("-101".equals(paramInJson.getString("cycles"))) { // 鑷畾涔夐噾棰濅氦璐�
+
+ if ("-101".equals(paramInJson.getString("cycles"))) { // todo 鑷畾涔夐噾棰濅氦璐�
Date endTime = feeDto.getEndTime();
Calendar endCalender = Calendar.getInstance();
endCalender.setTime(endTime);
BigDecimal receivedAmount = new BigDecimal(Double.parseDouble(paramInJson.getString("receivedAmount")));
cycles = receivedAmount.divide(feePrice, 4, BigDecimal.ROUND_HALF_EVEN);
- endCalender = getTargetEndTime(endCalender, cycles.doubleValue());
- targetEndTime = endCalender.getTime();
+ targetEndTime = computeFeeSMOImpl.getTargetEndTime(cycles.doubleValue(),endCalender.getTime());
paramInJson.put("tmpCycles", cycles.doubleValue());
businessFeeDetail.put("cycles", cycles.doubleValue());
//澶勭悊 鍙兘杩樺瓨鍦� 瀹炴敹鎵嬪伐鍑忓厤鐨勬儏鍐�
@@ -796,7 +796,7 @@
if (businessFeeDetail.getDoubleValue("receivableAmount") < receivedAmount.doubleValue()) {
businessFeeDetail.put("receivableAmount", receivedAmount.doubleValue());
}
- } else if ("-103".equals(paramInJson.getString("cycles"))) { //杩欓噷鎸夌即璐圭粨鏉熸椂闂寸即璐�
+ } else if ("-103".equals(paramInJson.getString("cycles"))) { //todo 杩欓噷鎸夌即璐圭粨鏉熸椂闂寸即璐�
String custEndTime = paramInJson.getString("custEndTime");
if(!custEndTime.contains(":")){
custEndTime += " 23:59:59";
@@ -818,14 +818,12 @@
if (businessFeeDetail.getDoubleValue("receivableAmount") < receivedAmount.doubleValue()) {
businessFeeDetail.put("receivableAmount", receivedAmount.doubleValue());
}
- } else if ("-105".equals(paramInJson.getString("cycles"))) { //杩欓噷鎸夌即璐圭粨鏉熸椂闂寸即璐�
+ } else if ("-105".equals(paramInJson.getString("cycles"))) { //杩欓噷鎸夎嚜瀹氫箟鏃堕棿娈�
String customEndTime = paramInJson.getString("customEndTime");
- Date endDates = DateUtil.getDateFromStringB(customEndTime);
- Calendar c = Calendar.getInstance();
- c.setTime(endDates);
- c.add(Calendar.DAY_OF_MONTH, 1);
- endDates = c.getTime();//杩欐槸鏄庡ぉ
- targetEndTime = endDates;
+ if(!customEndTime.contains(":")){
+ customEndTime += " 23:59:59";
+ }
+ targetEndTime = DateUtil.getDateFromStringA(customEndTime);
BigDecimal receivedAmount1 = new BigDecimal(Double.parseDouble(paramInJson.getString("receivedAmount")));
cycles = receivedAmount1.divide(feePrice, 4, BigDecimal.ROUND_HALF_EVEN);
paramInJson.put("tmpCycles", cycles.doubleValue());
@@ -1213,21 +1211,6 @@
feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(tmpFeeConfigDto);
tmpPayFeePo.setConfigId(feeConfigDtos.get(0).getConfigId());
- }
-
- private static Calendar getTargetEndTime(Calendar endCalender, Double cycles) {
- if (StringUtil.isInteger(cycles.toString())) {
- endCalender.add(Calendar.MONTH, new Double(cycles).intValue());
- return endCalender;
- }
- if (cycles >= 1) {
- endCalender.add(Calendar.MONTH, new Double(Math.floor(cycles)).intValue());
- cycles = cycles - Math.floor(cycles);
- }
- int futureDay = endCalender.getActualMaximum(Calendar.DAY_OF_MONTH);
- int hours = new Double(cycles * futureDay * 24).intValue();
- endCalender.add(Calendar.HOUR, hours);
- return endCalender;
}
}
--
Gitblit v1.8.0