From ee8a712a522a84540db7a6e4d687ea3600bef805 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 01 十二月 2020 10:10:30 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/bmo/fee/impl/FeeBMOImpl.java |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/fee/impl/FeeBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/fee/impl/FeeBMOImpl.java
index 3a8fc37..d604a1e 100644
--- a/service-api/src/main/java/com/java110/api/bmo/fee/impl/FeeBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/fee/impl/FeeBMOImpl.java
@@ -167,7 +167,7 @@
         paramInJson.put("feeInfo", feeDto);
 
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(PayFeeDetailPo.class.getSimpleName(), businessFeeDetail);
-
+        paramInJson.put("detailId", businessFeeDetail.getString("detailId"));
         feeReceiptDetailPo.setAmount(businessFeeDetail.getString("receivedAmount"));
         feeReceiptDetailPo.setCommunityId(feeDto.getCommunityId());
         feeReceiptDetailPo.setCycle(businessFeeDetail.getString("cycles"));
@@ -199,7 +199,8 @@
             cycles = cycles - Math.floor(cycles);
         }
         //int hours = new Double(cycles * DateUtil.getCurrentMonthDay() * 24).intValue();
-        int hours = new Double(cycles * 30 * 24).intValue();
+        int futureDay = endCalender.getActualMaximum(Calendar.DAY_OF_MONTH);
+        int hours = new Double(cycles * futureDay * 24).intValue();
         endCalender.add(Calendar.HOUR, hours);
 
         return endCalender;
@@ -247,8 +248,10 @@
         endCalender.setTime(endTime);
         int hours = 0;
         if ("-101".equals(paramInJson.getString("cycles"))) {
-            hours = new Double(Double.parseDouble(paramInJson.getString("tmpCycles")) * DateUtil.getCurrentMonthDay() * 24).intValue();
-            endCalender.add(Calendar.HOUR, hours);
+//            hours = new Double(Double.parseDouble(paramInJson.getString("tmpCycles")) * DateUtil.getCurrentMonthDay() * 24).intValue();
+//            endCalender.add(Calendar.HOUR, hours);
+
+            endCalender = getTargetEndTime(endCalender, Double.parseDouble(paramInJson.getString("tmpCycles")));
         } else {
             endCalender.add(Calendar.MONTH, Integer.parseInt(paramInJson.getString("cycles")));
         }
@@ -311,8 +314,9 @@
         endCalender.setTime(endTime);
         int hours = 0;
         if ("-101".equals(paramInJson.getString("cycles"))) {
-            hours = new Double(Double.parseDouble(paramInJson.getString("tmpCycles")) * DateUtil.getCurrentMonthDay() * 24).intValue();
-            endCalender.add(Calendar.HOUR, hours);
+//            hours = new Double(Double.parseDouble(paramInJson.getString("tmpCycles")) * DateUtil.getCurrentMonthDay() * 24).intValue();
+//            endCalender.add(Calendar.HOUR, hours);
+            endCalender = getTargetEndTime(endCalender, Double.parseDouble(paramInJson.getString("tmpCycles")));
         } else {
             endCalender.add(Calendar.MONTH, Integer.parseInt(paramInJson.getString("cycles")));
             if (FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())) {
@@ -664,9 +668,9 @@
 
         String time = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A);
 
-        if(paramInJson.containsKey("feeEndDate")){
+        if (paramInJson.containsKey("feeEndDate")) {
             time = paramInJson.getString("feeEndDate");
-        }else if (paramInJson.containsKey("startTime")) {
+        } else if (paramInJson.containsKey("startTime")) {
             time = paramInJson.getString("startTime");
         }
         JSONObject business = JSONObject.parseObject("{\"datas\":{}}");

--
Gitblit v1.8.0