学生:
- 查阅菜单
- 点某个餐品可以查看其评论
- 点某个餐品对它进行评论
- 点单(刚下的单状态属性的值是"NEW")
- 查询自己的订单
普通员工:
- 处理学生用户发来的订单,其中包括
- 接受订单,订单状态自动从"NEW"变成"READY"
- 若餐品已烹饪完成,修改订单状态为"FINISH",并“通知”学生前来取餐
- 查阅菜单
- 查看菜品评论
管理员:
- 基本查询
- 食堂查询
- 查阅菜单(根据选择的楼层查看各窗口的餐品信息)
- 查看评论
- 食堂操作
- 窗口修改(窗口名称)
- 餐品修改(根据选择的楼层和窗口,对餐品名和餐品价格修改)
- 订单操作
- 订单查询(查询已完成的订单)
- 订单统计(统计每日营业额等,再议)
管理员(管理员id,管理员姓名,食堂id,管理员密码)
学生(学生id,学生名,学生密码)
食堂(食堂id,食堂名,食堂订单开放状态)
楼层(楼层id,楼层(子食堂)名,食堂id)
窗口(窗口id,窗口名,楼层id)
餐品(餐品id,餐品名,餐品价格,窗口id)
订单(订单id,学生id,下单时间,订单状态)
点菜单(订单id,餐品id,餐品数量) 外键:订单id,餐品id
评论(评论id,餐品id,学生id,评论内容,评论时间)
普通员工(员工id,员工密码,员工姓名,员工性别)
-
有关订单状态的说明: 订单状态分为new,ready,finish,分别代表未处理新来的订单,正在烹饪的订单,已完成的订单。 用户刚下单时,订单处于未处理订单,管理员可以“接受”未处理订单,使其状态变成“正在处理”,当烹饪完毕,状态变更为“烹饪完毕”,通知学生取餐 管理员订单查询和订单统计时,查询的是已经完成的订单,和学生新下的以及正在烹饪中的订单区分。
-
订单表 取名为 order_stu 而非order 原因:order是mysql的保留字,表名和列名等不能是order,不修改会报错,报错内容大致如下: SQL Error: 1064, SQLState: 42000 SQLGrammarException: could not extract ResultSet
-
“通知”学生取餐 Ajax 每隔几秒就调用ajax,向action传订单id,acton处理返回该订单的状态,如果该订单状态为FINISH,则弹窗(只弹一次)
-
Quartz触发器 在规定时间内(每天的10:00-13:00,16:00-19:00),学生才能订餐,其余时间关闭点单系统