From 9ec0a61f90ac2464eebc643bfe2d93ac9ba6e569 Mon Sep 17 00:00:00 2001
From: cgf <2156125618@qq.com>
Date: 星期六, 23 八月 2025 10:59:18 +0800
Subject: [PATCH] 折扣已完成现有需求2025/08/09
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 58 insertions(+), 2 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 5405d58..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
@@ -23,6 +23,8 @@
import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.util.*;
import com.java110.vo.ResultVo;
+import com.java110.vo.api.fee.ApiFeeDataVo;
+import com.java110.vo.api.fee.ApiFeeVo;
import com.java110.vo.api.feeConfig.ApiFeeConfigDataVo;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,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
@@ -222,7 +227,6 @@
Integer.parseInt(feeDto.getDecimalPlace())
)
);
-
if (!StringUtil.isEmpty(custEndTime)) {
Date date = DateUtil.getDateFromStringB(custEndTime);
computeFeeSMOImpl.dealRentRateCustEndTime(feeDto, date);
@@ -258,7 +262,59 @@
//鍘绘帀澶氫綑0
feeDto.setSquarePrice(Double.parseDouble(feeDto.getSquarePrice()) + "");
feeDto.setAdditionalAmount(Double.parseDouble(feeDto.getAdditionalAmount()) + "");
- return ResultVo.createResponseEntity(feeDto);
+ ApiFeeDataVo apiFeeDataVo = BeanConvertUtil.covertBeanList(feeDtos, ApiFeeDataVo.class).get(0);
+ apiFeeDataVo.setStartTime(apiFeeDataVo.getStartTime() == null ? null : apiFeeDataVo.getStartTime().split(" ")[0]);
+ 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);
}
@Override
--
Gitblit v1.8.0