Procházet zdrojové kódy

解决车辆改名字的问题

java110 před 4 roky
rodič
revize
ee1fe27a34

+ 66 - 20
service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/UpdateFeeOwnerInfoImpl.java

@@ -5,11 +5,13 @@ import com.java110.core.factory.GenerateCodeFactory;
 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;
@@ -38,49 +40,62 @@ public class UpdateFeeOwnerInfoImpl implements IUpdateFeeOwnerInfo {
 
     @Autowired
     private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+    @Autowired
+    private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
 
 
     @Override
     @Async
     public void doUpdate(Business business, JSONObject businessOwner) {
         OwnerPo ownerPo = BeanConvertUtil.covertBean(businessOwner, OwnerPo.class);
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setMemberId(ownerPo.getMemberId());
+        ownerDto.setCommunityId(ownerPo.getCommunityId());
+        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
+        Assert.listOnlyOne(ownerDtos, "业主不存在");
 
-        RoomDto roomDto = new RoomDto();
-        roomDto.setOwnerId(ownerPo.getOwnerId());
+        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<RoomDto> rooms = roomInnerServiceSMOImpl.queryRoomsByOwner(roomDto);
+        List<OwnerCarDto> ownerCarDtos = ownerCarV1InnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
 
         //没有房屋时返回
-        if (rooms == null || rooms.size() < 1) {
-            return;
+        if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+            return null;
         }
 
-        OwnerDto ownerDto = new OwnerDto();
-        ownerDto.setMemberId(ownerPo.getMemberId());
-        ownerDto.setCommunityId(ownerPo.getCommunityId());
-        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
-        Assert.listOnlyOne(ownerDtos, "业主不存在");
 
         //拿到小区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 +149,35 @@ public class UpdateFeeOwnerInfoImpl implements IUpdateFeeOwnerInfo {
         }
         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;
+    }
+
 }