From 0fea532b07be89978343cb4aede3693af99f5656 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 25 七月 2023 23:04:41 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java | 115 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 89 insertions(+), 26 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java b/service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java
index ea2b4a8..f426991 100644
--- a/service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java
+++ b/service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java
@@ -2,19 +2,20 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.RoomDto;
+import com.java110.dto.room.RoomDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeDto;
+import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.owner.OwnerDto;
-import com.java110.entity.order.Business;
+import com.java110.dto.system.Business;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.job.adapt.fee.asyn.IUpdateFeeOwnerInfo;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.owner.OwnerPo;
-import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
@@ -38,55 +39,70 @@
@Autowired
private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+ @Autowired
+ private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
@Override
@Async
public void doUpdate(Business business, JSONObject businessOwner) {
OwnerPo ownerPo = BeanConvertUtil.covertBean(businessOwner, OwnerPo.class);
-
- RoomDto roomDto = new RoomDto();
- roomDto.setOwnerId(ownerPo.getOwnerId());
- //杩欑鎯呭喌璇存槑 涓氫富宸茬粡鍒犳帀浜� 闇�瑕佹煡璇㈢姸鎬佷负 1 鐨勬暟鎹�
- List<RoomDto> rooms = roomInnerServiceSMOImpl.queryRoomsByOwner(roomDto);
-
- //娌℃湁鎴垮眿鏃惰繑鍥�
- if (rooms == null || rooms.size() < 1) {
- return;
- }
-
OwnerDto ownerDto = new OwnerDto();
ownerDto.setMemberId(ownerPo.getMemberId());
ownerDto.setCommunityId(ownerPo.getCommunityId());
+ ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
- Assert.listOnlyOne(ownerDtos, "涓氫富涓嶅瓨鍦�");
+ if (ownerDtos == null || ownerDtos.size() <1) { // 涓嶆槸涓氫富 涓嶇浠�
+ return;
+ }
+
+ List<FeeDto> feeDtos = getRoomFee(ownerPo);
+ if (feeDtos != null) {
+ for (FeeDto tmpFeeDto : feeDtos) {
+ doDealFeeDto(tmpFeeDto, ownerDtos.get(0));
+ }
+ }
+
+ feeDtos = getOwnerCarFee(ownerPo);
+ if (feeDtos != null) {
+ for (FeeDto tmpFeeDto : feeDtos) {
+ doDealFeeDto(tmpFeeDto, ownerDtos.get(0));
+ }
+ }
+
+
+ }
+
+ private List<FeeDto> getOwnerCarFee(OwnerPo ownerPo) {
+ OwnerCarDto ownerCarDto = new OwnerCarDto();
+ ownerCarDto.setOwnerId(ownerPo.getOwnerId());
+ //杩欑鎯呭喌璇存槑 涓氫富宸茬粡鍒犳帀浜� 闇�瑕佹煡璇㈢姸鎬佷负 1 鐨勬暟鎹�
+ List<OwnerCarDto> ownerCarDtos = ownerCarV1InnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+
+ //娌℃湁鎴垮眿鏃惰繑鍥�
+ if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+ return null;
+ }
+
//鎷垮埌灏忓尯ID
String communityId = ownerPo.getCommunityId();
List<String> payerObjIds = new ArrayList<>();
- for (RoomDto tRoomDto : rooms) {
- payerObjIds.add(tRoomDto.getUnitId());
- payerObjIds.add(tRoomDto.getRoomId());
- payerObjIds.add(tRoomDto.getFloorId());
+ for (OwnerCarDto tmpOwnerCarDto : ownerCarDtos) {
+ payerObjIds.add(tmpOwnerCarDto.getCarId());
}
-
FeeDto feeDto = new FeeDto();
feeDto.setCommunityId(communityId);
feeDto.setPayerObjIds(payerObjIds.toArray(new String[payerObjIds.size()]));
feeDto.setState(FeeDto.STATE_DOING);
List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
-
- for (FeeDto tmpFeeDto : feeDtos) {
- doDealFeeDto(tmpFeeDto, ownerDtos.get(0));
- }
-
+ return feeDtos;
}
private void doDealFeeDto(FeeDto tmpFeeDto, OwnerDto ownerDto) {
//鍒ゆ柇鏄惁瀛樺湪 涓氫富鍚嶇О
-
FeeAttrDto ownerNameAttr = getOwnerFeeAttr(tmpFeeDto, FeeAttrDto.SPEC_CD_OWNER_NAME);
FeeAttrPo tmpFeeAttrPo = new FeeAttrPo();
if (ownerNameAttr == null) {
@@ -118,6 +134,22 @@
feeAttrInnerServiceSMOImpl.updateFeeAttr(tmpFeeAttrPo);
}
+ // todo 鏄惁瀛樺湪 涓氫富ID
+ ownerNameAttr = getOwnerFeeAttr(tmpFeeDto, FeeAttrDto.SPEC_CD_OWNER_ID);
+ tmpFeeAttrPo = new FeeAttrPo();
+ if (ownerNameAttr == null) {
+ tmpFeeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ tmpFeeAttrPo.setCommunityId(ownerDto.getCommunityId());
+ tmpFeeAttrPo.setFeeId(tmpFeeDto.getFeeId());
+ tmpFeeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
+ tmpFeeAttrPo.setValue(ownerDto.getOwnerId());
+ feeAttrInnerServiceSMOImpl.saveFeeAttr(tmpFeeAttrPo);
+ } else {
+ tmpFeeAttrPo.setAttrId(ownerNameAttr.getAttrId());
+ tmpFeeAttrPo.setValue(ownerDto.getOwnerId());
+ feeAttrInnerServiceSMOImpl.updateFeeAttr(tmpFeeAttrPo);
+ }
+
}
private FeeAttrDto getOwnerFeeAttr(FeeDto tmpFeeDto, String specCd) {
@@ -134,4 +166,35 @@
}
return null;
}
+
+
+ public List<FeeDto> getRoomFee(OwnerPo ownerPo) {
+ RoomDto roomDto = new RoomDto();
+ roomDto.setOwnerId(ownerPo.getOwnerId());
+ //杩欑鎯呭喌璇存槑 涓氫富宸茬粡鍒犳帀浜� 闇�瑕佹煡璇㈢姸鎬佷负 1 鐨勬暟鎹�
+ List<RoomDto> rooms = roomInnerServiceSMOImpl.queryRoomsByOwner(roomDto);
+
+ //娌℃湁鎴垮眿鏃惰繑鍥�
+ if (rooms == null || rooms.size() < 1) {
+ return null;
+ }
+
+
+ //鎷垮埌灏忓尯ID
+ String communityId = ownerPo.getCommunityId();
+
+ List<String> payerObjIds = new ArrayList<>();
+ for (RoomDto tRoomDto : rooms) {
+ payerObjIds.add(tRoomDto.getUnitId());
+ payerObjIds.add(tRoomDto.getRoomId());
+ payerObjIds.add(tRoomDto.getFloorId());
+ }
+ FeeDto feeDto = new FeeDto();
+ feeDto.setCommunityId(communityId);
+ feeDto.setPayerObjIds(payerObjIds.toArray(new String[payerObjIds.size()]));
+ feeDto.setState(FeeDto.STATE_DOING);
+ List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+ return feeDtos;
+ }
+
}
--
Gitblit v1.8.0