From 4e134e61ede1f8574189af45c810ca365c7c7f9a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 五月 2022 18:33:14 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java |   94 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 71 insertions(+), 23 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..67a86e3 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
@@ -5,16 +5,17 @@
 import com.java110.dto.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.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,49 +39,65 @@
 
     @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) { // 涓嶆槸涓氫富 涓嶇浠�
+            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) {
@@ -134,4 +151,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