|
@@ -13,10 +13,7 @@ import org.jeecg.modules.business.enums.BookingStatusTypeEnum;
|
|
|
import org.jeecg.modules.business.enums.CheckInTypeEnum;
|
|
import org.jeecg.modules.business.enums.CheckInTypeEnum;
|
|
|
import org.jeecg.modules.business.enums.CustomerTypeEnum;
|
|
import org.jeecg.modules.business.enums.CustomerTypeEnum;
|
|
|
import org.jeecg.modules.business.mapper.BusRoomBookingOrdersMapper;
|
|
import org.jeecg.modules.business.mapper.BusRoomBookingOrdersMapper;
|
|
|
-import org.jeecg.modules.business.service.IBusBookingLayoutDayPriceService;
|
|
|
|
|
-import org.jeecg.modules.business.service.IBusCustomerService;
|
|
|
|
|
-import org.jeecg.modules.business.service.IBusRoomBookingOrdersService;
|
|
|
|
|
-import org.jeecg.modules.business.service.IBusRoomsLivingOrderService;
|
|
|
|
|
|
|
+import org.jeecg.modules.business.service.*;
|
|
|
import org.jeecg.modules.business.vo.BatchOrderEditVo;
|
|
import org.jeecg.modules.business.vo.BatchOrderEditVo;
|
|
|
import org.jeecg.modules.business.vo.BookingBatchRoomsVo;
|
|
import org.jeecg.modules.business.vo.BookingBatchRoomsVo;
|
|
|
import org.jeecg.modules.business.vo.BookingOrderEditVo;
|
|
import org.jeecg.modules.business.vo.BookingOrderEditVo;
|
|
@@ -35,6 +32,7 @@ import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -61,6 +59,9 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
|
|
|
@Resource
|
|
@Resource
|
|
|
private IBusRoomsLivingOrderService roomsLivingOrderService;
|
|
private IBusRoomsLivingOrderService roomsLivingOrderService;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private IBusLivingCustomerService livingCustomerService;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String bookingOrderSave(BookingOrderSaveDto item) {
|
|
public String bookingOrderSave(BookingOrderSaveDto item) {
|
|
@@ -288,7 +289,31 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
|
|
|
s.setLayoutDayPrices(findLayoutPrice);
|
|
s.setLayoutDayPrices(findLayoutPrice);
|
|
|
});
|
|
});
|
|
|
result.setLayoutDayPrices(layoutDayPrices);
|
|
result.setLayoutDayPrices(layoutDayPrices);
|
|
|
- result.setRoomIds(bookingRooms);
|
|
|
|
|
|
|
+ // 设置不是住脏或者住净的 预约中的房间
|
|
|
|
|
+ result.setRoomIds(bookingRooms.stream().filter(r->!(r.getRoomStatus().equals(RoomStatusEnum.LIVE_DIRTY.getKey()) || r.getRoomStatus().equals(RoomStatusEnum.LIVE_CLEAR.getKey()))).collect(Collectors.toList()));
|
|
|
|
|
+ //<editor-fold msg="入住相关信息查询">
|
|
|
|
|
+ List<ExtendBusBookingRoomsVo> livingRooms = bookingRooms.stream().filter(r->(r.getRoomStatus().equals(RoomStatusEnum.LIVE_DIRTY.getKey()) || r.getRoomStatus().equals(RoomStatusEnum.LIVE_CLEAR.getKey()))).collect(Collectors.toList());
|
|
|
|
|
+ List<String> livingBookingRoomIds = livingRooms.stream().map(r->r.getId()).collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ List<BusRoomsLivingOrder> livingOrders =
|
|
|
|
|
+ livingBookingRoomIds.size() > 0?
|
|
|
|
|
+ roomsLivingOrderService.list(Wrappers.<BusRoomsLivingOrder>query()
|
|
|
|
|
+ .in("booking_room_id",livingBookingRoomIds)): new ArrayList<>();
|
|
|
|
|
+ List<String> livingOrderIds = livingOrders.stream().map(r->r.getId()).collect(Collectors.toList());
|
|
|
|
|
+ List<BusLivingCustomer> livingCustomers =livingOrderIds.size()>0? livingCustomerService.list(Wrappers.<BusLivingCustomer>query()
|
|
|
|
|
+ .in("living_order_id", livingOrderIds)):new ArrayList<>();
|
|
|
|
|
+ livingRooms.forEach(r->{
|
|
|
|
|
+ Optional<BusRoomsLivingOrder> opLvOrder = livingOrders.stream().filter(a->a.getBookingRoomId().equals(r.getId())).findFirst();
|
|
|
|
|
+
|
|
|
|
|
+ if(opLvOrder.isPresent()){
|
|
|
|
|
+ BusRoomsLivingOrder order = opLvOrder.get();
|
|
|
|
|
+ List<BusLivingCustomer> currentLivingCustomers = livingCustomers.stream().filter(s->s.getLivingOrderId().equals(order.getId())).collect(Collectors.toList());
|
|
|
|
|
+ r.setLivingOrder(order);
|
|
|
|
|
+ r.setLivingCustomers(currentLivingCustomers);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ result.setLivingRoomIds(livingRooms);
|
|
|
|
|
+ //</editor-fold>
|
|
|
} else if(orderInfo.getBookingOrdersType().equals(BookingOrdersType.TEAM.getKey())) {
|
|
} else if(orderInfo.getBookingOrdersType().equals(BookingOrdersType.TEAM.getKey())) {
|
|
|
List<BusBookingBatch> batches = bookingBatchService.list(Wrappers.<BusBookingBatch>query().eq("booking_orders_id",orderId));
|
|
List<BusBookingBatch> batches = bookingBatchService.list(Wrappers.<BusBookingBatch>query().eq("booking_orders_id",orderId));
|
|
|
List<BookingBatchRoomsVo> batchesVo = new ArrayList<>();
|
|
List<BookingBatchRoomsVo> batchesVo = new ArrayList<>();
|