# 酒店管理系统(SAAS)
**Repository Path**: yuhf/hotel-management-system-saas
## Basic Information
- **Project Name**: 酒店管理系统(SAAS)
- **Description**: 酒店管理系统、酒店物业管理系统、酒店前台管理系统、酒店预订管理系统、酒店运营支持系统、酒店收益管理系统、酒店预订系统、酒店内容管理系统、酒店房态管理系统、酒店数据分析系统、酒店服务管理平台、酒店资源管理系统、酒店综合信息平台、酒店订单处理系统、酒店房间分配
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-08-12
- **Last Updated**: 2025-08-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 酒店管理系统部署说明文档
## 一、概述(Introduction)
### 文档目的
本文档旨在提供酒店管理系统各组件的详细部署指南,确保系统能够在各环境中正确安装、配置和运行。
### 部署环境简介
本系统可部署在开发环境、测试环境、UAT环境以及生产环境。当前文档主要面向生产环境部署,其他环境可参考相应配置进行适当调整。
## 二、部署环境要求
### 1. 硬件要求
#### 最低配置(单节点部署)
- CPU:4核8线程
- 内存:8GB
- 磁盘空间:100GB(推荐SSD)
- 网络带宽:5Mbps以上
### 2. 软件依赖
#### 操作系统
- 推荐:CentOS 7.x / 8.x 或 Ubuntu 18.04 LTS / 20.04 LTS
- 支持:任何支持现代Web应用的Linux发行版
#### 运行时环境
- Java环境:JDK 1.8(必须)
- 前端环境:Node.js 14.x 或以上
#### 数据库
- MySQL 5.7+ (主要数据库)
- Redis 5.0+ (缓存及会话存储)
#### 中间件
- Nginx 1.18+ (Web服务器与反向代理)
### 3. 网络配置
#### 端口要求
以下端口需要在防火墙/安全组中开放:
- 80/443:HTTP/HTTPS
- 8080:后端服务
- 3306:MySQL数据库
- 6379:Redis服务
## 三、项目结构说明
### 1. 目录结构总览
```
酒店管理系统/
├── codes/ # 源代码目录
│ ├── FWY-JDGL-SAAS-MANAGE/ # 管理端前端项目(Vue)
│ ├── FWY-JDGL-SAAS-SERVER/ # 后端服务项目(Java)
│ ├── FWY-JDGL-SAAS-H5/ # H5客户端项目(uni-app)
├── dbs/ # 数据库脚本目录
│ └── hotel_saas.sql # 数据库初始化脚本
└── docs/ # 文档目录
└── 酒店管理系统-说明文档-FWY-JDGL-SAAS.docx # 项目说明文档
```
### 2. 模块说明
#### 2.1 管理端前端 (FWY-JDGL-SAAS-MANAGE)
基于Vue.js开发的酒店管理系统后台,提供酒店管理员使用的各种功能界面。
```
FWY-JDGL-SAAS-MANAGE/
├── src/ # 源代码目录
│ ├── api/ # API接口定义
│ ├── assets/ # 静态资源(图片、样式等)
│ ├── components/ # 共用组件
│ ├── router/ # 路由配置
│ ├── store/ # Vuex状态管理
│ ├── utils/ # 工具类
│ └── views/ # 页面视图组件
├── public/ # 静态资源目录
├── package.json # 项目依赖配置
└── vue.config.js # Vue项目配置
```
主要功能:
- 酒店信息管理
- 房间管理
- 预订管理
- 入住管理
- 结算管理
- 系统设置
#### 2.1.1 前端视图目录(src/views)详解
views 目录包含系统所有页面组件,按功能模块进行分类:
- **account/** - 账户管理模块,提供用户个人中心、个人设置、安全设置等功能,路由路径为`/account`
- **dashboard/** - 系统仪表盘模块,包含数据分析(Analysis)、工作台(Workplace)、监控页(Monitor)等统计展示功能,路由路径为`/dashboard`
- **exception/** - 异常页面模块,提供403(无权限)、404(未找到)、500(服务器错误)等错误页面
- **fangwu/** - 房屋信息管理模块,处理基础房屋数据和房屋相关业务,路由路径为`/fangwu/index`
- **finance/** - 财务管理模块,处理酒店收付款、账单、统计等财务功能,路由路径为`/finance/index`
- **hotel/** - 酒店基础信息管理模块,处理酒店配置和基础数据管理
- **jeecg/** - 框架特有功能模块,提供低代码开发相关组件和功能示例
- **markets/** - 营销管理模块,负责会员、优惠券、营销活动等功能,路由路径为`/markets/marketInfo`
- **modules/** - 系统通用功能组件库,为各模块提供公共组件支持
- **orders/** - 订单管理模块,处理房间预订、服务、餐饮等各类订单信息,路由路径为`/orders/orderInfo`
- **pos/** - POS销售系统模块,提供前台收银和销售功能,路由路径为`/pos/posInfo`
- **report/** - 报表统计模块,提供多种数据报表和分析功能,路由路径为`/report/index`
- **result/** - 结果页面模块,展示各类操作结果状态(成功/失败)的标准页面
- **room/** - 房间管理核心模块,包含房态图、预订管理、入住管理等,路由路径为`/room/dynamic/fangtai`
- **settings/** - 系统设置模块,提供酒店、房间、营销、POS等各模块的配置功能
- **stock/** - 库存管理模块,处理物品采购、出入库和库存相关功能,路由路径为`/stock/index`
- **system/** - 系统管理模块,提供用户、角色、权限、租户等系统核心管理功能,路由路径为`/isystem`
- **user/** - 用户授权模块,提供登录(Login)、注册(register)、租户选择(LoginSelectTenant)等认证功能
#### 2.2 后端服务 (FWY-JDGL-SAAS-SERVER)
基于Spring Boot框架开发的后端服务,提供RESTful API接口。
```
FWY-JDGL-SAAS-SERVER/hotel-saas-backend/
├── jeecg-boot-base-core/ # 核心模块,提供基础功能
├── jeecg-module-system/ # 系统模块,提供系统管理功能
│ ├── jeecg-system-api/ # 系统API定义
│ ├── jeecg-system-biz/ # 系统业务逻辑
│ └── jeecg-system-start/ # 系统启动模块
├── jeecg-module-demo/ # 示例模块
├── jeecg-mall-api/ # 商城API模块
└── pom.xml # Maven项目配置
```
#### 2.3 H5客户端 (FWY-JDGL-SAAS-H5)
基于uni-app框架开发的移动端H5应用,为用户提供酒店预订、查询等功能。
```
FWY-JDGL-SAAS-H5/
├── pages/ # 页面目录
├── components/ # 组件目录
├── static/ # 静态资源
├── store/ # 状态管理
└── App.vue # 应用入口
```
### 3. 技术栈
#### 前端
- Vue.js 2.x:主要开发框架
- Ant Design Vue:UI组件库
- Vuex:状态管理
- Vue Router:路由管理
- Axios:HTTP请求库
- Uni-app:跨平台应用开发框架(H5和小程序)
#### 后端
- Spring Boot 2.6.x:主要开发框架
- Spring Cloud:微服务支持
- MyBatis-Plus:ORM框架
- Shiro:权限管理
- Redis:缓存
- MySQL:关系型数据库
#### 开发与部署
- Maven:Java项目构建工具
- NPM:前端项目包管理
- Nginx:Web服务器和反向代理
### 4. 核心代码模块详解
主要位于 `jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules` 目录下。
```
modules/
├── api/ # 外部接口模块,提供对外API服务
├── business/ # 业务核心模块,处理酒店预订、入住等核心业务
├── finance/ # 财务管理模块,处理账单、收款等财务业务
├── fw/ # 房务管理模块,处理房屋维修、保洁等房务工作
├── kc/ # 库存管理模块,处理物品采购、库存等功能
├── message/ # 消息通知模块,处理系统消息、通知等功能
├── order/ # 订单管理模块,处理各类订单数据
├── pos/ # POS销售模块,处理前台销售和收银业务
├── rooms/ # 房间管理模块,核心模块,处理房态、房型等功能
├── system/ # 系统管理模块,处理用户、权限、租户等系统配置
└── monitor/ # 系统监控模块,处理系统运行状态监控
```
每个业务模块内部通常按照标准的分层架构组织:
```
模块名/
├── controller/ # 控制器层,处理HTTP请求
├── service/ # 服务层,实现业务逻辑
│ ├── impl/ # 服务实现类
│ └── interfaces/ # 服务接口
├── entity/ # 实体类,对应数据库表
├── mapper/ # MyBatis映射层,负责数据访问
│ └── xml/ # MyBatis XML映射文件
├── vo/ # 值对象,用于数据传输
└── dto/ # 数据传输对象
```
## 四、本地开发说明
本节内容介绍如何在本地环境中设置和运行开发环境,以便开发人员能够进行代码修改、调试和测试。
### 1. 开发环境准备
#### 1.1 基础环境
在开始本地开发前,确保已安装以下基础软件:
- JDK 1.8
- Maven 3.6+
- Node.js 14.x 和 npm 6.x+
- MySQL 5.7+
- Redis 5.0+
- 开发工具: IntelliJ IDEA(后端)、VS Code(前端)
- Git
#### 1.2 数据库配置
```bash
# 创建开发用数据库
mysql -u root -p
CREATE DATABASE hotel_saas_dev DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'hotel_saas'@'localhost' IDENTIFIED BY 'dev_password';
GRANT ALL PRIVILEGES ON hotel_saas_dev.* TO 'hotel_saas'@'localhost';
FLUSH PRIVILEGES;
exit;
# 导入开发数据
mysql -u hotel_saas -p hotel_saas_dev < dbs/hotel_saas.sql
```
### 2. 后端开发
#### 2.1 项目导入
```bash
# 克隆项目(如果尚未克隆)
git clone <项目仓库地址>
cd 酒店管理系统
# 导入Maven项目
cd codes/FWY-JDGL-SAAS-SERVER/hotel-saas-backend
```
使用IntelliJ IDEA打开后端项目目录,等待Maven依赖下载完成。
#### 2.2 配置修改
编辑开发环境配置文件:
```
jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
```
主要修改以下配置:
```yaml
spring:
datasource:
dynamic:
datasource:
master:
url: jdbc:mysql://localhost:3306/hotel_saas_dev?characterEncoding=UTF-8&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
username: hotel_saas
password: dev_password
redis:
host: localhost
port: 6379
password: '' # 开发环境可能无密码
```
#### 2.3 启动后端服务
在IDEA中找到启动类:
`jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/JeecgSystemApplication.java`
右键选择"Run JeecgSystemApplication"启动项目,或使用命令行:
```bash
cd jeecg-module-system/jeecg-system-start
mvn spring-boot:run -Dspring-boot.run.profiles=dev
```
服务默认启动在 `http://localhost:8080/jeecg-boot`
#### 2.4 接口调试
可以使用Swagger UI进行接口测试:
`http://localhost:8080/jeecg-boot/doc.html`
默认管理员账号:
- 用户名: admin
- 密码: 123456
### 3. 前端开发
#### 3.1 管理端前端开发
```bash
# 进入管理端前端目录
cd codes/FWY-JDGL-SAAS-MANAGE
# 安装依赖
npm install
# 创建开发环境配置文件
修改 `vue.config.js` 中的服务器配置。
启动开发服务器:
```bash
npm run serve
```
前端应用会在 `http://localhost:3000` 运行,热重载已启用。
#### 3.2 H5
H5和小程序项目基于uni-app开发,建议使用HBuilderX编辑器:
1. 下载安装 [HBuilderX](https://www.dcloud.io/hbuilderx.html)
2. 在HBuilderX中打开项目:
- H5项目: `codes/FWY-JDGL-SAAS-H5`
3. 修改接口配置:
编辑 `manifest.js` `utils/request.js` 文件,将接口地址改为本地开发地址。
4. 运行项目:
- H5: 点击"运行 > 运行到浏览器 > Chrome"
### 4. 开发规范和工作流
#### 4.1 分支管理
项目使用Git Flow工作流管理代码:
- `master`: 生产环境分支,稳定版本
- `develop`: 开发分支,最新开发代码
- `feature/*`: 功能分支,用于开发新功能
- `hotfix/*`: 热修复分支,用于紧急bug修复
开发新功能时,应该从develop分支创建feature分支:
```bash
git checkout develop
git pull
git checkout -b feature/your-feature-name
```
### 5. 常见开发问题
#### 5.1 后端跨域配置
开发环境已配置跨域支持,如遇跨域问题,请检查后端配置文件中的跨域设置:
```java
// JeecgBootApplication.java 或相关配置类中
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.setAllowCredentials(true);
config.addAllowedMethod("*");
config.addAllowedHeader("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
```
#### 5.2 日志调试
后端日志默认输出到控制台和日志文件:
```
jeecg-module-system/jeecg-system-start/logs/
```
可以通过修改 `logback-spring.xml` 配置调整日志级别:
```xml