java110 лет назад: 5
Родитель
Сommit
5fc17f3af1

+ 11 - 1
java110-bean/src/main/java/com/java110/dto/owner/OwnerCarDto.java

@@ -33,11 +33,13 @@ public class OwnerCarDto extends PageDto implements Serializable {
     private String userId;
     private String carId;
     private String[] carIds;
-    private boolean withOwner =false;
+    private boolean withOwner = false;
     private String ownerName;
     private String idCard;
     private String link;
 
+    private String roomName;
+
     private Date startTime;
     private Date endTime;
     private String state;
@@ -281,4 +283,12 @@ public class OwnerCarDto extends PageDto implements Serializable {
     public void setCarIds(String[] carIds) {
         this.carIds = carIds;
     }
+
+    public String getRoomName() {
+        return roomName;
+    }
+
+    public void setRoomName(String roomName) {
+        this.roomName = roomName;
+    }
 }

+ 59 - 0
service-api/src/main/java/com/java110/api/listener/owner/QueryOwnerCarsListener.java

@@ -7,10 +7,14 @@ import com.java110.api.listener.AbstractServiceApiDataFlowListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.RoomDto;
 import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -51,6 +55,12 @@ public class QueryOwnerCarsListener extends AbstractServiceApiDataFlowListener {
         return HttpMethod.GET;
     }
 
+    @Autowired
+    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
     /**
      * 业务层数据处理
      *
@@ -88,6 +98,8 @@ public class QueryOwnerCarsListener extends AbstractServiceApiDataFlowListener {
             ownerCarDtoList = ownerCarInnerServiceSMOImpl.queryOwnerCars(BeanConvertUtil.covertBean(reqJson, OwnerCarDto.class));
 
             freshPs(ownerCarDtoList);
+
+            freshRoomInfo(ownerCarDtoList);
         } else {
             ownerCarDtoList = new ArrayList<>();
         }
@@ -125,6 +137,53 @@ public class QueryOwnerCarsListener extends AbstractServiceApiDataFlowListener {
         }
     }
 
+    /**
+     * 刷入房屋信息
+     *
+     * @param ownerCarDtos
+     */
+    private void freshRoomInfo(List<OwnerCarDto> ownerCarDtos) {
+
+        for (OwnerCarDto ownerCarDto : ownerCarDtos) {
+
+            doFreshRoomInfo(ownerCarDto);
+        }
+
+    }
+
+    /**
+     * 车位信息刷入房屋信息
+     *
+     * @param ownerCarDto
+     */
+    private void doFreshRoomInfo(OwnerCarDto ownerCarDto) {
+        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+        ownerRoomRelDto.setOwnerId(ownerCarDto.getOwnerId());
+
+        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+            ownerCarDto.setRoomName("-");
+            return;
+        }
+
+        List<String> roomIds = new ArrayList<>();
+        for (OwnerRoomRelDto tOwnerRoomRelDto : ownerRoomRelDtos) {
+            roomIds.add(tOwnerRoomRelDto.getRoomId());
+        }
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setCommunityId(ownerCarDto.getCommunityId());
+        roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
+        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+        String roomName = "";
+        for (RoomDto tRoomDto : roomDtos) {
+            roomName += (tRoomDto.getFloorNum() + "栋" + tRoomDto.getUnitNum() + "单元" + roomDto.getRoomNum() + "室" + "/");
+        }
+
+        roomName = roomName.endsWith("/") ? roomName.substring(0, roomName.length() - 1) : roomName;
+        ownerCarDto.setRoomName(roomName);
+    }
+
 
     /**
      * 校验查询条件是否满足条件