From 6cd0bb6e98d7ba277b8011b0ef4090fccd50402d Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 10 七月 2023 09:23:10 +0800
Subject: [PATCH] 支持按缴费时间段算费
---
java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java | 121 ++++++----------------------------------
1 files changed, 18 insertions(+), 103 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java b/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
index af0db7f..1745778 100755
--- a/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
+++ b/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
@@ -1002,6 +1002,18 @@
if (Environment.isOwnerPhone(java110Properties)) {
return getOwnerPhoneFee(feeAmount);
}
+
+ //todo 濡傛灉 cycle 涓�105 鍒� 鏍规嵁缂磋垂鏃堕棿娈� 鏀瑰啓涓�
+ if ("105".equals(feeDto.getCycle())) {
+ double cycle = dayCompare(DateUtil.getDateFromStringB(feeDto.getCustomStartTime()), DateUtil.getDateFromStringB(feeDto.getCustomEndTime()));
+ feeDto.setCycle(cycle + "");
+ }
+ // todo 鎸夌粨鏉熸椂闂寸即璐�
+ if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
+ double cycle = dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime()));
+ feeDto.setCycle(cycle + "");
+ }
+
if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(feeDto.getPayerObjType())) { //鎴垮眿鐩稿叧
String computingFormula = feeDto.getComputingFormula();
if (roomDto == null) {
@@ -1024,9 +1036,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1039,9 +1048,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1057,9 +1063,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1071,9 +1074,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1087,9 +1087,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1100,9 +1097,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1126,9 +1120,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1141,9 +1132,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1166,9 +1154,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1179,9 +1164,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1203,9 +1185,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1241,9 +1220,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1257,9 +1233,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1276,9 +1249,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1291,9 +1261,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1308,9 +1275,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1321,9 +1285,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1347,9 +1308,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1363,9 +1321,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1377,9 +1332,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1403,9 +1355,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1415,8 +1364,7 @@
} else {
throw new IllegalArgumentException("鏆備笉鏀寔璇ョ被鍏紡");
}
- }
- else if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(feeDto.getPayerObjType())) { //鍚堝悓鐩稿叧
+ } else if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(feeDto.getPayerObjType())) { //鍚堝悓鐩稿叧
String computingFormula = feeDto.getComputingFormula();
//鏌ヨ鍚堝悓鍏宠仈鎴垮眿
@@ -1439,9 +1387,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1458,9 +1403,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1476,9 +1418,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1491,9 +1430,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1508,9 +1444,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1522,9 +1455,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1549,9 +1479,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1565,9 +1492,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1580,9 +1504,6 @@
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
}
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
- }
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
} else {
@@ -1594,9 +1515,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1619,9 +1537,6 @@
BigDecimal cycle = null;
if (!StringUtil.isEmpty(feeDto.getCycle())) {
cycle = new BigDecimal(feeDto.getCycle());
- }
- if (!StringUtil.isEmpty(feeDto.getCustEndTime())) {
- cycle = new BigDecimal(dayCompare(feeDto.getEndTime(), DateUtil.getDateFromStringB(feeDto.getCustEndTime())));
}
if (cycle == null) {
feeTotalPrice = new BigDecimal(0);
@@ -1776,13 +1691,13 @@
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
BigDecimal valueObj = null;
- logger.debug("璁$畻鍏紡涓猴細{}",value);
+ logger.debug("璁$畻鍏紡涓猴細{}", value);
try {
value = engine.eval(value).toString();
valueObj = new BigDecimal(Double.parseDouble(value));
} catch (Exception e) {
//throw new IllegalArgumentException("鍏紡璁$畻寮傚父锛屽叕寮忎负銆�" + feeDto.getComputingFormulaText() + "銆�,璁$畻 銆�" + value + "銆戝紓甯�");
- logger.error("鍏紡璁$畻寮傚父锛屽叕寮忎负銆�" + feeDto.getComputingFormulaText() + "銆�,璁$畻 銆�" + value + "銆戝紓甯�",e);
+ logger.error("鍏紡璁$畻寮傚父锛屽叕寮忎负銆�" + feeDto.getComputingFormulaText() + "銆�,璁$畻 銆�" + value + "銆戝紓甯�", e);
valueObj = new BigDecimal(0);
}
@@ -1795,9 +1710,9 @@
}
@Override
- public Date getDeadlineTime(FeeDto feeDto){
+ public Date getDeadlineTime(FeeDto feeDto) {
Map info = getTargetEndDateAndOweMonth(feeDto);
- return (Date)info.get("targetEndDate");
+ return (Date) info.get("targetEndDate");
}
/**
@@ -2304,7 +2219,7 @@
oweAmountDec = curFeePrice.multiply(new BigDecimal(curOweMonth)).setScale(FeeConfigConstant.FEE_SCALE, BigDecimal.ROUND_HALF_UP);
// todo 閫掑
curOweMonth = dayCompare(rateStartTime, feeDto.getDeadlineTime());
- }else{
+ } else {
// todo 閫掑
curOweMonth = dayCompare(feeDto.getEndTime(), feeDto.getDeadlineTime());
}
--
Gitblit v1.8.0