Browse Source

管理端实时房态查询功能调整

wangzhengliang 3 years ago
parent
commit
0fbc93e408

+ 1 - 0
src/main/java/com/chuanghai/ihotel/controller/HotelOrderController.java

@@ -222,6 +222,7 @@ public class HotelOrderController {
 
     /**
      * 办理退房
+     * TODO 每天12天系统会自动退房,房态由入住改为脏房
      * @param userToken 用户token
      * @param orderId 订单id
      * @return

+ 3 - 1
src/main/java/com/chuanghai/ihotel/service/impl/RoomRealtimeStatuServiceImpl.java

@@ -126,7 +126,8 @@ public class RoomRealtimeStatuServiceImpl extends ServiceImpl<RoomRealtimeStatuD
         Map<Long, RoomRealtimeStatuEntity> realtimeStatuMap = realTimeStatuList.stream().collect(Collectors.toMap(RoomRealtimeStatuEntity::getRoomId, value -> value));
 
         // 查询订单信息
-        Set<Long> orderIds = realTimeStatuList.stream().filter(e -> e.getBizId() != -1).map(e -> e.getBizId()).collect(Collectors.toSet());
+        // 只有2预定状态、3入住状态的房态才需要查询住户信息
+        Set<Long> orderIds = realTimeStatuList.stream().filter(e -> ("2".equals(e.getStatu()) || "3".equals(e.getStatu()))).map(e -> e.getBizId()).collect(Collectors.toSet());
         Map<Long, RoomUseInfo> roomUseInfoMap = new HashMap<>();
         if (orderIds.size() > 0) {
             List<RoomUseInfo> roomUseInfos = orderService.getRoomUseInfoByOrderIds(orderIds);
@@ -141,6 +142,7 @@ public class RoomRealtimeStatuServiceImpl extends ServiceImpl<RoomRealtimeStatuD
 
             RoomRealtimeStatuEntity roomRealTimeStatu = realtimeStatuMap.get(roomId);
             if (roomRealTimeStatu != null) {
+                vo.setStatuId(roomRealTimeStatu.getId());
                 vo.setStatu(roomRealTimeStatu.getStatu());
                 vo.setUseInfo(finalRoomUseInfoMap.get(roomRealTimeStatu.getBizId()));
             } else {

+ 4 - 0
src/main/java/com/chuanghai/ihotel/vo/RoomRealDataStatuVO.java

@@ -19,6 +19,10 @@ public class RoomRealDataStatuVO {
      */
     private Long roomId;
     /**
+     * 房态id,房态为1时该字段不会存在
+     */
+    private Long statuId;
+    /**
      * 当前状态 1空闲、2预定、3入住、4脏房、5锁定
      */
     private String statu;

+ 7 - 3
src/main/resources/mapper/ihotel/RoomRealtimeStatuDao.xml

@@ -38,11 +38,15 @@
         select *
         from room_realtime_statu
         where
-          statu != '1'
-          and room_id in
+          (statu = '4') # 查询脏房
+          or
+          (
+            (statu != '1' and statu != '4') # 查询非空闲、非脏房
+            and room_id in
             <foreach collection="roomIds" item="item" open="(" close=")" index="i" separator=","> #{item}
             </foreach>
-          and not(end_time <![CDATA[<]]> #{startTime} or start_time <![CDATA[>]]> #{endTime})
+            and not(end_time <![CDATA[<]]> #{startTime} or start_time <![CDATA[>]]> #{endTime})
+          )
         group by room_id
     </select>
 </mapper>