From f44187822ea6217070c0f6fc585c3feadea03cb1 Mon Sep 17 00:00:00 2001
From: chengf <2156125618@qq.com>
Date: 星期三, 13 八月 2025 09:30:18 +0800
Subject: [PATCH] 折扣逻辑修改2025/08/13

---
 service-fee/src/main/java/com/java110/fee/api/FeeDiscountApi.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/api/FeeDiscountApi.java b/service-fee/src/main/java/com/java110/fee/api/FeeDiscountApi.java
index b6dfefe..c600203 100755
--- a/service-fee/src/main/java/com/java110/fee/api/FeeDiscountApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/FeeDiscountApi.java
@@ -27,6 +27,8 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.text.ParseException;
+import java.util.Calendar;
+import java.util.Date;
 
 
 @RestController
@@ -198,17 +200,26 @@
                                                      @RequestParam(value = "row") int row) throws ParseException {
 //        custEndTime = "2025-12-20";
 //        custStartTime = "2025-12-11";
-        if (cycles == 105){
-            if(custStartTime == null){
-                throw new IllegalArgumentException("璇烽�夋嫨寮�濮嬫椂闂�");
+        if (cycles == 105) {
+            if(custStartTime == null || custEndTime == null){
+                throw new IllegalArgumentException("璇烽�夋嫨鏃堕棿娈�");
             }
-            if(custEndTime == null){
-                throw new IllegalArgumentException("璇烽�夋嫨缁撴潫鏃堕棿");
-            }
-            cycles = DateUtil.dayCompare(DateUtil.getDateFromStringB(custStartTime), DateUtil.getDateFromStringB(custEndTime));
             return computeFeeDiscountBMOImpl.compute(feeId, communityId, cycles, payerObjId, payerObjType, custStartTime, page, row, custEndTime);
         }
-        return computeFeeDiscountBMOImpl.compute(feeId, communityId, cycles, payerObjId, payerObjType, endTime, page, row);
+        if(cycles == 103){
+            return computeFeeDiscountBMOImpl.compute(feeId, communityId, 105, payerObjId, payerObjType, endTime.split(" ")[0], page, row, custEndTime);
+        }
+        Calendar c = Calendar.getInstance();
+        if(endTime == null){
+            c.setTime(DateUtil.getDateFromStringB(endTime));
+            c.add(Calendar.MONTH, 1);
+        }else{
+            c.setTime(DateUtil.getDateFromStringB(endTime));
+            c.add(Calendar.MONTH, (int) cycles);
+        }
+        custStartTime = endTime;
+        custEndTime = DateUtil.getFormatTimeStringB(c.getTime());
+        return computeFeeDiscountBMOImpl.compute(feeId, communityId, 105, payerObjId, payerObjType, custStartTime, page, row, custEndTime);
     }
 
 

--
Gitblit v1.8.0