From b173d31976fc4731b7c247d4038de92134eba317 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 29 六月 2023 11:42:17 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-fee/src/main/java/com/java110/fee/cmd/fee/ListMonthFeeCmd.java | 101 +++++++++++++++++++++++---------------------------
1 files changed, 46 insertions(+), 55 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/ListMonthFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/ListMonthFeeCmd.java
index f5c745d..7308b9d 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/ListMonthFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/ListMonthFeeCmd.java
@@ -116,16 +116,38 @@
// todo 澶勭悊 澶氫釜鎴垮眿
morePayerObjIds(reqJson, payFeeDetailMonthDto);
- int count = payFeeDetailMonthInnerServiceSMOImpl.queryPayFeeDetailMonthsCount(payFeeDetailMonthDto);
+ int count = payFeeDetailMonthInnerServiceSMOImpl.queryPagePayFeeDetailMonthsCount(payFeeDetailMonthDto);
+
List<PayFeeDetailMonthDto> payFeeDetailMonthDtos = null;
if (count > 0) {
- payFeeDetailMonthDtos = payFeeDetailMonthInnerServiceSMOImpl.queryPayFeeDetailMonths(payFeeDetailMonthDto);//鏌ヨ璐圭敤椤圭洰
- //freshFeeAttrs(fees, feeDtos);
+ payFeeDetailMonthDtos = payFeeDetailMonthInnerServiceSMOImpl.queryPagePayFeeDetailMonths(payFeeDetailMonthDto);//鏌ヨ璐圭敤椤圭洰
+ //todo 鏍规嵁閰嶇疆澶勭悊灏忔暟鐐�
+ doScale(payFeeDetailMonthDtos);
+ //todo 灏� 璐圭敤涓嬬殑灞炴�у埛鍏ヨ繘鍘伙紝鏂逛究鍓嶆灞曠ず浣跨敤
+ freshFeeAttrs(payFeeDetailMonthDtos);
} else {
payFeeDetailMonthDtos = new ArrayList<>();
}
context.setResponseEntity(ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, payFeeDetailMonthDtos));
+ }
+
+ /**
+ * 澶勭悊搴旀敹灏忔暟鐐�
+ *
+ * @param payFeeDetailMonthDtos
+ */
+ private void doScale(List<PayFeeDetailMonthDto> payFeeDetailMonthDtos) {
+ if (payFeeDetailMonthDtos == null || payFeeDetailMonthDtos.size() < 1) {
+ return;
+ }
+ double amount = 0.0;
+ for (PayFeeDetailMonthDto payFeeDetailMonthDto : payFeeDetailMonthDtos) {
+ amount = MoneyUtil.computePriceScale(Double.parseDouble(payFeeDetailMonthDto.getReceivableAmount()),
+ payFeeDetailMonthDto.getScale(),
+ Integer.parseInt(payFeeDetailMonthDto.getDecimalPlace()));
+ payFeeDetailMonthDto.setReceivableAmount(amount + "");
+ }
}
/**
@@ -188,61 +210,30 @@
}
}
- private void freshFeeAttrs(List<ApiFeeDataVo> fees, List<FeeDto> feeDtos) {
- String link = "";
- for (FeeDto feeDto : feeDtos) {
- if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(feeDto.getPayerObjType())) { //鎴垮眿
- OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
- ownerRoomRelDto.setRoomId(feeDto.getPayerObjId());
- List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
- if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
- continue;
- }
- OwnerDto ownerDto = new OwnerDto();
- ownerDto.setMemberId(ownerRoomRelDtos.get(0).getOwnerId());
- List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
- Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富閿欒锛�");
- link = ownerDtos.get(0).getLink();
- } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {
- OwnerCarDto ownerCarDto = new OwnerCarDto();
- ownerCarDto.setMemberId(feeDto.getPayerObjId());
- List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
- Assert.listOnlyOne(ownerCarDtos, "鏌ヨ涓氫富杞﹁締琛ㄩ敊璇紒");
- OwnerDto ownerDto = new OwnerDto();
- ownerDto.setMemberId(ownerCarDtos.get(0).getOwnerId());
- List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
- Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富閿欒锛�");
- link = ownerDtos.get(0).getLink();
- }
- FeeAttrDto feeAttrDto = new FeeAttrDto();
- feeAttrDto.setFeeId(feeDto.getFeeId());
- List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
- if (feeAttrDtos == null || feeAttrDtos.size() < 1) {
- continue;
- }
- for (FeeAttrDto feeAttr : feeAttrDtos) {
- if (!FeeAttrDto.SPEC_CD_OWNER_LINK.equals(feeAttr.getSpecCd())) { //鑱旂郴鏂瑰紡
- continue;
- }
- if (feeAttr.getValue().equals(link)) {
- continue;
- }
- FeeAttrPo feeAttrPo = new FeeAttrPo();
- feeAttrPo.setAttrId(feeAttr.getAttrId());
- feeAttrPo.setValue(link);
- int flag = feeAttrInnerServiceSMOImpl.updateFeeAttr(feeAttrPo);
- if (flag < 1) {
- throw new CmdException("鏇存柊涓氫富鑱旂郴鏂瑰紡澶辫触");
- }
-
- }
+ private void freshFeeAttrs(List<PayFeeDetailMonthDto> payFeeDetailMonthDtos) {
+ List<String> feeIds = new ArrayList<>();
+ for (PayFeeDetailMonthDto feeDto : payFeeDetailMonthDtos) {
+ feeIds.add(feeDto.getFeeId());
}
- for (ApiFeeDataVo apiFeeDataVo : fees) {
- for (FeeDto feeDto : feeDtos) {
- if (apiFeeDataVo.getFeeId().equals(feeDto.getFeeId())) {
- apiFeeDataVo.setFeeAttrs(feeDto.getFeeAttrDtos());
+
+ FeeAttrDto feeAttrDto = new FeeAttrDto();
+ feeAttrDto.setFeeIds(feeIds.toArray(new String[feeIds.size()]));
+ List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
+
+ if (feeAttrDtos == null || feeAttrDtos.size() < 1) {
+ return;
+ }
+
+ List<FeeAttrDto> tmpFeeAttrDtos = null;
+ for (PayFeeDetailMonthDto feeDto : payFeeDetailMonthDtos) {
+ tmpFeeAttrDtos = new ArrayList<>();
+ for (FeeAttrDto tmpFeeAttrDto : feeAttrDtos) {
+ if (!feeDto.getFeeId().equals(tmpFeeAttrDto.getFeeId())) {
+ continue;
}
+ tmpFeeAttrDtos.add(tmpFeeAttrDto);
}
+ feeDto.setFeeAttrs(tmpFeeAttrDtos);
}
}
}
--
Gitblit v1.8.0