From d7d9b601b2e4fdb663375993e2cfbdbd363df421 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 11 七月 2023 22:17:37 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java | 199 ++++++++++++++++++++++++++++++-------------------
1 files changed, 122 insertions(+), 77 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
index 3e82feb..7c37664 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
@@ -8,9 +8,9 @@
import com.java110.core.factory.CommunitySettingFactory;
import com.java110.core.log.LoggerFactory;
import com.java110.core.smo.IComputeFeeSMO;
-import com.java110.dto.FloorDto;
-import com.java110.dto.RoomDto;
-import com.java110.dto.UnitDto;
+import com.java110.dto.floor.FloorDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.unit.UnitDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.owner.OwnerCarDto;
@@ -44,6 +44,9 @@
import java.util.List;
import java.util.Map;
+/**
+ * 鏌ヨ 璐圭敤淇℃伅
+ */
@Java110Cmd(serviceCode = "fee.listFee")
public class ListFeeCmd extends Cmd {
@@ -99,39 +102,14 @@
@Override
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
- if (reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
- String[] roomNums = reqJson.getString("roomNum").split("-", 3);
- if (roomNums == null || roomNums.length != 3) {
- throw new IllegalArgumentException("鎴垮眿缂栧彿鏍煎紡閿欒锛�");
- }
- String floorNum = roomNums[0];
- String unitNum = roomNums[1];
- String roomNum = roomNums[2];
- FloorDto floorDto = new FloorDto();
- floorDto.setFloorNum(floorNum);
- floorDto.setCommunityId(reqJson.getString("communityId"));
- List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
- if (floorDtos != null && floorDtos.size() > 0) {
- for (FloorDto floor : floorDtos) {
- UnitDto unitDto = new UnitDto();
- unitDto.setFloorId(floor.getFloorId());
- unitDto.setUnitNum(unitNum);
- List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
- if (unitDtos != null && unitDtos.size() > 0) {
- for (UnitDto unit : unitDtos) {
- RoomDto roomDto = new RoomDto();
- roomDto.setUnitId(unit.getUnitId());
- roomDto.setRoomNum(roomNum);
- roomDto.setCommunityId(reqJson.getString("communityId"));
- List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
- Assert.listOnlyOne(roomDtos, "鏌ヨ涓嶅埌鎴垮眿锛�");
- reqJson.put("payerObjId", roomDtos.get(0).getRoomId());
- }
- }
- }
- }
- }
+ // todo 鎴垮眿鍚嶇О 鍒峰叆 鎴垮眿ID
+ freshPayerObjIdByRoomNum(reqJson);
+
FeeDto feeDto = BeanConvertUtil.covertBean(reqJson, FeeDto.class);
+
+ // todo 澶勭悊 澶氫釜鎴垮眿
+ morePayerObjIds(reqJson, feeDto);
+
List<ApiFeeDataVo> fees = new ArrayList<>();
if (reqJson.containsKey("ownerId") && !StringUtil.isEmpty(reqJson.getString("ownerId"))) {
OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
@@ -172,52 +150,118 @@
cmdDataFlowContext.setResponseEntity(responseEntity);
}
+ /**
+ * 澶勭悊 澶氬璞� 璐圭敤
+ *
+ * @param reqJson
+ * @param feeDto
+ */
+ private void morePayerObjIds(JSONObject reqJson, FeeDto feeDto) {
+ if (!reqJson.containsKey("payerObjIds") || StringUtil.isEmpty(reqJson.getString("payerObjIds"))) {
+ return;
+ }
+
+ String payerObjIds = reqJson.getString("payerObjIds");
+ feeDto.setPayerObjIds(payerObjIds.split(","));
+ }
+
+ /**
+ * 鏍规嵁鎴垮眿鍚嶇О 鍒峰叆 payerObjId
+ *
+ * @param reqJson
+ */
+ private void freshPayerObjIdByRoomNum(JSONObject reqJson) {
+ if (!reqJson.containsKey("roomNum") || StringUtil.isEmpty(reqJson.getString("roomNum"))) {
+ return;
+ }
+
+ String[] roomNums = reqJson.getString("roomNum").split("-", 3);
+ if (roomNums == null || roomNums.length != 3) {
+ throw new IllegalArgumentException("鎴垮眿缂栧彿鏍煎紡閿欒锛�");
+ }
+
+ String floorNum = roomNums[0];
+ String unitNum = roomNums[1];
+ String roomNum = roomNums[2];
+ FloorDto floorDto = new FloorDto();
+ floorDto.setFloorNum(floorNum);
+ floorDto.setCommunityId(reqJson.getString("communityId"));
+ List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
+ if (floorDtos == null || floorDtos.size() < 1) {
+ return;
+ }
+ for (FloorDto floor : floorDtos) {
+ UnitDto unitDto = new UnitDto();
+ unitDto.setFloorId(floor.getFloorId());
+ unitDto.setUnitNum(unitNum);
+ List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
+ if (unitDtos == null || unitDtos.size() < 1) {
+ continue;
+ }
+ for (UnitDto unit : unitDtos) {
+ RoomDto roomDto = new RoomDto();
+ roomDto.setUnitId(unit.getUnitId());
+ roomDto.setRoomNum(roomNum);
+ roomDto.setCommunityId(reqJson.getString("communityId"));
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+ Assert.listOnlyOne(roomDtos, "鏌ヨ涓嶅埌鎴垮眿锛�");
+ reqJson.put("payerObjId", roomDtos.get(0).getRoomId());
+ }
+ }
+ }
+
private void freshFeeAttrs(List<ApiFeeDataVo> fees, List<FeeDto> feeDtos) {
String link = "";
+ //todo 褰卞搷鏌ヨ鎬ц兘 娉ㄩ噴 by wuxw
+// 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("鏇存柊涓氫富鑱旂郴鏂瑰紡澶辫触");
+// }
+//
+// }
+// }
for (ApiFeeDataVo apiFeeDataVo : fees) {
for (FeeDto feeDto : feeDtos) {
- if (!StringUtil.isEmpty(feeDto.getPayerObjType()) && feeDto.getPayerObjType().equals("3333")) { //鎴垮眿
- OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
- ownerRoomRelDto.setRoomId(feeDto.getPayerObjId());
- List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
- if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 1) {
- 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 {
- continue;
- }
- } else if (!StringUtil.isEmpty(feeDto.getPayerObjType()) && feeDto.getPayerObjType().equals("6666")) {
- OwnerCarDto ownerCarDto = new OwnerCarDto();
- ownerCarDto.setCarId(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() > 0) {
- for (FeeAttrDto feeAttr : feeAttrDtos) {
- if (!StringUtil.isEmpty(feeAttr.getSpecCd()) && feeAttr.getSpecCd().equals("390009")) { //鑱旂郴鏂瑰紡
- if (!feeAttr.getValue().equals(link)) {
- FeeAttrPo feeAttrPo = new FeeAttrPo();
- feeAttrPo.setAttrId(feeAttr.getAttrId());
- feeAttrPo.setValue(link);
- int flag = feeAttrInnerServiceSMOImpl.updateFeeAttr(feeAttrPo);
- if (flag < 1) {
- throw new CmdException("鏇存柊涓氫富鑱旂郴鏂瑰紡澶辫触");
- }
- }
- }
- }
- }
if (apiFeeDataVo.getFeeId().equals(feeDto.getFeeId())) {
apiFeeDataVo.setFeeAttrs(feeDto.getFeeAttrDtos());
}
@@ -338,6 +382,7 @@
}
+
/**
* 鏍规嵁鍚堝悓鏉ョ畻鍗曚环
*
--
Gitblit v1.8.0