RoomRealtimeStatuService.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.chuanghai.ihotel.service;
  2. import com.baomidou.mybatisplus.extension.service.IService;
  3. import com.chuanghai.ihotel.common.utils.PageUtils;
  4. import com.chuanghai.ihotel.common.utils.PageParam;
  5. import com.chuanghai.ihotel.controller.request.RoomLockRequest;
  6. import com.chuanghai.ihotel.controller.request.RoomRealtimeStatuRequest;
  7. import com.chuanghai.ihotel.controller.request.ToDirtyRequest;
  8. import com.chuanghai.ihotel.dto.LockRoomDTO;
  9. import com.chuanghai.ihotel.entity.RoomRealtimeStatuEntity;
  10. import com.chuanghai.ihotel.entity.RoomTypeEntity;
  11. import com.chuanghai.ihotel.vo.RoomRealDataStatuVO;
  12. import java.time.LocalDateTime;
  13. import java.util.List;
  14. /**
  15. * 实时房态
  16. *
  17. * @author codingliang
  18. * @email codingliang@gmail.com
  19. * @date 2022-07-27 10:02:04
  20. */
  21. public interface RoomRealtimeStatuService extends IService<RoomRealtimeStatuEntity> {
  22. PageUtils queryPage(PageParam pageParam);
  23. /**
  24. * 获取当前时间段处在繁忙状态的房间数量
  25. *
  26. * 状态为2预定、3入住、4脏房、5锁定表示当前处于繁忙状态
  27. * @param roomTypeId 房型id
  28. * @param startTime 开始时间
  29. * @param endTime 结束时间
  30. * @return
  31. */
  32. int getBusyNum(Long roomTypeId, LocalDateTime startTime, LocalDateTime endTime);
  33. /**
  34. * 锁定房源
  35. * @param lockRoomDTO 锁房参数
  36. * @return 锁定的房间id
  37. */
  38. Long lockRoomByRoomTypeId(LockRoomDTO lockRoomDTO);
  39. /**
  40. * 房态锁定释放
  41. * @param bizId 业务id
  42. */
  43. void releaseByBizId(Long bizId);
  44. /**
  45. * 房态信息查询
  46. * @param request
  47. * @return
  48. */
  49. List<RoomRealDataStatuVO> realData(RoomRealtimeStatuRequest request);
  50. /**
  51. * 用户入住,更新状态为入住状态
  52. * @param orderId
  53. */
  54. void userHoldOrder(Long orderId);
  55. /**
  56. * 用户退房,更新状态为脏房状态
  57. * @param orderId
  58. */
  59. void userReturnOrder(Long orderId);
  60. /**
  61. * 房态状态改为干净
  62. * @param statuId
  63. */
  64. void cleanByStatuId(Long statuId);
  65. /**
  66. * 锁定房间
  67. * @param roomLockRequest
  68. */
  69. void lock(RoomLockRequest roomLockRequest);
  70. /**
  71. * 转脏房
  72. * @param request
  73. */
  74. void toDirtyByRoomId(ToDirtyRequest request);
  75. }