From 074caee550216dfd4bb676677ae33cbd837c5710 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 27 八月 2025 18:17:21 +0800
Subject: [PATCH] 暂存0827
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 74 +++++++++++++++++++++++++++++++++++--
1 files changed, 70 insertions(+), 4 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 ff3235b..755e2ed 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,9 @@
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;
import org.springframework.http.ResponseEntity;
@@ -30,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
@@ -77,7 +83,6 @@
//鏌ヨ璐圭敤淇℃伅arrearsEndTime
// todo 杩欓噷鑰冭檻棰勪粯鏈熺殑璐圭敤 鎵�浠ユ煡璇㈠叏閲忓啀鐢ㄨ垂鐢�
- //feeDto.setArrearsEndTime(DateUtil.getCurrentDate());
feeDto.setState(FeeDto.STATE_DOING);
List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
@@ -92,6 +97,13 @@
List<FeeDto> tmpFeeDtos = new ArrayList<>();
for (FeeDto tmpFeeDto : feeDtos) {
try {
+ if (!StringUtil.isEmpty(tmpFeeDto.getAdditionalAmount())) {
+ tmpFeeDto.setAdditionalAmount(Double.parseDouble(tmpFeeDto.getAdditionalAmount()) + "");
+ }
+ if (!StringUtil.isEmpty(tmpFeeDto.getSquarePrice())) {
+ tmpFeeDto.setSquarePrice(Double.parseDouble(tmpFeeDto.getSquarePrice()) + "");
+ }
+
//todo 鏈夌洰鏍囩粨鏉熸椂闂�,骞朵笖涓嶆槸涓�娆℃�ц垂鐢�
if (!StringUtil.isEmpty(feeDto.getTargetEndTime())
&& !FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())
@@ -182,7 +194,7 @@
throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡鍒版埧灞嬩俊鎭紝鏌ヨ澶氭潯鏁版嵁");
}
roomDto = roomDtos.get(0);
- feeDto.setPayerObjName(roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum() );
+ feeDto.setPayerObjName(roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum());
feeDto.setBuiltUpArea(roomDto.getBuiltUpArea());
} else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {//杞︿綅鐩稿叧
@@ -215,7 +227,6 @@
Integer.parseInt(feeDto.getDecimalPlace())
)
);
-
if (!StringUtil.isEmpty(custEndTime)) {
Date date = DateUtil.getDateFromStringB(custEndTime);
computeFeeSMOImpl.dealRentRateCustEndTime(feeDto, date);
@@ -251,7 +262,62 @@
//鍘绘帀澶氫綑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);
+ }
+ }
+ //璁$畻MaxEndTime鍜宲ayStartDate涔嬮棿鐨勬湀鏁�
+ int monthCount = DateUtil.calculateMonths(DateUtil.getFormatTimeStringB(apiFeeDataVo.getPayStartDate()), apiFeeDataVo.getMaxEndTime());
+ apiFeeDataVo.setMonthCount(monthCount);
+ return ResultVo.createResponseEntity(apiFeeDataVo);
}
@Override
--
Gitblit v1.8.0