ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

项目一:餐厅自助点餐

2021-11-22 10:03:06  阅读:194  来源: 互联网

标签:name 查看 餐厅 订单 管理员 自助 菜品 点餐 普通用户


  • 项目背景:餐厅自主点餐项目的初心就是为了让顾客可以方便有序的使用手机进行在线点菜,商家可以按照下单时间有序地处理订单。
  • 点餐系统总体分为两部分:用户自主点餐(index.html) + 老板进行管理(admin.html)

用户点餐界面的基本功能: 

  1. 新用户注册
  2. 老用户登录
  3. 主界面中能看到当前店家的菜品列表
  4. 选择要点的菜品,进行下单
  5. 用户可以看到自己的历史订单,查看订单详情和状态等 

老板管理界面的基本功能: 

  1. 管理员登录
  2. 针对菜品列表进行管理(新增菜品,删除菜品)
  3. 针对所有订单进行管理(可以看到所有用户的订单,查看订单详情,修改订单的完成状态) 
  • 需求分析 
  1. 用户管理:分为消费者用户(顾客)和管理员用户(商家)两种角色,分别实现注册登录,注销。
  2. 菜品管理:系统中能够针对菜品进行新增,查看,删除。不同的用户角色对应不同的操作,针对普通用户,只能查看菜品;针对管理员用户,可以新增,查看,删除。
  3. 订单管理:支持新增订单,查看所有订单,查看我的订单,修改订单的完成状态。针对普通用户,可以新增订单,查看我的订单;针对管理员,可以查看所有的订单,修改订单状态。 
  •  设计数据库(四张表)

  • 实现数据库操作代码 (写一些JDBC操作数据库的代码,针对数据库操作进行简单的封装) 
  1. 先封装一个DBUtil类,管理连接(单例类)
  2. 创建实体类:User,Dish,Order。属性和数据库表结构一致。
  3. 创建对应的DAO类,封装数据访问接口:UserDao,DishDao,OrderDao 
  • 前后端接口设计 (11个API)
  1. 用户管理-注册用户(普通用户才可以注册) 

请求:POST/register

{

     name:xxx

     password:xxxxxx

 响应:HTTP/1.1  200  OK

{

     ok:1    //1表示成功,0表示失败

     reason:" "     //失败时候的原因

}

    2.用户管理-登录

请求:POST/login

{

     name:xxx

     password:xxxxxx

 响应:HTTP/1.1  200  OK

{

     ok:1     

     reason:" "

     name: "   "

     isAdmin:  0  //0表示普通用户,1表示管理员

}

    3.用户管理-检查登陆状态(从服务器端获取)

请求:GET/login

 响应:

{

     ok:1    //1表示登录,0表示未登录

     reason:" "

     name: "   "

     isAdmin:  0  //0表示普通用户,1表示管理员

}

    4.用户管理-注销

 请求:GET/logout

 响应:

{

     ok:1     

     reason:" "

}

    5.菜品管理-新增菜品(管理员才可以,普通用户不可以)

请求:POST/dish

{

     name:xxx

     price:xxx

 响应:

{

     ok:1     

     reason:" "

}

  6.菜品管理-删除菜品(管理员才可以,普通用户不可以)

请求:DELETE/dish?dishId=xxx

 响应:

{

     ok:1     

     reason:" "

}

  7.菜品管理-查看所有菜品

 请求:GET/dish

 响应:

{

     {

           dishId:1,

           name:"宫保鸡丁",

           price:

     }

    {

           dishId:2,

           name:"红烧肉",

           price:

     }

}

  8.订单管理-新增订单(管理员不可以,普通用户可以)

请求:POST/order

[1,2,3,4]

 响应:

{

     ok:1     

     reason:" "

}

  9.订单管理-查看订单(普通用户只能查看自己的订单,管理员能查看所有的订单)

请求:GET/order

 响应:

{

     {

           orderId:1,

           userId:1,

           time:

           isDone:1

     }

    {

           orderId:2,

           userId:2,

           time:

           isDone:0

     }

}

  10.订单管理-查看指定订单详情

请求:GET/order?orderId=1

 响应:

{

           orderId:1,

           userId:1,

           time:

           isDone:1,

           dishes:[

     {

           dishId:1,

           name:"宫保鸡丁",

           price:

     }

    {

           dishId:2,

           name:"红烧肉",

           price:

     }

]

}

11.订单管理-修改订单状态(管理员才可以,普通用户不可以)

请求:PUT/order?orderId=1&isDone=1

 响应:

{

     ok:1     

     reason:" "

}

  • 源码链接  

       点餐系统源码 

标签:name,查看,餐厅,订单,管理员,自助,菜品,点餐,普通用户
来源: https://blog.csdn.net/m0_60897224/article/details/121460853

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有