栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM框架之酒店管理系统十七(B端退房管理)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM框架之酒店管理系统十七(B端退房管理)

SSM框架之酒店管理系统十七(B端退房管理) 1、实体类创建
@Data
@ToString
public class Checkout {

    private Long id;
    private String checkOutNumber;
    private Long checkInId;
    private Double consumePrice;
    private Date createDate;
    private Integer createdBy;
    private String remark;
}

同时还需要创建一个vo类作为分页查询

2、CheckoutMapper
package com.zcl.dao;

import com.zcl.entity.Checkout;


public interface CheckoutMapper {

    
    int addCheckout(Checkout checkout);
}

映射文件




    
    
        insert into t_checkout (checkOutNumber, checkInId, consumePrice, createDate, createdBy, remark)
        values (#{checkOutNumber},#{checkInId},#{consumePrice},#{createDate},#{createdBy},#{remark});
    

3、CheckoutService
package com.zcl.service.impl;

import com.zcl.dao.CheckinMapper;
import com.zcl.dao.CheckoutMapper;
import com.zcl.dao.OrdersMapper;
import com.zcl.dao.RoomTypeMapper;
import com.zcl.entity.Checkin;
import com.zcl.entity.Checkout;
import com.zcl.entity.Orders;
import com.zcl.entity.RoomType;
import com.zcl.service.CheckoutService;
import com.zcl.utils.UUIDUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Date;


@Service
@Transactional
public class CheckoutServiceImpl implements CheckoutService {
    
    @Resource
    CheckoutMapper checkoutMapper;

    
    @Resource
    CheckinMapper checkinMapper;

    
    @Resource
    OrdersMapper ordersMapper;

    
    @Resource
    RoomTypeMapper roomTypeMapper;

    
    public int addCheckout(Checkout checkout) {
        // 1、添加退房记录
        checkout.setCreateDate(new Date());
        checkout.setCheckOutNumber(UUIDUtils.randomUUID());
        // 调用添加退房信息的方法
        int count = checkoutMapper.addCheckout(checkout);
        if(count > 0){
            // 2、修改入住管理t_checkin表中的状态为2【已退房】
            Checkin checkin = checkinMapper.finfById(checkout.getCheckInId());
            checkin.setStatus(2);
            // 调用修改入住订单方法
            checkinMapper.updateCheckin(checkin);

            // 3、修改t_orders预订表中的状态为【4】已完成
            Orders orders = new Orders();
            orders.setId(checkin.getOrdersid());
            orders.setStatus(4);
            // 调用修改的方法
            ordersMapper.updateOrders(orders);

            // 4、修改t_room_type房型表的数据
            RoomType roomType = roomTypeMapper.findById(checkin.getRoomtypeid());
            // 房间可用数量
            roomType.setAvilablenum(roomType.getAvilablenum()+1);
            // 房间已住数量
            roomType.setLivednum(roomType.getLivednum()-1);
            roomTypeMapper.updateRoomType(roomType);
        }
        return count;
    }
}

这边的话可能调用了行的修改方法,需要自己去添加

4、CheckoutController
package com.zcl.controller.admin;

import com.alibaba.fastjson.JSON;
import com.zcl.dao.CheckoutMapper;
import com.zcl.entity.Checkin;
import com.zcl.entity.Checkout;
import com.zcl.entity.Employee;
import com.zcl.service.CheckoutService;
import com.zcl.utils.SystemConstant;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;


@RestController
@RequestMapping("/admin/checkout")
public class CheckoutController {
    @Resource
    CheckoutService checkoutService;

    @RequestMapping("/addCheckout")
    public String addCheckout(Checkout checkout, HttpSession session){
        System.out.println("退房接收数据:"+checkout);
        Map map = new HashMap();
        //获取当前登录用户
        Employee employee = (Employee) session.getAttribute(SystemConstant.LOGINUSER);
        //退房人【当前登录用户】
        checkout.setCreatedBy(employee.getId());
        //调用添加退房信息的方法
        if(checkoutService.addCheckout(checkout)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGES,"办理退房成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGES,"办理退房失败");
        }
        return JSON.toJSONString(map);
    }
}

5、前端页面请求事件
// 退房事件
function checkOut(data) {
    console.log(data);
    // 判断当前的入住状态
    if(data.status == 1){
        // 提示是否退房
        layer.confirm('您确定要办理退房吗?', {icon: 3, title:'退房提示'}, function(index){
            //发送请求
            $.post("/admin/checkout/addCheckout",{"checkInId":data.id,"consumePrice":data.payprice},function(result){
                if(result.succser){
                    layer.alert(result.messages,{icon:1});
                    tableIns.reload();
                }else {
                    layer.alert(result.messages,{icon:5});
                }
            },"json");
            layer.close(index);
        });
    }else {
        layer.msg("该入住订单已完成,无需重复办理退房");
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/931235.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号