From 89e62ac67a77826e6b71c31a8136f483bc891d3b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 23 六月 2022 15:40:09 +0800
Subject: [PATCH] 优化 间接性费用功能

---
 service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 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 7e07d8c..bc7a8fa 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
@@ -55,6 +55,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.*;
 
 @Java110Cmd(serviceCode = "fee.payFee")
@@ -161,20 +162,22 @@
         feeConfigDto.setCommunityId(reqJson.getString("communityId"));
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
 
-        if (feeConfigDtos != null && feeConfigDtos.size() == 1) {
+        if (feeConfigDtos == null || feeConfigDtos.size() != 1) {
+            throw new IllegalArgumentException("璐圭敤椤逛笉瀛樺湪");
+        }
+        Date maxEndTime = feeDtos.get(0).getDeadlineTime();
+        if (FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())) {
             try {
-                Date configEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
-                configEndTime = DateUtil.stepDay(configEndTime,5);
-                Date newDate = DateUtil.stepMonth(endTime, reqJson.getDouble("cycles").intValue());
-
-                if (newDate.getTime() > configEndTime.getTime()) {
-                    throw new IllegalArgumentException("缂磋垂鍛ㄦ湡瓒呰繃 缂磋垂缁撴潫鏃堕棿");
-                }
-
-            } catch (Exception e) {
+                maxEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
+            } catch (ParseException e) {
                 logger.error("姣旇緝璐圭敤鏃ユ湡澶辫触", e);
             }
         }
+        Date newDate = DateUtil.stepMonth(endTime, reqJson.getDouble("cycles").intValue());
+        if (newDate.getTime() > maxEndTime.getTime()) {
+            throw new IllegalArgumentException("缂磋垂鍛ㄦ湡瓒呰繃 缂磋垂缁撴潫鏃堕棿");
+        }
+        
         String selectUserAccount = reqJson.getString("selectUserAccount");
         JSONArray params = JSONArray.parseArray(selectUserAccount);
         for (int paramIndex = 0; paramIndex < params.size(); paramIndex++) {

--
Gitblit v1.8.0