From 212aa4ae1f54fe4d3e51b9695224f9f86cd1bd22 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 11 七月 2023 10:58:48 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java |  124 ++++++----------------------------------
 1 files changed, 20 insertions(+), 104 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 9285cb8..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
@@ -5,8 +5,8 @@
 import com.java110.core.context.Environment;
 import com.java110.core.log.LoggerFactory;
 import com.java110.core.smo.IComputeFeeSMO;
-import com.java110.dto.RoomAttrDto;
-import com.java110.dto.RoomDto;
+import com.java110.dto.room.RoomAttrDto;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contract.ContractRoomDto;
@@ -31,7 +31,7 @@
 import com.java110.intf.store.IContractRoomInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
-import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
+import com.java110.po.fee.FeeReceiptDetailPo;
 import com.java110.utils.constant.FeeConfigConstant;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.ListenerExecuteException;
@@ -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);
@@ -1402,9 +1354,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);
@@ -1438,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 {
@@ -1457,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 {
@@ -1475,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 {
@@ -1490,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);
@@ -1507,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 {
@@ -1521,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);
@@ -1548,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 {
@@ -1564,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 {
@@ -1579,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 {
@@ -1593,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);
@@ -1618,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);
@@ -1775,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);
         }
 
@@ -1794,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");
     }
 
     /**
@@ -2303,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