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/PayBatchFeeCmd.java |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java
index b5883e7..77475aa 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java
@@ -132,17 +132,21 @@
             feeConfigDto.setConfigId(feeDto.getConfigId());
             feeConfigDto.setCommunityId(paramInObj.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);
-                    Date newDate = DateUtil.stepMonth(endTime, paramInObj.getInteger("cycles") - 1);
-                    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, paramInObj.getInteger("cycles") - 1);
+            if (newDate.getTime() > maxEndTime.getTime()) {
+                throw new IllegalArgumentException("缂磋垂鍛ㄦ湡瓒呰繃 缂磋垂缁撴潫鏃堕棿");
+            }
         }
     }
 

--
Gitblit v1.8.0