基于java+springboot+vue的酒店客房管理系统

项目介绍

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了酒店客房管理系统的开发全过程。通过分析酒店客房管理系统管理的不足,创建了一个计算机管理酒店客房管理系统的方案。文章介绍了酒店客房管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本酒店客房管理系统有管理员,用户,会员,清洁人员。管理员功能有个人中心,用户管理,会员管理,清洁人员管理,客房信息管理,用户预约管理,会员预约管理,用户取消管理,会员取消管理,用户入住管理,会员入住管理,用户退房管理,会员退房管理,清扫房间管理,留言板管理,系统管理等。因而具有一定的实用性。

本站是一个B/S模式系统,后台采用Spring Boot框架,前台采用VUE框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得酒店客房管理系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高酒店客房管理系统管理效率。

在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SpringBoot
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1 用户信息管理
酒店客房管理系统的系统管理员可以管理用户信息,可以对用户信息信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。
在这里插入图片描述

图5.1 用户信息信息管理界面

5.2 会员信息管理
系统管理员可以查看对会员信息信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
在这里插入图片描述

图5.2 会员信息信息管理界面

5.3 客房信息管理
管理员可以对客房信息信息进行修改,删除以及查询操作。界面如下图所示:
在这里插入图片描述

图5.3 客房信息信息管理界面

5.4 收藏客房管理
用户登录后可以对客房信息进行收藏,预定。界面如下图所示:
在这里插入图片描述

图5.4 收藏客房管理界面

5.5 用户入住管理
管理员可以对用户入住信息进行管理,可以添加,修改,删除以及清扫。界面如下图所示:
在这里插入图片描述

图5.5 用户入住界面

5.6 客房清扫管理
清洁人员登录可以对用户入住的客房进行清扫。界面如下图所示:

在这里插入图片描述

图5.6 客房清扫界面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.QingsaofangjianEntity;
import com.entity.view.QingsaofangjianView;

import com.service.QingsaofangjianService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 清扫房间
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/qingsaofangjian")
public class QingsaofangjianController {
    @Autowired
    private QingsaofangjianService qingsaofangjianService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,QingsaofangjianEntity qingsaofangjian,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("qingjierenyuan")) {
			qingsaofangjian.setQingjiezhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<QingsaofangjianEntity> ew = new EntityWrapper<QingsaofangjianEntity>();
		PageUtils page = qingsaofangjianService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qingsaofangjian), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,QingsaofangjianEntity qingsaofangjian, 
		HttpServletRequest request){
        EntityWrapper<QingsaofangjianEntity> ew = new EntityWrapper<QingsaofangjianEntity>();
		PageUtils page = qingsaofangjianService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qingsaofangjian), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( QingsaofangjianEntity qingsaofangjian){
       	EntityWrapper<QingsaofangjianEntity> ew = new EntityWrapper<QingsaofangjianEntity>();
      	ew.allEq(MPUtil.allEQMapPre( qingsaofangjian, "qingsaofangjian")); 
        return R.ok().put("data", qingsaofangjianService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(QingsaofangjianEntity qingsaofangjian){
        EntityWrapper< QingsaofangjianEntity> ew = new EntityWrapper< QingsaofangjianEntity>();
 		ew.allEq(MPUtil.allEQMapPre( qingsaofangjian, "qingsaofangjian")); 
		QingsaofangjianView qingsaofangjianView =  qingsaofangjianService.selectView(ew);
		return R.ok("查询清扫房间成功").put("data", qingsaofangjianView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        QingsaofangjianEntity qingsaofangjian = qingsaofangjianService.selectById(id);
        return R.ok().put("data", qingsaofangjian);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        QingsaofangjianEntity qingsaofangjian = qingsaofangjianService.selectById(id);
        return R.ok().put("data", qingsaofangjian);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody QingsaofangjianEntity qingsaofangjian, HttpServletRequest request){
    	qingsaofangjian.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qingsaofangjian);
        qingsaofangjianService.insert(qingsaofangjian);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody QingsaofangjianEntity qingsaofangjian, HttpServletRequest request){
    	qingsaofangjian.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qingsaofangjian);
        qingsaofangjianService.insert(qingsaofangjian);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody QingsaofangjianEntity qingsaofangjian, HttpServletRequest request){
        //ValidatorUtils.validateEntity(qingsaofangjian);
        qingsaofangjianService.updateById(qingsaofangjian);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        qingsaofangjianService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<QingsaofangjianEntity> wrapper = new EntityWrapper<QingsaofangjianEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("qingjierenyuan")) {
			wrapper.eq("qingjiezhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = qingsaofangjianService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目录
1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 2
2.1 MYSQL数据库 2
2.2 B/S结构 3
2.3 Spring Boot框架简介 4
2.4 VUE框架简介 4
3系统分析 4
3.1可行性分析 4
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 5
3.2.1 系统安全性 5
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 7
4系统概要设计 8
4.1概述 8
4.2系统结构 9
4.3.数据库设计 9
4.3.1数据库实体 9
4.3.2数据库设计表 11
5系统详细实现 18
5.1 用户信息管理 18
5.2 会员信息管理 19
5.3 客房信息管理 19
5.4 收藏客房管理 20
5.5 用户入住管理 21
5.6 客房清扫管理 21
6系统测试 22
6.1概念和意义 22
6.2特性 22
6.3重要性 23
6.4测试方法 23
6.5 功能测试 24
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 25
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

开题报告-基于Java酒店客房管理系统的设计与实现 毕业设计开题报告 课 题 名 称:基于Java酒店客房管理系统的 设计与实现 姓 名: 班    级: 指 导 教 师: 所 在 系 部: "毕业设计的 "1.毕业设计的内容: " "内容和意义 "随着科技与经济的迅速发展,人们对衣食住行的要求也逐渐提高。 " " "本课程设计的内容旨在以管理系统的方式给人们出行提供酒店预订 " " "服务,从而能够更方便快捷的帮助酒店工作人员办理客户入住酒店 " " "手续,解决不必要的麻烦。 " " "本课题的系统功能包括有酒店信息查询管理,可以方便客户了解酒 " " "店信息;顾客资格注册管理,酒店通过该功能,可方便顾客注册会 " " "员;酒店客房预订功能,客户可以根据各自的不同要求,预定满意 " " "的房间;以及支持信息修改和删除,住房更换等功能。 " " "2.毕业设计的意义 " " "对于整个酒店来说,在酒店经营状况中起决定作用的是酒店服务管 " " "理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店 " " "发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高 " " "酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒 " " "店管理走向成功的关键因素,但它可以最大限度地发挥准确、高效 " " "快捷等作用,对酒店管理提供强有力地支持。因此,采用全新的计 " " "算机网络和酒店客房管理系统,已经成为提高酒店的管理效率的必 " " "要途径。它可以使工作人员与管理系统之间灵活互动,实现流畅的 " " "工作流衔接,帮助酒店有效地进行客房管理,释放最大价值。酒店 " " "客房管理系统在达到节省人力资源成本的同时,还可以提高业务效 " " "率,并能够及时、准确、迅速地满足对不同顾客服务的需求。 " "文献综述 "一.实际应用方面的价值 " " "酒店通过该系统,不仅可以节省酒店管理的人力财力,还可以提高 " " "酒店服务的水平和质量,从而提升酒店的服务档次,赢得高信誉、 " " "强实力、好效益。 " " " " " "二.国内外的研究现状 " " "国外的酒店管理系统最早是与70年代初发展起来的,到了80年代, " " "国外的酒店管理系统,如EECO(Electronic Engineering " " "CO.)、HIS(Hotel Information " " "System)、Lodgistix等,整个模式已经进本定性,技术比较成熟, " " "功能也比较齐全。现在,国外酒店正向个性化发展。 " " "国内的酒店计算机管理系统最早是80年代初开始的,从事该方面工 " " "作的有清华大学自动化系的金国芬教授、西安交大和浙江省计算技 " " "术研究所。到了80年代中后期,随着国外酒店计算机管理系统和先 " " "进管理技术的大规模引进,进一步促进了我国酒店管理技术发展。 " " "如今,随着计算机在酒店中的普及应用,以及计算机技术的不断发 " " "展,酒店计算机系统的发展到了一个新的时期,洗的系统平台、新 " " "的软件功能、新的系统特点及发展方向不断涌现。 " " " " " "三.相关技术与研发基础 " " "开发工具:My Eclipse " " "开发语言:Java " " "操作系统:Windows XP " " "My Eclipse企业级工作平台(MyEclipse Enterprise Workbench, " " "简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据 " " "库的开发、发布,以及应用程序服务器的整合方面极大的提高工作 " " "效率。 " " "在结构上,MyEclipse的特征可以被分为7类: " " "J2EE模型 " " "WEB开发工具 " " "EJB开发工具 " " "应用程序服务器的连接器 " " "J2EE项目部署服务 " " "数据库服务 " " "My Eclipse整合帮助 " " "对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件," " "并通过一系列的插件来实现它们。My Eclipse结构上的这种模块化 " " ",可以让我们在不影响其他模块的情况下,对任一模块进行单独的 " " "扩展和升级。 " " "Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。J" " "ava 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛 " " "应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和 " " "互联网,同时拥有全球最大的开发者专业社群。 " " "与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放 " " "的技术。全球
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_3306428634

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值