前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >酒店管理系统可视化开发实战

酒店管理系统可视化开发实战

原创
作者头像
工具人
发布2023-04-20 16:52:39
5380
发布2023-04-20 16:52:39
举报

系统截图预览

对应系统的登录入口: 酒店管理系统

简介

一个简单的酒店管理系统,其中包括会员管理、房间类型管理、房间管理、预约订单管理、订单管理等功能

后端使用 springboot + mybatis-plus + mysql 自动生成 + 手写, 前端使用 light2f 在线开发工具生成的 react18 + antd5 单页项目

下面是接口文档,然后通过在线可视化开发工具 Light2f 结合这些接口文档,耗时一个小时开发的完整系统,首页有完整全程开发的视频

小伙伴也可以使用下面的接口来手动开发练手,也可以来尝试使用可视化方式开来发,看一看是否能够更快速便捷

当然,从在实践中感受到还是有许多地方还有很大的便捷改进空间,如多个远程下拉组件应该做一次就好等

接口调用说明

为了方便,字段名就随意定义,接口都使用 post 请求方式, 以及任意域都可以访问(任何人都可以直接访问,可以用于前端项目练习接口)

登录接口不需要校验 token,调用成功会返回正确的 token,其它接口会校验请求的 header 中是否有正确的 token 信息

接口 base 路径:

代码语言:text
复制
https://test.light2f.com/test/

接口返回的数据结构:

代码语言:javascript
复制
{
    code: 0, //非零表示有问题
    data: {}, //接口数据
    message: "", //消息
}

注意 每个分页查询都有固定分页参数,后续不再在每个查询条件中一一枚举

代码语言:typescript
复制
pageNo: number, //页数
pageSize: number //每页大小

注意 每个分页查询返回的数据结构中的 data 也是相同如下:

代码语言:typescript
复制
{
    current: number, //当前页数
    size: number, //每页大小
    total: number,//查询的总数
    records: any[], //查询出来的数据,后续分页查询出的数据只解释此单个对象
}

接口说明

下面是各个接口的路径、入参、返回数据的详情

登录
代码语言:javascript
复制
//路径
user/login 
//request params:  
{
    userAccount: 'admin', //帐号,固定 admin
    userPassword: '123456' //密码,固定 123456
} 
//数据结构中的 data
{
    token: '...', //令牌
    user: {} //个人信息
}
会员管理
  1. 添加或更新
代码语言:typescript
复制
//路径
HotelVip/insertOrUpdate 
//request params:  
{
    vipId?: number, //主键,有为更新
    vipName: string, //名称 
    vipPhone: string //手机,有唯一验证
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 删除
代码语言:typescript
复制
//路径
HotelVip/delete 
//request params:  
{
    vipId: number, //主键,可以按主键删除,也可以按其它条件
    vipName?: string, //名称 
    vipPhone?: string //手机
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 查询
代码语言:typescript
复制
//路径
HotelVip/search 
//request params:  
{
    vipName?: string, //名称 
    vipPhone?: string //手机 
} 
//records 对象结构
{
    vipId: number, //主键,可以按主键删除,也可以按其它条件
    vipName: string, //名称 
    vipPhone: string //手机
    createdAt: number //创建日期时间戳
} 
房间类型管理
  1. 添加或更新
代码语言:typescript
复制
//路径
HotelRoomType/insertOrUpdate 
//request params:  
{
    typeId?: number, //主键,有为更新
    typeName: string, //名称 
    typePrice: number, //单价
    typeArea: number, //面积
    typeUserCount: number //容纳人数
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 删除
代码语言:typescript
复制
//路径
HotelRoomType/delete 
//request params:  
{
    typeId: number, //主键,可以按主键删除,也可以按其它条件
    typeName: string, //名称 
    typePrice: number, //单价
    typeArea: number, //面积
    typeUserCount: number //容纳人数
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 查询
代码语言:typescript
复制
//路径
HotelRoomType/search 
//request params:  
{
    typeName?: string, //名称  
} 
//records 对象结构
{
    typeId: number, //主键
    typeName: string, //名称 
    typePrice: number, //单价
    typeArea: number, //面积
    typeUserCount: number, //容纳人数
    createdAt: number //创建日期时间戳
} 
房间管理
  1. 添加或更新
代码语言:typescript
复制
//路径
HotelRoom/insertOrUpdate 
//request params:  
{
    roomId?: number, //主键,有为更新
    roomNo: string, //房号,有唯一验证
    typeId: number, //房间类型主键 
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 删除
代码语言:typescript
复制
//路径
HotelRoom/delete 
//request params:  
{
    roomId: number, //主键,可以按主键删除,也可以按其它条件
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 查询
代码语言:typescript
复制
//路径
HotelRoom/search 
//request params:  
{
    roomNo?: string, //房号  
    typeId?: number //房房间类型表主鍵
} 
//records 对象结构
{
    roomId: number, //主键
    roomNo: string, //房号
    roomStatus: string, //房间状态,empty:空闲, ing: 正在使用(已入住)
    createdAt: number, //创建日期时间戳
    //房间类型表
    typeId: number, //主键
    typeName: string, //名称 
    typePrice: number, //单价
    typeArea: number, //面积
    typeUserCount: number //容纳人数 
} 
  1. 选择房间类型的选项

调用 房间类型管理 - 查询,参数:

代码语言:typescript
复制
{
    pageNo:1
    pageSize: 9999
}
预约订单管理
  1. 添加或更新
代码语言:typescript
复制
//路径
HotelPrebook/insertOrUpdate 
//request params:  
{
    prebookId?: number, //主键,有为更新
    vipId: number, //会员主键
    typeId: number, //房间类型主键 
    prebookStartedAt: date, //开始入住日期
    prebookEndedAt: date //结束日期
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 删除
代码语言:typescript
复制
//路径
HotelPrebook/delete 
//request params:  
{
    prebookId: number, //主键,可以按主键删除,也可以按其它条件
    vipId: number, //会员主键
    typeId: number, //房间类型主键 
    prebookStartedAt: date, //开始入住日期
    prebookEndedAt: date //结束日期
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 查询
代码语言:typescript
复制
//路径
HotelPrebook/search 
//request params:  
{
    vipName?: string, //会员名
    vipPhone?: string, //会员手机号  
} 
//records 对象结构
{
    prebookId: number, //主键
    prebookStartedAt: date, //开始入住日期
    prebookEndedAt: date, //结束日期
    prebookDayCount: number, //入住天数
    prebookPrice: number //总价
    prebookStatus: string //预定状态,book: 已预定, finish: 已转订单, cancel: 已取消
    createdAt: number, //创建日期时间戳
    //会员表
    vipId: number,
    vipName: string, //会员名
    vipPhone: string, //会员手机号  
    //房间类型表
    typeId: number, //主键
    typeName: string, //名称 
    typePrice: number, //单价
    typeArea: number, //面积
    typeUserCount: number //容纳人数 
} 
  1. 取消预约//路径 HotelPrebook/cancel //request params: { prebookId: number //主键 } //数据结构中的 data data: boolean //成功或失败
  2. 转为订单//路径 HotelPrebook/toOrder //request params: { prebookId: number, //主键 prebookStartedAt: date, //开始入住日期 prebookEndedAt: date, //结束日期 prebookDayCount: number, //入住天数 prebookPrice: number //总价 prebookStatus: string //预定状态 createdAt: number, //创建日期时间戳 //会员表 vipId: number, vipName: string, //会员名 vipPhone: string, //会员手机号 //房间类型表 typeId: number, //主键 typeName: string, //名称 typePrice: number, //单价 typeArea: number, //面积 typeUserCount: number //容纳人数 //房间信息 roomId: number } //数据结构中的 data data: boolean //成功或失败
  3. 转为订单选择房间的列表

调用 房间管理 - 查询,参数:

代码语言:typescript
复制
{
    roomNo?: string, //房间号
    typeId: number, //房间类型主键
    roomStatus: 'empty', //固定值,空房
}
  1. 选择会员的选项

调用 会员管理 - 查询,参数:

代码语言:typescript
复制
{
    pageNo:1
    pageSize: 9999
}
  1. 选择房间类型的选项

调用 房间类型管理 - 查询,参数:

代码语言:typescript
复制
{
    pageNo:1
    pageSize: 9999
}
订单管理
  1. 添加或更新
代码语言:typescript
复制
//路径
HotelOrder/insertOrUpdate 
//request params:  
{
    orderId?: number, //主键,有为更新
    vipId: number, //会员主键
    typeId: number, //房间类型主键 
    roomId: number, //房间主键
    orderStartedAt: date, //开始日期
    orderEndedAt: date //结束日期
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 删除
代码语言:typescript
复制
//路径
HotelOrder/delete 
//request params:  
{
    orderId: number, //主键,可以按主键删除,也可以按其它条件
    vipId: number, //会员主键
    typeId: number, //房间类型主键 
    roomId: number, //房间主键
    orderStartedAt: date, //开始日期
    orderEndedAt: date //结束日期
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 查询
代码语言:typescript
复制
//路径
HotelOrder/search 
//request params:  
{
    vipName?: string, //会员名
    vipPhone?: string, //会员手机号  
} 
//records 对象结构
{
    orderId: number, //主键
    orderStartedAt: date, //开始日期
    orderEndedAt: date, //结束日期
    orderDayCount: number, //入住天数
    orderPrice: number //总价
    orderStatus: string //订单状态, ing: 进行中, finish: 已完成
    createdAt: number, //创建日期时间戳
    //会员表
    vipId: number,
    vipName: string, //会员名
    vipPhone: string, //会员手机号  
    //房间类型表
    typeId: number, //主键
    typeName: string, //名称 
    typePrice: number, //单价
    typeArea: number, //面积
    typeUserCount: number //容纳人数 
    //房间表
    roomId: number //主键
    roomNo: string //房间号
} 
  1. 退房
代码语言:typescript
复制
//路径
HotelOrder/checkOut 
//request params:  
{
    orderId: string, //主键 
} 
//数据结构中的 data
data: boolean //成功或失败
  1. 选择会员的选项

调用 会员管理 - 查询,参数:

代码语言:typescript
复制
{
    pageNo:1
    pageSize: 9999
}
  1. 选择房间类型的选项

调用 房间类型管理 - 查询,参数:

代码语言:typescript
复制
{
    pageNo:1
    pageSize: 9999
}
  1. 选择房间的选项

调用 房间管理 - 查询,参数:

代码语言:typescript
复制
{
    typeId: number, //选择的房间类型主键
    orderId?: number, //订单主键,有的话,编辑时候会将当前订单使用的房间也查出来
    pageNo:1
    pageSize: 9999
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统截图预览
  • 简介
  • 接口调用说明
  • 接口说明
    • 登录
      • 会员管理
        • 房间类型管理
          • 房间管理
            • 预约订单管理
              • 订单管理
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档