From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
service-fee/src/main/java/com/java110/fee/bmo/payFeeAudit/impl/GetPayFeeAuditBMOImpl.java | 136 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 135 insertions(+), 1 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/payFeeAudit/impl/GetPayFeeAuditBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/payFeeAudit/impl/GetPayFeeAuditBMOImpl.java
old mode 100644
new mode 100755
index 5970a95..b174cb1
--- a/service-fee/src/main/java/com/java110/fee/bmo/payFeeAudit/impl/GetPayFeeAuditBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/payFeeAudit/impl/GetPayFeeAuditBMOImpl.java
@@ -1,8 +1,19 @@
package com.java110.fee.bmo.payFeeAudit.impl;
+import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.dto.RoomDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.order.BusinessDto;
+import com.java110.dto.order.OrderDto;
+import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.payFeeAudit.PayFeeAuditDto;
import com.java110.fee.bmo.payFeeAudit.IGetPayFeeAuditBMO;
-import com.java110.intf.IPayFeeAuditInnerServiceSMO;
+import com.java110.intf.fee.IPayFeeAuditInnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.order.IOrderInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -18,11 +29,33 @@
@Autowired
private IPayFeeAuditInnerServiceSMO payFeeAuditInnerServiceSMOImpl;
+ @Autowired
+ private IComputeFeeSMO computeFeeSMOImpl;
+
+ @Autowired
+ private IOrderInnerServiceSMO orderInnerServiceSMOImpl;
+
+ @Autowired
+ private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
/**
* @param payFeeAuditDto
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
public ResponseEntity<String> get(PayFeeAuditDto payFeeAuditDto) {
+
+ if (!refreshRoomPayObjId(payFeeAuditDto)) {
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>("[]", HttpStatus.OK);
+ return responseEntity;
+ }
+
+ if (!refreshCarPayObjId(payFeeAuditDto)) {
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>("[]", HttpStatus.OK);
+ return responseEntity;
+ }
int count = payFeeAuditInnerServiceSMOImpl.queryPayFeeAuditsCount(payFeeAuditDto);
@@ -30,6 +63,8 @@
List<PayFeeAuditDto> payFeeAuditDtos = null;
if (count > 0) {
payFeeAuditDtos = payFeeAuditInnerServiceSMOImpl.queryPayFeeAudits(payFeeAuditDto);
+
+ frashRoomAndStaff(payFeeAuditDtos);
} else {
payFeeAuditDtos = new ArrayList<>();
}
@@ -41,4 +76,103 @@
return responseEntity;
}
+ private boolean refreshCarPayObjId(PayFeeAuditDto payFeeAuditDto) {
+ String payObjId = payFeeAuditDto.getPayerObjId();
+ if (StringUtil.isEmpty(payObjId)) {
+ return true;
+ }
+
+ if (!FeeDto.PAYER_OBJ_TYPE_CAR.equals(payFeeAuditDto.getPayerObjId())) {
+ return true;
+ }
+
+ OwnerCarDto ownerCarDto = new OwnerCarDto();
+ ownerCarDto.setCarNum(payObjId);
+ ownerCarDto.setCommunityId(payFeeAuditDto.getCommunityId());
+ List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+
+ if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+ return false;
+ }
+
+ payFeeAuditDto.setPayerObjId(ownerCarDtos.get(0).getCarId());
+ return true;
+ }
+
+ private boolean refreshRoomPayObjId(PayFeeAuditDto payFeeAuditDto) {
+ String payObjId = payFeeAuditDto.getPayerObjId();
+ if (StringUtil.isEmpty(payObjId)) {
+ return true;
+ }
+
+ if (!payObjId.contains("-")) {
+ return true;
+ }
+
+ String[] payObjIds = payObjId.split("-");
+
+ if (payObjIds.length < 3) {
+ throw new IllegalArgumentException("鎴垮眿缂栧彿鏍煎紡閿欒锛屽簲璇ヤ负 妤兼爧-鍗曞厓-鎴垮眿");
+ }
+ RoomDto roomDto = new RoomDto();
+ roomDto.setCommunityId(payFeeAuditDto.getCommunityId());
+ roomDto.setFloorNum(payObjIds[0]);
+ roomDto.setUnitNum(payObjIds[1]);
+ roomDto.setRoomNum(payObjIds[2]);
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+
+ if (roomDtos == null || roomDtos.size() < 1) {
+ return false;
+ }
+
+ payFeeAuditDto.setPayerObjId(roomDtos.get(0).getRoomId());
+ return true;
+
+
+ }
+
+ private void frashRoomAndStaff(List<PayFeeAuditDto> payFeeAuditDtos) {
+
+ if (payFeeAuditDtos == null || payFeeAuditDtos.size() < 1) {
+ return;
+ }
+
+ List<FeeDto> feeDtos = BeanConvertUtil.covertBeanList(payFeeAuditDtos, FeeDto.class);
+ computeFeeSMOImpl.freshFeeObjName(feeDtos);
+ List<String> bIds = new ArrayList<>();
+ for (PayFeeAuditDto payFeeAuditDto : payFeeAuditDtos) {
+ for (FeeDto feeDto : feeDtos) {
+ if (payFeeAuditDto.getFeeId().equals(feeDto.getFeeId())) {
+ payFeeAuditDto.setPayerObjName(feeDto.getPayerObjName());
+ }
+ }
+
+ if (StringUtil.isEmpty(payFeeAuditDto.getbId()) || payFeeAuditDto.getbId().startsWith("-")) {
+ continue;
+ }
+
+ bIds.add(payFeeAuditDto.getbId());
+ }
+ if (bIds.size() < 1) {
+ return;
+ }
+ BusinessDto businessDto = new BusinessDto();
+ businessDto.setbIds(bIds.toArray(new String[bIds.size()]));
+ List<OrderDto> orderDtos = orderInnerServiceSMOImpl.queryOrderByBId(businessDto);
+
+ for (PayFeeAuditDto payFeeAuditDto : payFeeAuditDtos) {
+ for (OrderDto orderDto : orderDtos) {
+ if(StringUtil.isEmpty(payFeeAuditDto.getbId())){
+ continue;
+ }
+ if (payFeeAuditDto.getbId().equals(orderDto.getbId())) {
+ payFeeAuditDto.setUserId(orderDto.getUserId());
+ payFeeAuditDto.setUserName(orderDto.getUserName());
+ }
+ }
+ }
+
+
+ }
+
}
--
Gitblit v1.8.0