Explorar el Código

feature: 房态-退房

xiari hace 1 año
padre
commit
caf5e8cc0b

+ 1 - 0
ruoyi-api/ruoyi-api-hotel/src/main/java/org/dromara/hotel/api/domain/vo/RemoteOrderVo.java

@@ -21,6 +21,7 @@ public class RemoteOrderVo implements Serializable {
     @Serial
     private static final long serialVersionUID = -4941828023451615520L;
 
+    private Long id;
     //region 客人基本信息
     /**
      * 客人ID

+ 1 - 1
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfOrderController.java

@@ -160,7 +160,7 @@ public class KfOrderController extends BaseController {
     @SaCheckPermission("business:guestOrder:edit")
     @Log(title = "批量退房|取消预定", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
-    @PutMapping("distributeForRoomStatus")
+    @PostMapping("distributeForRoomStatus")
     public R<Void> distributeForRoomStatus(@Validated(EditGroup.class) @RequestBody List<KfOrderBo> bo) {
         return toAjax(kfOrderService.distributeForRoomStatus(bo));
     }

+ 14 - 10
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/KfOrderServiceImpl.java

@@ -334,12 +334,12 @@ public class KfOrderServiceImpl implements IKfOrderService {
         kfOrderBos.forEach(item -> {
             KfOrder kfOrder = new KfOrder();
             kfOrder.setId(item.getId());
-            kfOrder.setOrderStatus(item.getOrderStatus());
             if(HotelBusinessConstants.ORDER_STATUS_YD.equals(item.getOrderStatus())){
-                item.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_QX);
+                kfOrder.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_QX);
             }else{
-                item.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_TF);
+                kfOrder.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_TF);
             }
+            convert.add(kfOrder);
         });
 
         if(CollectionUtil.isEmpty(convert)){
@@ -350,17 +350,21 @@ public class KfOrderServiceImpl implements IKfOrderService {
             return flag;
         }
         // 2. 修改房间状态 updateRoomStatusBatch
-        List<KfOrder> oks = convert.stream().filter(item -> HotelBusinessConstants.ORDER_STATUS_QX.equals(item.getOrderStatus())).toList();
+        List<KfOrderBo> oks = kfOrderBos.stream().filter(item -> HotelBusinessConstants.ORDER_STATUS_YD.equals(item.getOrderStatus())).toList();
         //ok房
-        List<String> okRoomCodes = oks.stream().map(KfOrder::getRoomCode).toList();
-        int i = baseMapper.updateRoomStatusBatch(okRoomCodes, HotelRoomStatusEnum.OK.code());
+        List<String> okRoomCodes = oks.stream().map(KfOrderBo::getRoomCode).toList();
+        if(CollectionUtil.isNotEmpty(okRoomCodes)){
+            int i = baseMapper.updateRoomStatusBatch(okRoomCodes, HotelRoomStatusEnum.OK.code());
+        }
 
-        List<KfOrder> zfs = convert.stream().filter(item -> HotelBusinessConstants.ORDER_STATUS_TF.equals(item.getOrderStatus())).toList();
+        List<KfOrderBo> zfs = kfOrderBos.stream().filter(item -> HotelBusinessConstants.ORDER_STATUS_RZ.equals(item.getOrderStatus())).toList();
         //脏房
-        List<String> zfRoomCodes = zfs.stream().map(KfOrder::getRoomCode).toList();
-        int j = baseMapper.updateRoomStatusBatch(zfRoomCodes, HotelRoomStatusEnum.ZF.code());
+        List<String> zfRoomCodes = zfs.stream().map(KfOrderBo::getRoomCode).toList();
+        if(CollectionUtil.isNotEmpty(zfRoomCodes)){
+            int j = baseMapper.updateRoomStatusBatch(zfRoomCodes, HotelRoomStatusEnum.ZF.code());
+        }
 
-        return i > 0 && j > 0;
+        return b;
     }
 
     /**

+ 1 - 1
ruoyi-modules/ruoyi-hotel/src/main/resources/mapper/hotel/business/KfOrderMapper.xml

@@ -159,7 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id = "queryByRoomCodes" resultType="org.dromara.hotel.api.domain.vo.RemoteOrderVo">
-        select o.*, g.name as name, g.phone,g.id_card as idCard, g.sex,o.start_time as checkinDate, o.end_time as checkoutDate from t_kf_order o
+        select o.*, g.name as name, g.phone,g.id_card as idCard, g.sex,o.start_time as checkinDate, o.end_time as checkoutDate,o.id from t_kf_order o
         left join t_kf_guest g on o.guest_id = g.id
         <where>
             g.del_flag = '0' and o.del_flag = '0'