|
|
@@ -19,6 +19,9 @@ import org.jeecg.modules.business.vo.BookingBatchRoomsVo;
|
|
|
import org.jeecg.modules.business.vo.BookingOrderEditVo;
|
|
|
import org.jeecg.modules.business.vo.ExtendBusBookingRoomsVo;
|
|
|
import org.jeecg.modules.rooms.Enum.RoomStatusEnum;
|
|
|
+import org.jeecg.modules.rooms.Vo.BookingRealtimeVo;
|
|
|
+import org.jeecg.modules.rooms.Vo.FloorBuildingRoomVo;
|
|
|
+import org.jeecg.modules.rooms.Vo.LivingRealtimeVo;
|
|
|
import org.jeecg.modules.rooms.entity.CesRooms;
|
|
|
import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -890,6 +893,54 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
|
|
|
return bookingOrderNo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<FloorBuildingRoomVo> getRealtimeInfo(List<CesRooms> rooms) {
|
|
|
+ List<FloorBuildingRoomVo> roomVos = new ArrayList<>();
|
|
|
+ List<String> bookingOrderIds = rooms.stream().map(s->s.getBookingOrderId()).collect(Collectors.toList());
|
|
|
+ List<String> livingOrderIds = rooms.stream().map(s->s.getLivingOrderId()).collect(Collectors.toList());
|
|
|
+ List<BusRoomBookingOrders> bookingOrders = this.list(Wrappers.<BusRoomBookingOrders>query().in("id",bookingOrderIds));
|
|
|
+ List<BusBookingLayoutDayPrice> bookingLayoutDayPrices =bookingOrderIds.size() > 0? dayPriceService.list(Wrappers.<BusBookingLayoutDayPrice>query()
|
|
|
+ .in("booking_order_id",bookingOrderIds)):new ArrayList<>();
|
|
|
+ List<String> bookingCusIds = bookingOrders.stream().map(s->s.getContactId()).collect(Collectors.toList());
|
|
|
+ List<BusCustomer> bookingCustomers =bookingCusIds.size() > 0? customerService.list(Wrappers.<BusCustomer>query()
|
|
|
+ .in("id",bookingCusIds)):new ArrayList<>();
|
|
|
+ List<BusRoomsLivingOrder> livingOrders =livingOrderIds.size() > 0? roomsLivingOrderService.list(Wrappers.<BusRoomsLivingOrder>query()
|
|
|
+ .in("id",livingOrderIds)):new ArrayList<>();
|
|
|
+ List<BusLivingCustomer> livingCustomers =livingOrderIds.size() > 0? livingCustomerService.list(Wrappers.<BusLivingCustomer>query()
|
|
|
+ .in("living_order_id",livingOrderIds)):new ArrayList<>();
|
|
|
+ List<BusLivingLayoutDayPrice> livingLayoutDayPrices =livingOrderIds.size()>0? livingLayoutDayPriceService.list(Wrappers.<BusLivingLayoutDayPrice>query()
|
|
|
+ .in("living_order_id",livingOrderIds)):new ArrayList<>();
|
|
|
+ rooms.forEach(s-> {
|
|
|
+ FloorBuildingRoomVo vo = new FloorBuildingRoomVo();
|
|
|
+ vo.setRoomId(s.getId());
|
|
|
+ vo.setBookingData(new BookingRealtimeVo());
|
|
|
+ vo.setLivingData(new LivingRealtimeVo());
|
|
|
+ Optional<BusRoomBookingOrders> opBookingOrder = bookingOrders.stream().filter(a->a.getId().equals(s.getBookingOrderId())).findFirst();
|
|
|
+ if(opBookingOrder.isPresent()) {
|
|
|
+ vo.getBookingData().setBookingOrder(opBookingOrder.get());
|
|
|
+ Optional<BusCustomer> opBookingCustomer = bookingCustomers.stream().filter(a->a.getId().equals(opBookingOrder.get().getContactId())).findFirst();
|
|
|
+ if(opBookingCustomer.isPresent()){
|
|
|
+ vo.getBookingData().setBookingCustomer(opBookingCustomer.get());
|
|
|
+ }
|
|
|
+ vo.getBookingData().setLayoutDayPrices(bookingLayoutDayPrices.stream().filter(a->a.getBookingOrderId().equals(opBookingOrder.get().getId())).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+
|
|
|
+ Optional<BusRoomsLivingOrder> opLivingOrder=livingOrders.stream().filter(a->a.getId().equals(s.getLivingOrderId())).findFirst();
|
|
|
+ if(opLivingOrder.isPresent()) {
|
|
|
+ vo.getLivingData().setLivingOrder(opLivingOrder.get());
|
|
|
+ Optional<BusLivingCustomer> opLivingCustomer = livingCustomers.stream().filter(a->a.getLivingOrderId().equals(opLivingOrder.get().getId())).findFirst();
|
|
|
+ if(opLivingCustomer.isPresent()) {
|
|
|
+ vo.getLivingData().setLivingCustomers(opLivingCustomer.get());
|
|
|
+ }
|
|
|
+ vo.getLivingData().setPrice(
|
|
|
+ livingLayoutDayPrices.stream().filter(a->a.getLivingOrderId().equals(opLivingOrder.get().getId())).collect(Collectors.toList())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ roomVos.add(vo);
|
|
|
+ });
|
|
|
+ return roomVos;
|
|
|
+ }
|
|
|
+
|
|
|
private Map<String,String> bookingRoomToLiving(BookingOrderSaveDto livingData, List<ExtendBusBookingRoomsVo> roomIds, BookingOrderEditVo bookingOrderVo) {
|
|
|
Map<String,String> results = new HashMap<>();
|
|
|
roomIds.forEach(bkRoom-> {
|