项目作者: why777s

项目描述 :
基于SSH的食堂管理兼自助点单系统...
高级语言: Java
项目地址: git://github.com/why777s/canteen.git
创建时间: 2017-05-18T11:41:38Z
项目社区:https://github.com/why777s/canteen

开源协议:

下载


食堂管理兼学生自助点单系统

(一名JavaEE初学者写的小项目 —— by why777s)

一. 功能设计

学生:

  • 查阅菜单
  • 点某个餐品可以查看其评论
  • 点某个餐品对它进行评论
  • 点单(刚下的单状态属性的值是”NEW”)
  • 查询自己的订单

普通员工:

  • 处理学生用户发来的订单,其中包括
  • 接受订单,订单状态自动从”NEW”变成”READY”
  • 若餐品已烹饪完成,修改订单状态为”FINISH”,并“通知”学生前来取餐
  • 查阅菜单
  • 查看菜品评论

管理员:

  1. 基本查询
    • 食堂查询
    • 查阅菜单(根据选择的楼层查看各窗口的餐品信息)
    • 查看评论
  2. 食堂操作

    • 窗口修改(窗口名称)
    • 餐品修改(根据选择的楼层和窗口,对餐品名和餐品价格修改)
  3. 订单操作

    • 订单查询(查询已完成的订单)
    • 订单统计(统计每日营业额等,再议)

二. 数据库设计

管理员(管理员id,管理员姓名,食堂id,管理员密码)
学生(学生id,学生名,学生密码)
食堂(食堂id,食堂名,食堂订单开放状态)
楼层(楼层id,楼层(子食堂)名,食堂id)
窗口(窗口id,窗口名,楼层id)
餐品(餐品id,餐品名,餐品价格,窗口id)
订单(订单id,学生id,下单时间,订单状态)
点菜单(订单id,餐品id,餐品数量) 外键:订单id,餐品id
评论(评论id,餐品id,学生id,评论内容,评论时间)
普通员工(员工id,员工密码,员工姓名,员工性别)

三. 说明事项

  1. 有关订单状态的说明:
    订单状态分为new,ready,finish,分别代表未处理新来的订单,正在烹饪的订单,已完成的订单。
    用户刚下单时,订单处于未处理订单,管理员可以“接受”未处理订单,使其状态变成“正在处理”,当烹饪完毕,状态变更为“烹饪完毕”,通知学生取餐
    管理员订单查询和订单统计时,查询的是已经完成的订单,和学生新下的以及正在烹饪中的订单区分。

  2. 订单表 取名为 order_stu 而非order
    原因:order是mysql的保留字,表名和列名等不能是order,不修改会报错,报错内容大致如下:
    SQL Error: 1064, SQLState: 42000
    SQLGrammarException: could not extract ResultSet

  1. “通知”学生取餐
    Ajax
    每隔几秒就调用ajax,向action传订单id,acton处理返回该订单的状态,如果该订单状态为FINISH,则弹窗(只弹一次)
  1. Quartz触发器
    在规定时间内(每天的10:00-13:00,16:00-19:00),学生才能订餐,其余时间关闭点单系统