中文文档 | English Document
本项目是基于.Net8构建的TS酒店管理系统后端API项目,主要用于2.0升级所用,欢迎Start&Fork
1、一切开发请遵照MIT开源协议进行。
2、有bug欢迎提出issue!
3、本项目当前已支持多数据库以及一键建库建表,具体代码可以参考Startup.cs中的InitializeDatabase方法。
4、本项目已基于SQL Sugar框架支持多数据库(主流),以下是目前已通过测试的数据库表格:
数据库 | 版本 | 支持建库建表(Y/N) | 通过(Y/N) |
---|---|---|---|
MariaDB | 10.11.10-MariaDB | Y | Y |
PostgreSQL | 130020 | Y | Y |
MySQL | 5.7+ | Y | Y |
SQL Server | 2022 | Y | Y |
Oracle | Unknown | N | 请参照SQLSugar文档(果糖网) |
SQLite | Unknown | N | N |
主要用于现有的C/S项目酒店管理系统升级2.0后实现前后端分离的WebAPI接口,本项目不包含任何UI界面。
操作系统:Windows 11(x64)
开发工具:Microsoft Visual Studio 2022(系统最新版本)
数据库:MariaDB/PostgreSQL/MySQL/SQL Server
数据库管理工具:DbGate
开发语言:C#语言、LINQ语言
开发平台:.Net
开发框架:.Net 8
开发技术:.NET 8 WebAPI
EOM.TSHotelManagement.Web
├─ .git
├─ .gitignore
├─ EOM.TSHotelManagement.Application
│ ├─ EOM.TSHotelManagement.Application.csproj
│ ├─ BaseDto
│ ├─ Business
│ ├─ Employee
│ ├─ Sys
│ ├─ SystemManagement
│ ├─ Util
├─ EOM.TSHotelManagement.Common.Contract
│ ├─ EOM.TSHotelManagement.Common.Contract.csproj
│ ├─ Business
│ ├─ Employee
│ ├─ Sys
│ ├─ SystemManagement
│ ├─ Util
├─ EOM.TSHotelManagement.Common.Core
│ ├─ EOM.TSHotelManagement.Core.csproj
│ ├─ BaseEntity.cs
│ ├─ Business
│ ├─ Employee
│ ├─ Sys
│ ├─ SystemManagement
│ ├─ Util
├─ EOM.TSHotelManagement.EntityFramework
│ ├─ EOM.TSHotelManagement.EntityFramework.csproj
│ ├─ Repository
│ │ └─ GenericRepository.cs
├─ EOM.TSHotelManagement.Migration
│ ├─ EOM.TSHotelManagement.Migration.csproj
│ ├─ EntityBuilder.cs
├─ EOM.TSHotelManagement.Web.sln
├─ EOM.TSHotelManagement.Share
│ ├─ EOM.TSHotelManagement.Share.csproj
│ ├─ Interface
├─ EOM.TSHotelManagement.WebApi
│ ├─ Controllers
│ │ ├─ Business
│ │ ├─ Sys
│ │ ├─ Employee
│ │ └─ SystemManagement
│ │ └─ Util
│ ├─ EOM.TSHotelManagement.WebApi.csproj
│ ├─ EOM.TSHotelManagement.WebApi.csproj.user
│ ├─ EOM.TSHotelManagement.WebApi.xml
│ ├─ Program.cs
│ ├─ Startup.cs
│ ├─ appsettings.Development.json
│ ├─ appsettings.json
├─ LICENSE
├─ README.en.md
└─ README.md
Jackson(即本账号,项目组长,核心代码编写和后期项目整合)
Benjamin(开发,项目代码编写)
Bin(数据库,提供数据库管理支持)
易开元(后期维护和开发)
下载并安装Microsoft Visual Studio Professional 2022及以上版本,并通过下载Zip包解压,打开.sln后缀格式文件运行。
docker run -d \
--name tshotel-api \
-v /app/config:/app/config \
-v /app/keys:/app/keys \
-e DefaultDatabase=MariaDB \
-e ASPNETCORE_ENVIRONMENT=docker \
-e DOCKER_ENV=true \
-e "MariaDBConnectStr=Server=host;User=tshoteldb;Password=password;Database=tshoteldb" \
-e Jwt__Issuer=Easy-Open-Meta \
-e Jwt__Audience=EOM.TSHotelManagement.WebApi \
-e Jwt__Key=Easy-Open-Meta-EfH@u4poHh544a53Sq77T \
-e Jwt__ExpiryMinutes=20 \
-e Lsky__BaseAddress=https://lsky.demo.top/api/v1 \
-e Lsky__Email=demo@demo.top \
-e Lsky__Password=demo \
-e Lsky__UploadApi=/upload \
-e Lsky__GetTokenApi=/tokens \
-e Mail__Host=smtp.demo.top \
-e Mail__UserName=demo@demo.top \
-e Mail__Password=demo \
-e Mail__Port=465 \
-e Mail__EnableSsl=true \
-e Mail__DisplayName=TSHotel-Administrator \
-p 63001:8080 \
yjj6731/tshotel-management-system-api:latest
参数名称 | 参数说明 | 必填(Y/N) | 默认值 | 可选值 |
---|---|---|---|---|
name | 容器名称 | Y | N/A | N/A |
DefaultDatabase | 默认数据库 | Y | N/A | MariaDB/MySql/SqlServer/PgSql |
ASPNETCORE_ENVIRONMENT | 系统环境(决定Dataprotection Key的生成位置) | Y | docker | docker |
DOCKER_ENV | 是否为docker环境 | Y | true | true |
{默认数据库(e.g:MariaDB/MySql/SqlServer/PgSql)}ConnectStr | 对应数据库链接字符串 | Y | N/A | N/A |
Jwt__Issuer | 签发者标识 | Y | N/A | N/A |
Jwt__Audience | 目标接收方标识 | Y | N/A | N/A |
Jwt__Key | JWT Key | Y | N/A | N/A |
Jwt__ExpiryMinutes | token有效时间/分钟 | Y | 20 | N/A |
Lsky__BaseAddress | 兰空图床基础地址 | Y | N/A | N/A |
Lsky__Email | 兰空图床账户邮箱 | Y | N/A | N/A |
Lsky__Password | 兰空图床账户密码 | Y | N/A | N/A |
Lsky__UploadApi | 兰空图床上传图片接口 | Y | N/A | N/A |
Lsky__GetTokenApi | 兰空图床获取tokens接口 | Y | N/A | N/A |
Mail__Host | 邮箱smtp协议地址 | Y | N/A | N/A |
Mail__UserName | 邮箱smtp协议地址 | Y | N/A | N/A |
Mail__Port | 邮箱smtp端口 | Y | 465 | N/A |
Mail__Password | 邮箱密码 | Y | N/A | N/A |
Mail__EnableSsl | 是否启用SSL | Y | true | true/false |
Mail__DisplayName | 发送邮件人显示名称 | Y | N/A | N/A |
强烈推荐,以下第一种方式进行数据库部署
1.自动建库建表 在appsettings.json填写对应的DefaultDatabase参数和对应的数据库链接字符串,然后保存运行项目即可一键自动建表建库(前提本地安装了对应的数据库和开启服务)
2.手动建库建表(注意:文件夹内的数据库脚本可能非最新版本,因此推荐以上第一种方式!!!) 通过可视化管理工具打开/数据库脚本/xxx版本,依次执行tshotel-backstage-dbscript-table.sql文件进行数据库与数据表建立。 随后打开tshotel-backstage-dbscript-data.sql文件进行数据导入。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。