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-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java | 55 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 43 insertions(+), 12 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
index b171883..5de248d 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
@@ -6,13 +6,11 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.PropertyWhiteListFlowDto;
-import com.java110.dto.fee.ComputeDiscountDto;
-import com.java110.dto.fee.FeeAttrDto;
-import com.java110.dto.fee.FeeConfigDto;
-import com.java110.dto.fee.FeeDto;
+import com.java110.dto.fee.*;
import com.java110.dto.importData.ImportRoomFee;
import com.java110.dto.log.AssetImportLogDetailDto;
import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.dto.payFee.PayFeeDetailDiscountDto;
import com.java110.dto.room.RoomDto;
import com.java110.dto.system.ComponentValidateResult;
import com.java110.fee.api.FeeDiscountApi;
@@ -29,6 +27,7 @@
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeeDetailPo;
import com.java110.po.fee.PayFeePo;
+import com.java110.po.payFee.PayFeeDetailDiscountPo;
import com.java110.utils.constant.StatusConstant;
import com.java110.utils.exception.DAOException;
import com.java110.utils.util.BeanConvertUtil;
@@ -92,6 +91,8 @@
@Autowired
private ImportCarHistoryFeeDetailQueueDataAdapt importCarHistoryFeeDetailQueueDataAdapt;
+ @Autowired
+ private IPayFeeDetailDiscountNewV1InnerServiceSMO payFeeDetailDiscountNewV1InnerServiceSMOImpl;
@Override
public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
@@ -368,6 +369,9 @@
throw new IllegalArgumentException("璇ュ垵濮嬪寲缂磋垂璁板綍淇℃伅涓寘鍚涓垂鐢ㄨ褰�"+importRoomFee.getFeeName()+startDate+endDate);
}
for (FeeDto tmpFeeDto : feeDtos) {
+ if(DateUtil.getDateFromStringB(importRoomFee.getEndTime()).getTime() > tmpFeeDto.getEndTime().getTime()){
+ throw new IllegalArgumentException("璇ヨ垂鐢ㄨ褰曠粨鏉熸椂闂村ぇ浜庤垂鐢ㄨ褰曟渶澶х即璐规椂闂�");
+ }
doImportFeeDetail(tmpFeeDto, importRoomFee);
}
@@ -391,7 +395,6 @@
PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
payFeeDetailPo.setCommunityId(importRoomFee.getCommunityId());
payFeeDetailPo.setReceivedAmount(importRoomFee.getAmount());
- payFeeDetailPo.setReceivableAmount(importRoomFee.getAmount());
payFeeDetailPo.setCycles(importRoomFee.getCycle());
payFeeDetailPo.setPrimeRate("1.0");
payFeeDetailPo.setFeeId(tmpFeeDto.getFeeId());
@@ -401,27 +404,41 @@
payFeeDetailPo.setCreateTime(importRoomFee.getCreateTime());
payFeeDetailPo.setState("1400");
payFeeDetailPo.setCashierName(importRoomFee.getStaffName());
- payFeeDetailPo.setPayableAmount(importRoomFee.getAmount());
payFeeDetailPo.setPayOrderId(importRoomFee.getPayObjId());
+ payFeeDetailPo.setB("T");
+ double cycle = (DateUtil.dayCompare(
+ DateUtil.getDateFromStringA(payFeeDetailPo.getStartTime()),
+ DateUtil.getDateFromStringA(payFeeDetailPo.getEndTime())
+ ));
+ payFeeDetailPo.setCycles(cycle+"");
int count = feeDetailInnerServiceSMOImpl.queryFeeDetailsCountByVo(payFeeDetailPo);
+ payFeeDetailPo.setPayableAmount(importRoomFee.getAmount());
if (count > 0) {
throw new IllegalStateException("閲嶅鐨勭即璐硅褰�");
}
+ PayFeeDetailDiscountPo payFeeDetailDiscount = new PayFeeDetailDiscountPo();
try {
- ResponseEntity<String> resultVo = feeDiscountApi.computeFeeDiscount(tmpFeeDto.getFeeId(), tmpFeeDto.getCommunityId(), Double.parseDouble(importRoomFee.getCycle()), importRoomFee.getPayObjId(),
+ ResponseEntity<String> resultVo = feeDiscountApi.computeFeeDiscount(tmpFeeDto.getFeeId(), tmpFeeDto.getCommunityId(), 105, importRoomFee.getPayObjId(),
tmpFeeDto.getPayerObjType(), importRoomFee.getEndTime(), importRoomFee.getEndTime(), importRoomFee.getStartTime(), 1, 20);
// 2. 浠� ResultVo 涓幏鍙� data 骞跺己杞负鐩爣绫诲瀷
if (resultVo != null) {
// 鍋囪 data 瀛楁瀛樺偍鐨勬槸 List<ComputeDiscountDto>
JSONArray data = (JSONArray) JSONObject.parseObject(resultVo.getBody()).get("data");
- JSONObject o = (JSONObject) data.get(0);
- String discountPrice = o.get("discountPrice").toString();
- String discountId = o.get("discountId").toString();
+
+ if(data.size() > 0) {
+ JSONObject o = (JSONObject) data.get(0);
+ String discountPrice = o.get("discountPrice").toString();
+ String discountId = o.get("discountId").toString();
+ payFeeDetailPo.setDiscountAmount(discountPrice);
+ payFeeDetailPo.setReceivableAmount((Double.parseDouble(payFeeDetailPo.getReceivedAmount()) + Double.parseDouble(payFeeDetailPo.getDiscountAmount()))+"");
+ payFeeDetailDiscount.setDiscountId(discountId);
+ payFeeDetailDiscount.setDiscountPrice(discountPrice);
+ }
}
} catch (ParseException e) {
throw new RuntimeException(e);
@@ -433,6 +450,21 @@
payFeeDetailPo.setOpenInvoice(importRoomFee.getOpenInv());
}
int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
+
+ FeeDetailDto feeDetailDto = new FeeDetailDto();
+ feeDetailDto.setDetailId(payFeeDetailPo.getDetailId());
+
+ List<FeeDetailDto> feeDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
+
+ if (payFeeDetailDiscount.getDiscountId() != null) {
+ payFeeDetailDiscount.setDetailId(payFeeDetailPo.getDetailId());
+ payFeeDetailDiscount.setStatusCd("0");
+ payFeeDetailDiscount.setCommunityId(feeDtos.get(0).getCommunityId());
+ payFeeDetailDiscount.setFeeId(feeDtos.get(0).getFeeId());
+ payFeeDetailDiscount.setDetailDiscountId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_discountId));
+ }
+
+ payFeeDetailDiscountNewV1InnerServiceSMOImpl.savePayFeeDetailDiscountNew(payFeeDetailDiscount);
if (saved < 1) {
return;
@@ -456,9 +488,8 @@
payFeePo.setFeeId(tmpFeeDto.getFeeId());
String[] arr = importRoomFee.getEndTime().split(" ");
if (arr.length >= 2 &&arr[1].equals("23:59:59")){
- importRoomFee.setEndTime(arr[0] + " 00:00:00");
+ payFeePo.setEndTime(DateUtil.getNextSecTime(importRoomFee.getEndTime()));
}
- payFeePo.setEndTime(DateUtil.getNextSecTime(importRoomFee.getEndTime()));
if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())) {
payFeePo.setState(FeeDto.STATE_FINISH);
}
--
Gitblit v1.8.0