فهرست منبع

feature: 酒店系统
1.入住时同时设置团客客人的报到状态

luoyb 1 سال پیش
والد
کامیت
25bc96e05f

+ 8 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/IKfGuestTeamRService.java

@@ -79,4 +79,12 @@ public interface IKfGuestTeamRService {
      * 根据客团ID查询客人信息
      */
     List<KfGuestVo> listGuests(Long teamId, String guestName);
+
+    /**
+     * 更新团客客人的报到状态
+     * @param guestId 客人Id
+     * @param teamId 团客Id
+     * @return 更新结果
+     */
+    Boolean setGuestCheckInStatus(Long guestId, Long teamId);
 }

+ 16 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/KfGuestTeamRServiceImpl.java

@@ -1,5 +1,6 @@
 package org.dromara.hotel.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -170,4 +171,19 @@ public class KfGuestTeamRServiceImpl implements IKfGuestTeamRService {
     public List<KfGuestVo> listGuests(Long teamId, String guestName) {
         return baseMapper.selectGuests(teamId, guestName);
     }
+    /**
+     * 更新团客客人的报到状态
+     * @param guestId 客人Id
+     * @param teamId 团客Id
+     * @return 更新结果
+     */
+    @Override
+    public Boolean setGuestCheckInStatus(Long guestId, Long teamId) {
+        LambdaUpdateWrapper<KfGuestTeamR> luq = new LambdaUpdateWrapper<>();
+        luq.set(KfGuestTeamR::getCheckInStatus, "Y");
+        luq.eq(KfGuestTeamR::getGuestId, guestId);
+        luq.eq(KfGuestTeamR::getTeamId, teamId);
+
+        return baseMapper.update(null,luq)>0;
+    }
 }

+ 5 - 2
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/KfOrderServiceImpl.java

@@ -25,6 +25,7 @@ import org.dromara.hotel.domain.vo.KfTeamVo;
 import org.dromara.hotel.domain.vo.OrderAndGuestVo;
 import org.dromara.hotel.mapper.KfGuestMapper;
 import org.dromara.hotel.mapper.KfOrderMapper;
+import org.dromara.hotel.service.IKfGuestTeamRService;
 import org.dromara.hotel.service.IKfOrderService;
 import org.dromara.hotel.service.IKfTeamService;
 import org.springframework.stereotype.Service;
@@ -44,8 +45,8 @@ public class KfOrderServiceImpl implements IKfOrderService {
 
     private final KfOrderMapper baseMapper;
     private final IKfTeamService teamService;
-
     private final KfGuestMapper guestMapper;
+    private final IKfGuestTeamRService guestTeamService;
 
     /**
      * 查询散客入住
@@ -273,14 +274,16 @@ public class KfOrderServiceImpl implements IKfOrderService {
             KfOrderVo vo = baseMapper.selectVoOne(
                 new LambdaQueryWrapper<KfOrder>()
                     .eq(KfOrder::getTeamId, bo.getTeamId())
+                    .eq(KfOrder::getGuestId, bo.getGuestId())
                     .eq(KfOrder::getRoomCode, bo.getRoomCode())
-                    .in(KfOrder::getOrderStatus,orderStatusList));
+                    .in(KfOrder::getOrderStatus, orderStatusList));
             if (ObjectUtil.isNotEmpty(vo)) {
                 bo.setId(vo.getId());
                 this.updateByBo(bo);
             } else {
                 this.insertByBo(bo);
             }
+            guestTeamService.setGuestCheckInStatus(bo.getGuestId(), bo.getTeamId());
             KfOrderBo queryBo = new KfOrderBo();
             queryBo.setId(bo.getId());
             queryBo.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_RZ);