From 37f6ecc9c54bc8fd6cfaaf6380b3ab8ba09c5fe8 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 23 十月 2023 18:59:47 +0800
Subject: [PATCH] 优化代码
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 92 +---------------------------------------------
1 files changed, 2 insertions(+), 90 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 fb42cb1..1b8ff41 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
@@ -461,7 +461,7 @@
private void dealFeePs(ParkingSpaceDto tmpParkingSpaceDto, FeeDto feeDto) {
// 杞暟 * 鍛ㄦ湡 * 30 + 寮�濮嬫椂闂� = 鐩爣 鍒版湡鏃堕棿
- Map<String, Object> targetEndDateAndOweMonth = getTargetEndDateAndOweMonth(feeDto);
+ Map<String, Object> targetEndDateAndOweMonth = computeFeeSMOImpl.getTargetEndDateAndOweMonth(feeDto);
Date targetEndDate = (Date) targetEndDateAndOweMonth.get("targetEndDate");
double oweMonth = (double) targetEndDateAndOweMonth.get("oweMonth");
if (!tmpParkingSpaceDto.getPsId().equals(feeDto.getPayerObjId())) {
@@ -579,7 +579,7 @@
}
private void dealFeeRoom(RoomDto tmpRoomDto, FeeDto feeDto) {
- Map<String, Object> targetEndDateAndOweMonth = getTargetEndDateAndOweMonth(feeDto);
+ Map<String, Object> targetEndDateAndOweMonth = computeFeeSMOImpl.getTargetEndDateAndOweMonth(feeDto);
Date targetEndDate = (Date) targetEndDateAndOweMonth.get("targetEndDate");
double oweMonth = (double) targetEndDateAndOweMonth.get("oweMonth");
if (!tmpRoomDto.getRoomId().equals(feeDto.getPayerObjId())) {
@@ -658,95 +658,7 @@
}
- private Map getTargetEndDateAndOweMonth(FeeDto feeDto) {
- Date targetEndDate = null;
- double oweMonth = 0.0;
- Map<String, Object> targetEndDateAndOweMonth = new HashMap<>();
-
- if (FeeDto.STATE_FINISH.equals(feeDto.getState())) {
- targetEndDate = feeDto.getEndTime();
- targetEndDateAndOweMonth.put("oweMonth", oweMonth);
- targetEndDateAndOweMonth.put("targetEndDate", targetEndDate);
- return targetEndDateAndOweMonth;
- }
- if (FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())) {
- if (feeDto.getDeadlineTime() != null) {
- targetEndDate = feeDto.getDeadlineTime();
- } else if (!StringUtil.isEmpty(feeDto.getCurDegrees())) {
- targetEndDate = feeDto.getCurReadingTime();
- } else if (feeDto.getImportFeeEndTime() == null) {
- targetEndDate = feeDto.getConfigEndTime();
- } else {
- targetEndDate = feeDto.getImportFeeEndTime();
- }
- //鍒ゆ柇褰撳墠璐圭敤鏄笉鏄鍏ヨ垂鐢�
- oweMonth = 1.0;
-
- } else {
- //褰撳墠鏃堕棿
- Date billEndTime = DateUtil.getCurrentDate();
- //寮�濮嬫椂闂�
- Date startDate = feeDto.getStartTime();
- //鍒版湡鏃堕棿
- Date endDate = feeDto.getEndTime();
- if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {
- OwnerCarDto ownerCarDto = new OwnerCarDto();
- ownerCarDto.setCommunityId(feeDto.getCommunityId());
- ownerCarDto.setCarId(feeDto.getPayerObjId());
- List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
-
- if (ownerCarDtos == null || ownerCarDtos.size() != 1) {
- targetEndDateAndOweMonth.put("oweMonth", 0);
- targetEndDateAndOweMonth.put("targetEndDate", "");
- return targetEndDateAndOweMonth;
- }
-
- targetEndDate = ownerCarDtos.get(0).getEndTime();
- //璇存槑娌℃湁娆犺垂
- if (endDate.getTime() >= targetEndDate.getTime()) {
- // 鐩爣鍒版湡鏃堕棿 - 鍒版湡鏃堕棿 = 娆犺垂鏈堜唤
- oweMonth = 0;
- targetEndDateAndOweMonth.put("oweMonth", oweMonth);
- targetEndDateAndOweMonth.put("targetEndDate", targetEndDate);
- return targetEndDateAndOweMonth;
- }
- }
-
- //缂磋垂鍛ㄦ湡
- long paymentCycle = Long.parseLong(feeDto.getPaymentCycle());
- // 褰撳墠鏃堕棿 - 寮�濮嬫椂闂� = 鏈堜唤
- double mulMonth = 0.0;
- mulMonth = DateUtil.dayCompare(startDate, billEndTime);
-
- // 鏈堜唤/ 鍛ㄦ湡 = 杞暟锛堝悜涓婂彇鏁达級
- double round = 0.0;
- if ("1200".equals(feeDto.getPaymentCd())) { // 棰勪粯璐�
- round = Math.floor(mulMonth / paymentCycle) + 1;
- } else { //鍚庝粯璐�
- round = Math.floor(mulMonth / paymentCycle);
- }
- // 杞暟 * 鍛ㄦ湡 * 30 + 寮�濮嬫椂闂� = 鐩爣 鍒版湡鏃堕棿
- targetEndDate = getTargetEndTime(round * paymentCycle, startDate);
- //璐圭敤 蹇粨鏉熶簡
- if (feeDto.getConfigEndTime().getTime() < targetEndDate.getTime()) {
- targetEndDate = feeDto.getConfigEndTime();
- }
- //璇存槑娌℃湁娆犺垂
- if (endDate.getTime() < targetEndDate.getTime()) {
- // 鐩爣鍒版湡鏃堕棿 - 鍒版湡鏃堕棿 = 娆犺垂鏈堜唤
- oweMonth = DateUtil.dayCompare(endDate, targetEndDate);
- }
-
- if (feeDto.getEndTime().getTime() > targetEndDate.getTime()) {
- targetEndDate = feeDto.getEndTime();
- }
- }
-
- targetEndDateAndOweMonth.put("oweMonth", oweMonth);
- targetEndDateAndOweMonth.put("targetEndDate", targetEndDate);
- return targetEndDateAndOweMonth;
- }
private Date getTargetEndTime(double v, Date startDate) {
Calendar endDate = Calendar.getInstance();
--
Gitblit v1.8.0