【开源】基于Vue.js的假日旅社管理系统

news/2024/7/10 22:01:18 标签: 开源, vue.js, 前端

在这里插入图片描述
文末获取源码,项目编号: S 078 。 \color{red}{文末获取源码,项目编号:S078。} 文末获取源码,项目编号:S078


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 系统介绍
    • 2.2 QA 问答
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询民宿
    • 4.2 新增民宿评论
    • 4.3 查询民宿新闻
    • 4.4 新建民宿预订单
    • 4.5 查询我的民宿预订单
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的假日旅社管理系统,包含了民宿管理模块、民宿订单模块、民宿评论模块和民宿新闻模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,假日旅社管理系统基于角色的访问控制,给旅社管理员、旅客使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

2.1 系统介绍

随着国民生活水平的逐渐提高,每逢假期或空闲时节走出家门游山玩水已渐渐成为人们生活的一部分,那么外出住宿是必然要考虑到的问题。互联网的普及给人们带来的便利不需多说。

因此如果把假日旅社与互联网结合起来,利用 spring boot 框架,mysql 技术建设民宿短租系统,实现假日旅社管理的网络化。则对于进一步提高国民经济发展,丰富人们的精神生活定能起到不少的促进作用。

根据本系统的研究现状和发展趋势,系统从需求分析、结构设计、数据库设计,在到系统实现,分别为前端实现和后端实现。

  1. 主界面,主要显示正在热门假日旅社动态、网站导航
  2. 用户登陆注册和用户管理,用户管理包括用户信息、添加时间、手机号等
  3. 民宿详情,为用户提供民宿的基本信息,用户可以进行评论。
  4. 民宿预定,用户进行预定,确认订单信息,生成用户订单等
  5. 角色管理:对后台管理员账号进行修改和增删。

2.2 QA 问答

假日旅社管理系统的使用对象有两个,分别是宿舍管理员和旅客。

  1. 宿舍管理员可以对旅社的宿舍进行管理维护;对旅社的时政新闻进行管理;监控查询旅客的预约、评论信息;系统权限的配置;旅社组织架构的设计;系统用户的管理

  2. 旅客可以查询旅社的宿舍;查询旅社的新闻;在对旅社的宿舍进行预约;对宿舍进行评论

假日旅社管理系统拥有以下六个功能模块。

  1. 承载旅社的宿舍管理功能。也就是宿舍管理员可以对旅社的宿舍进行增删改查操作。
    宿舍是假日旅社系统的基础数据,所以需要这个模块。

  2. 承载旅客档案管理功能。也就是宿舍管理员可以对旅客的档案进行增删改查操作。比如维护手机号、姓名等。
    旅客也是假日旅社系统的基础数据,所以需要这个模块。

  3. 承载宿舍预约的功能,和模拟付款功能。
    旅客可以查询宿舍管理员发布的宿舍,并且进行预定,支持模拟付款功能,模拟整个预定的过程。

  4. 承载旅社的新闻时政功能。
    一家旅社要能够得到旅客的信赖,新闻时政肯定是必不可少的
    所以需要这个模块,由宿舍管理员维护,开放给旅客查询。

  5. 承载旅社宿舍的留言功能。
    旅客可以对宿舍进行评论,可以被给其他旅客看到,给与决策支持。

  6. 承载可能需要的其他功能。
    在设计这个系统的时候,可能会用到其他功能,比如日志、文件管理
    我会把这些功能封装成独立的模块,利用Vue的组件化优势提供给别的模块调用

这个系统前端采用了国内流行的Vue技术,采用View UI作为组件库;后端采用SpringBoot整合MybatisPlus。采用maven构建项目,采用Mysql数据库,使用Redis缓存加密的用户临时数据。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询民宿

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询民宿")
public Result<IPage<Dormitory>> getByPage(@ModelAttribute Dormitory dormitory,@ModelAttribute PageVo page){
    QueryWrapper<Dormitory> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(dormitory.getTitle())) {
        qw.like("title",dormitory.getTitle());
    }
    if(!ZwzNullUtils.isNull(dormitory.getType())) {
        qw.eq("type",dormitory.getType());
    }
    if(!ZwzNullUtils.isNull(dormitory.getBreakfast())) {
        qw.eq("breakfast",dormitory.getBreakfast());
    }
    IPage<Dormitory> data = iDormitoryService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Dormitory>>().setData(data);
}

4.2 新增民宿评论

@RequestMapping(value = "/addMyDiscuss", method = RequestMethod.POST)
@ApiOperation(value = "新增民宿评论")
public Result<Object> addMyDiscuss(@RequestParam String id,@RequestParam String reply,@RequestParam String text){
    Dormitory dormitory = iDormitoryService.getById(id);
    if(dormitory == null) {
        return ResultUtil.error("民宿不存在");
    }
    User currUser = securityUtil.getCurrUser();
    DormitoryDiscuss discuss = new DormitoryDiscuss();
    discuss.setUserId(currUser.getId());
    discuss.setUserName(currUser.getNickname());
    discuss.setReply(reply);
    discuss.setDormitoryId(dormitory.getId());
    discuss.setDiscussTime(DateUtil.now());
    discuss.setContent(text);
    iDormitoryDiscussService.saveOrUpdate(discuss);
    return ResultUtil.success();
}

4.3 查询民宿新闻

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询民宿新闻")
public Result<IPage<DormitoryNews>> getByPage(@ModelAttribute DormitoryNews dormitoryNews,@ModelAttribute PageVo page){
    QueryWrapper<DormitoryNews> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(dormitoryNews.getNewTitle())) {
        qw.like("new_title",dormitoryNews.getNewTitle());
    }
    if(!ZwzNullUtils.isNull(dormitoryNews.getNewDescribe())) {
        qw.like("new_describe",dormitoryNews.getNewDescribe());
    }
    if(!ZwzNullUtils.isNull(dormitoryNews.getPeriodTime())) {
        qw.like("period_time",dormitoryNews.getPeriodTime());
    }
    if(!ZwzNullUtils.isNull(dormitoryNews.getIsPublic())) {
        qw.like("is_public",dormitoryNews.getIsPublic());
    }
    if(!ZwzNullUtils.isNull(dormitoryNews.getIsTop())) {
        qw.like("is_top",dormitoryNews.getIsTop());
    }
    IPage<DormitoryNews> data = iDormitoryNewsService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<DormitoryNews>>().setData(data);
}

4.4 新建民宿预订单

@RequestMapping(value = "/addMyOrder", method = RequestMethod.POST)
@ApiOperation(value = "新建民宿预订单")
public Result<Object> addMyOrder(@RequestParam String id,@RequestParam String date){
    Dormitory dormitory = iDormitoryService.getById(id);
    if(dormitory == null) {
        return ResultUtil.error("民宿不存在");
    }
    QueryWrapper<DormitoryOrder> qw = new QueryWrapper<>();
    qw.eq("dormitory_id",id);
    qw.eq("order_date",date);
    long count = iDormitoryOrderService.count(qw);
    if(count > 0) {
        return ResultUtil.error("民宿当日已被预定");
    }
    User currUser = securityUtil.getCurrUser();
    DormitoryOrder order = new DormitoryOrder();
    order.setUserId(currUser.getId());
    order.setUserName(currUser.getNickname());
    order.setOrderTime(DateUtil.now());
    order.setPayFlag("否");
    order.setDormitoryId(dormitory.getId());
    order.setPrice(dormitory.getPrice());
    order.setRemark("");
    order.setDormitoryName(dormitory.getTitle());
    order.setOrderDate(date);
    iDormitoryOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

4.5 查询我的民宿预订单

@RequestMapping(value = "/getMyPage", method = RequestMethod.GET)
@ApiOperation(value = "查询我的民宿预订单")
public Result<IPage<DormitoryOrder>> getMyPage(@ModelAttribute DormitoryOrder order,@ModelAttribute PageVo page){
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<DormitoryOrder> qw = new QueryWrapper<>();
    qw.eq("user_id",currUser.getId());
    if(!ZwzNullUtils.isNull(order.getDormitoryId())) {
        qw.eq("dormitory_id",order.getDormitoryId());
    }
    if(!ZwzNullUtils.isNull(order.getUserName())) {
        qw.eq("user_name",order.getUserName());
    }
    IPage<DormitoryOrder> data = iDormitoryOrderService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<DormitoryOrder>>().setData(data);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述


http://www.niftyadmin.cn/n/5250356.html

相关文章

Elon Musk艾隆・马斯克的聊天机器人Grok上线可以使用啦,为X Premium Plus订阅者推出

艾隆・马斯克旗下的 AI 初创公司X&#xff08;前身“推特”&#xff09;开发的 ChatGPT 竞争对手 Grok 已经在 X 平台上正式推出。Grok 是一个基于生成模型 Grok-1的聊天机器人&#xff0c;它能够回答问题并提供最新的信息。与其他聊天机器人不同&#xff0c;Grok 可以实时获取…

Linux shell编程学习笔记34:eval 命令

0 前言 在JavaScript语言中&#xff0c;有一个很特别的函数eval&#xff0c;eval函数可以将字符串当做 JavaScript 代码执行&#xff0c;返回表达式或值。 在Linux Shell 中也提供了内建命令eval&#xff0c;它是否具有JavaScript语言中eval函数的功能呢&#xff1f; 1 eval命…

生信技能30 - 获取CNV开始位置和结束位置所在的染色体区带

获取CNV开始位置和结束位置所在的染色体区带,以下为函数方法和调用方法示例 程序代码 # 获取INDEL开始位置和结束位置所在的染色体区带 def get_cytoband(pos_start, pos_end, chrom):# cytoBand.txt所在的文件路径cytoband_file = “./cytoBand.txt”try:df = pd.read_csv(…

C#-快速剖析文件和流,并使用

目录 一、概述 二、文件系统 1、检查驱动器信息 2、Path 3、文件和文件夹 三、流 1、FileStream 2、StreamWriter与StreamReader 3、BinaryWriter与BinaryReader 一、概述 文件&#xff0c;具有永久存储及特定顺序的字节组成的一个有序、具有名称的集合&#xff1b; …

附录C 流水线:基础与中级概念

1. 引言 1.1 什么是流水线&#xff1f; 流水线爱是一种将多条指令重叠执行的实现技术&#xff0c;它利用了一条指令所需的多个操作之间的并行性。&#xff08;指令操作的非原子性和指令类型的多样性&#xff09; 在计算流水线中&#xff0c;每个步骤完成指令的一部分&#x…

基于深度学习的热红外与可见光图像融合

热红外&#xff08;IR&#xff09;与可见光&#xff08;VIS&#xff09;图像融合在许多领域中都具有重要的应用&#xff0c;如夜间监测、目标检测和军事领域。深度学习提供了一种强大的框架&#xff0c;可以用于学习多模态图像的高级特征&#xff0c;从而实现更好的融合效果。以…

geolife 笔记:将所有轨迹放入一个DataFrame

单条轨迹的处理&#xff1a;geolife笔记&#xff1a;整理处理单条轨迹-CSDN博客 1 加载数据 import pandas as pd import numpy as np import datetime as dt import osdata_dir Geolife Trajectories 1.3/Data/ 1.1 列出所有文件夹 dirlist os.listdir(data_dir) dirlist…

【腾讯云 HAI域探秘】StableDiffusionWebUI 让我找到了宫崎骏动漫里的夏天

目录 前言一、HAI二、应用场景三、构建 Stable Diffusion 模型1、新建HAI应用2、StableDiffusionWebUI&#xff08;1&#xff09;功能介绍&#xff08;2&#xff09;页面转中文&#xff08;3&#xff09;AI绘图① 正向提示词语② 反向提示词③ “” 、“ AND”、“|” 用法④ 权…