From f4d855f8d2d5cd52c0831e690dcb12e700b91eb1 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期五, 22 八月 2025 20:00:14 +0800
Subject: [PATCH] 费用初始化添加折扣金额以及折扣记录0822
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 50 insertions(+), 1 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
index 777191f..b46b989 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -33,6 +33,9 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
import java.util.*;
@Service
@@ -224,7 +227,6 @@
Integer.parseInt(feeDto.getDecimalPlace())
)
);
-
if (!StringUtil.isEmpty(custEndTime)) {
Date date = DateUtil.getDateFromStringB(custEndTime);
computeFeeSMOImpl.dealRentRateCustEndTime(feeDto, date);
@@ -265,6 +267,53 @@
apiFeeDataVo.setEndTime(apiFeeDataVo.getEndTime() == null ? null : apiFeeDataVo.getEndTime().split(" ")[0]);
apiFeeDataVo.setMaxEndTime(apiFeeDataVo.getMaxEndTime() == null ? null : apiFeeDataVo.getMaxEndTime().split(" ")[0]);
apiFeeDataVo.setDeadlineTime(apiFeeDataVo.getDeadlineTime() == null ? null : apiFeeDataVo.getDeadlineTime().split(" ")[0]);
+ if (cycel != null && !"105".equals(cycel)) { // 淇瀛楃涓叉瘮杈冩柟寮�
+ Date date = feeDto.getEndTime();
+ if (date != null) { // 澧炲姞绌哄�兼鏌�
+ LocalDateTime localDateTime;
+
+ // 澶勭悊 java.sql.Date 涓嶆敮鎸� toInstant() 鐨勯棶棰�
+ if (date instanceof java.sql.Date) {
+ // 瀵逛簬 sql.Date锛屽厛杞崲涓� LocalDate 鍐嶈浆涓� LocalDateTime
+ LocalDate localDate = ((java.sql.Date) date).toLocalDate();
+ localDateTime = localDate.atStartOfDay();
+ } else {
+ // 瀵逛簬 util.Date锛屾甯歌浆鎹�
+ localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
+ }
+
+ try {
+ // 澧炲姞x涓湀
+ int monthsToAdd = Integer.parseInt(cycel);
+ LocalDateTime newLocalDateTime = localDateTime.plusMonths(monthsToAdd).minusDays(1);
+
+ // 杞崲鍥濪ate
+ Date newDate = Date.from(newLocalDateTime.atZone(ZoneId.systemDefault()).toInstant());
+ apiFeeDataVo.setPayStartDate(feeDto.getEndTime());
+ apiFeeDataVo.setPayEndDate(newDate);
+ } catch (NumberFormatException e) {
+ // 澶勭悊cycel鏃犳硶杞崲涓烘暣鏁扮殑寮傚父
+ // 鍙互鏍规嵁瀹為檯闇�姹傝褰曟棩蹇楁垨鎶涘嚭鑷畾涔夊紓甯�
+ e.printStackTrace();
+ }
+ }
+ }else{
+ apiFeeDataVo.setPayStartDate(DateUtil.getDateFromStringB(feeDto.getCustomStartTime()));
+ // 鑾峰彇鍘熷鏃ユ湡
+ Date originalDate = DateUtil.getDateFromStringB(feeDto.getCustomEndTime());
+ if (originalDate != null) {
+ // 鍒涘缓Calendar瀹炰緥骞惰缃棩鏈�
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(originalDate);
+
+ // 鍑忎竴澶�
+ calendar.add(Calendar.DAY_OF_MONTH, -1);
+
+ // 鑾峰彇澶勭悊鍚庣殑鏃ユ湡
+ Date dateMinusOneDay = calendar.getTime();
+ apiFeeDataVo.setPayEndDate(dateMinusOneDay);
+ }
+ }
return ResultVo.createResponseEntity(apiFeeDataVo);
}
--
Gitblit v1.8.0