From 4f9c122f237fbee16d5ef9c602b6db95d28ed7b0 Mon Sep 17 00:00:00 2001
From: mrzcc <121184950@qq.com>
Date: 星期一, 10 二月 2020 14:35:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 FeeService/src/main/java/com/java110/fee/listener/fee/UpdateFeeInfoListener.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/FeeService/src/main/java/com/java110/fee/listener/fee/UpdateFeeInfoListener.java b/FeeService/src/main/java/com/java110/fee/listener/fee/UpdateFeeInfoListener.java
index 4979c37..961e692 100644
--- a/FeeService/src/main/java/com/java110/fee/listener/fee/UpdateFeeInfoListener.java
+++ b/FeeService/src/main/java/com/java110/fee/listener/fee/UpdateFeeInfoListener.java
@@ -15,10 +15,13 @@
 import com.java110.core.context.DataFlowContext;
 import com.java110.entity.center.Business;
 import com.java110.fee.dao.IFeeServiceDao;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.NumberUtils;
 
 import java.util.*;
 
@@ -126,8 +129,8 @@
         feeDetailInfo.put("operate", "ADD");
         List<Map> feeDetails = feeDetailServiceDaoImpl.getBusinessFeeDetailInfo(feeDetailInfo);
         Assert.listOnlyOne(feeDetails, "business琛ㄤ腑瀛樺湪澶氭潯缂磋垂璁板綍鎴栨病鏈�");
-
-        int cycles = Integer.parseInt(feeDetails.get(0).get("cycles").toString());
+        String cyclesStr = feeDetails.get(0).get("cycles").toString();
+        double cycles = Double.parseDouble(cyclesStr);
 
         Map feeMap = null;
         if (businessFeeInfos != null && businessFeeInfos.size() > 0) {
@@ -147,10 +150,15 @@
                     Assert.listOnlyOne(feeInfo, "鏌ヨ鍒板鏉℃暟鎹垨鏈煡璇㈠埌鏁版嵁" + feeMap);
                     //鏍规嵁褰撳墠鐨勭粨鏉熸椂闂� 淇敼
                     Date endTime = (Date) feeInfo.get(0).get("end_time");
-                    Calendar endCalender = Calendar.getInstance();
-                    endCalender.setTime(endTime);
-                    endCalender.add(Calendar.MONTH, cycles);
                     if(cycles > 0) {
+                        Calendar endCalender = Calendar.getInstance();
+                        endCalender.setTime(endTime);
+                        if(StringUtil.isNumber(cyclesStr)) {
+                            endCalender.add(Calendar.MONTH, new Double(cycles).intValue());
+                        }else{
+                            int hours = new Double(cycles * DateUtil.getCurrentMonthDay() * 24).intValue();
+                            endCalender.add(Calendar.HOUR, hours);
+                        }
                         businessFeeInfo.put("end_time", endCalender.getTime());
                     }
                     flushBusinessFeeInfo(businessFeeInfo, StatusConstant.STATUS_CD_VALID);

--
Gitblit v1.8.0