Ver Fonte

Merge remote-tracking branch 'origin/master'

luo.yibo@datuai.com há 1 ano atrás
pai
commit
8c2b8f00fc

+ 20 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/HotelBusinessConstants.java

@@ -0,0 +1,20 @@
+package org.dromara.common.core.constant;
+
+/**
+ * @author Hz
+ * @date 2024/11/15
+ * @description 客房管理系统业务常量
+ */
+public class HotelBusinessConstants {
+
+    /** 预定 */
+    public static final String ORDER_STATUS_YD = "1";
+    /** 锁房 */
+    public static final String ORDER_STATUS_SF = "2";
+    /** 入住 */
+    public static final String ORDER_STATUS_RZ = "3";
+    /** 取消预定 */
+    public static final String ORDER_STATUS_QX = "4";
+    /** 退房 */
+    public static final String ORDER_STATUS_TF = "5";
+}

+ 5 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/controller/PtRoomController.java

@@ -64,6 +64,11 @@ public class PtRoomController extends BaseController {
         return R.ok(ptRoomService.queryRoom2AreaList(bo));
     }
 
+    @SaCheckPermission("room:ptRoom:list")
+    @GetMapping("/queryList")
+    public R<List<PtRoomVo>> queryList(PtRoomBo bo) {
+        return R.ok(ptRoomService.queryList(bo));
+    }
     /**
      * 导出房间定义列表
      */

+ 1 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/vo/PtRoomVo.java

@@ -44,7 +44,7 @@ public class PtRoomVo implements Serializable {
 
     @ExcelProperty(value = "所属区域")
     private String areaName;
-
+    private String allAreaName;
     /**
      * 房间编码
      */

+ 1 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/service/impl/PtRoomServiceImpl.java

@@ -181,6 +181,7 @@ public class PtRoomServiceImpl implements IPtRoomService {
         lqw.like(StringUtils.isNotBlank(bo.getRoomName()), PtRoom::getRoomName, bo.getRoomName());
         lqw.eq(StringUtils.isNotBlank(bo.getRoomType()), PtRoom::getRoomType, bo.getRoomType());
         lqw.eq(StringUtils.isNotBlank(bo.getCodeOne()), PtRoom::getCodeOne, bo.getCodeOne());
+        lqw.eq(StringUtils.isNotBlank(bo.getStatus()), PtRoom::getStatus, bo.getStatus());
         return lqw;
     }
 

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

@@ -99,6 +99,16 @@ public class KfOrderController extends BaseController {
         return toAjax(kfOrderService.updateByBo(bo));
     }
 
+    /**
+     * 退房|取消预定
+     */
+    @SaCheckPermission("business:guestOrder:edit")
+    @Log(title = "退房|取消预定", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping("distributeOrder")
+    public R<Void> distributeOrder(@Validated(EditGroup.class) @RequestBody KfOrderBo bo) {
+        return toAjax(kfOrderService.distributeOrder(bo));
+    }
     /**
      * 删除散客入住
      *

+ 1 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/bo/KfOrderBo.java

@@ -94,4 +94,5 @@ public class KfOrderBo extends BaseEntity {
      */
     private String otherId;
 
+    private String orderType;
 }

+ 2 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfOrderVo.java

@@ -51,12 +51,14 @@ public class KfOrderVo implements Serializable {
     /**
      * 客团名称
      */
+    private Long teamId;
     @ExcelProperty(value = "客团名称")
     private String teamName;
 
     /**
      * 房间名称
      */
+    private String roomCode;
     @ExcelProperty(value = "房间名称")
     private String roomName;
 

+ 3 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/mapper/KfOrderMapper.java

@@ -22,4 +22,7 @@ public interface KfOrderMapper extends BaseMapperPlus<KfOrder, KfOrderVo> {
     List<KfOrderVo> queryListByGuestName(String guestName);
 
     RemoteOrderVo selectByBo(@Param("bo") KfOrderBo bo);
+
+    /** 根据房间code修改房间状态*/
+    int updateRoomStatus(@Param("roomCode") String roomCode, @Param("status") String status);
 }

+ 4 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/IKfOrderService.java

@@ -59,6 +59,10 @@ public interface IKfOrderService {
      */
     Boolean updateByBo(KfOrderBo bo);
 
+    /**
+     * 退房
+     */
+    Boolean distributeOrder(KfOrderBo bo);
     /**
      * 校验并批量删除散客入住信息
      *

+ 32 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/KfOrderServiceImpl.java

@@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemotePtRoomService;
+import org.dromara.common.core.constant.HotelBusinessConstants;
+import org.dromara.common.core.enums.HotelRoomStatusEnum;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -123,6 +127,14 @@ public class KfOrderServiceImpl implements IKfOrderService {
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
             bo.setId(add.getId());
+            String roomStatus = "";
+            //修改房间状态
+            if(HotelBusinessConstants.ORDER_STATUS_YD.equals(add.getOrderStatus())){
+                roomStatus = HotelRoomStatusEnum.YD.code();
+            }else if(HotelBusinessConstants.ORDER_STATUS_RZ.equals(add.getOrderStatus())){
+                roomStatus = HotelRoomStatusEnum.YZ.code();
+            }
+            baseMapper.updateRoomStatus(add.getRoomCode(), roomStatus);
         }
         return flag;
     }
@@ -140,6 +152,26 @@ public class KfOrderServiceImpl implements IKfOrderService {
         return baseMapper.updateById(update) > 0;
     }
 
+    @Override
+    public Boolean distributeOrder(KfOrderBo bo) {
+        boolean flag = false;
+        String roomStatus = "";
+        if(bo != null){
+            //1. 修改订单状态
+            flag = updateByBo(bo);
+
+            //2. 修改房间状态
+            if(HotelBusinessConstants.ORDER_STATUS_QX.equals(bo.getOrderStatus())){
+                roomStatus = HotelRoomStatusEnum.OK.code();
+            }else if(HotelBusinessConstants.ORDER_STATUS_TF.equals(bo.getOrderStatus())){
+                roomStatus = HotelRoomStatusEnum.ZF.code();
+            }
+            int res = baseMapper.updateRoomStatus(bo.getRoomCode(), roomStatus);
+            flag = flag && res > 0;
+        }
+        return flag;
+    }
+
     /**
      * 保存前的数据校验
      */

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

@@ -54,6 +54,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="bo.params != null and bo.params.size() > 0">
                 and o.start_time between #{bo.params.beginStartTime} and #{bo.params.endStartTime}
             </if>
+            <if test="bo.orderType != null and bo.orderType != ''">
+                and o.order_type = #{bo.orderType}
+            </if>
         order by o.create_time desc
         </where>
     </select>
@@ -84,4 +87,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
         </where>
     </select>
+
+    <update id="updateRoomStatus" >
+        update t_pt_room set status = #{status} where room_code = #{roomCode}
+    </update>
 </mapper>