1 预约点餐系统的设计与实现
1.1 设计目标
食堂预约点餐系统以简便、易用为设计目标,以所见即所得为设计指导,实现用户通过移动设备随时随地点餐,食堂管理人员对用餐人数、用餐量较准确的的统计,提高用户的体验感及食堂的管理水平。
1.2 设计思想
食堂点餐管理系统主要分为前台点餐页面、后台管理两部分,点餐页面有访问权限设置,管理员要事先导入学校教职工信息,并建立个人账户,账户内存储着用户的个人信息和订单记录信息。用户首次点餐时,需输入个人相关信息和微信号进行绑定,系统自动验证登录信息的有效性(可以保存登录信息,下次直接登录,提升用户体验),然后进行预约点餐,提交点餐请求,若被系统验证成功则存储点餐纪录;后台管理权限分为:超级管理员、食堂管理员两个角色,超级管理员拥有所有的权限,食堂管理员只能操作规定范围内的功能模块,如:在菜品库添加菜品,日常配餐,订单管理,就餐日期、人数、菜品数量的统计等。
食堂预约点餐系统前台以图片列表的形式,直观地显示就餐日期,不同时间段食堂提供的菜品。用户登录后可以点选自己需要的食物,输入菜品數量,提交自己的预约点餐信息即可,界面非常简单、便捷、易操作,在点餐期间可以取消或是修改自己的点餐信息(菜品数量)。管理后台以树形结构陈列管理功能,操作直观、简单、便捷。
1.3 软硬件配置
本系统需要一台普通的服务器,安装 2008操作系统,.6和PHP7。系统基于B/S架构,采用+PHP()[2]+MS 配置。IIS7内置模块,可以在运行模式的脚本引擎。PHP运行在模式下,是一种最高效和最安全的运行模式,支持大并发量和高负载。PHP7内置模块能够缓存PHP的中间代码,节省编译时间,优化执行。.6[2]属于小型数据库产品,支持绝大多数重要特性,性能完全满足需求。在PHP中使用PDO接口通过驱动连接MYSQL数据库。软件关系如图1.
1.4 开发框架
本系统开发框架有前端和后端组成。前端开发框架主要面向用户,提供良好的人机界面,方便用户使用系统。后端开发框架主要面向程序员,提供良好的编程模型和框架,满足软件工程的模块化、可扩展、可重用、可配置和轻量级等要求,方便编程。本系统基于MVC模型开发,采用国人开发的禅道框架[3],前端框架采用模板[4]。
1.5 系统流程图
系统流程图如图2所示。
1.6 系统组成及功能划分
预约点餐系统主要包括前台页面和后台页面两部分。前台页面实现用餐地点、用餐时间的选择、菜品浏览、菜品选择、用户登录、用户预约信息提交,个人信息维护和用户历史订单查询等功能。后台页面实现用户管理、菜品库管理、订单管理、配餐管理和日志管理等功能。系统主要功能模块如图3所示。
1.7 表结构设计[5]
系统总共有5张表,菜品库表用于存储食堂所有菜品信息,后台的配餐模块是基于菜品库中的菜品进行选择配餐的;配餐表用于保存每日每个就餐时间段食堂提供的菜品信息,前台的界面的浏览的菜品信息基于此表;预约表用于存储用户某日某个时间段内预约的菜品信息,食堂管理后台的就餐时间段人数统计、菜品统计,都是基于预约表的信息;用户信息表用于存储了用户个人信息;日志表主要用于存储用户的一些操作信息。各个表的字段设计如下:
菜品库表(菜品id,菜品名,所属类型,图片,价格,删除标志);
配餐表(菜品id,日期,就餐时间段,菜品名,删除标志);
预约表(预约id,用户id,下单时间,日期,就餐时间段,菜品名,配餐id,数量,删除标志);
用户信息表(用户类型,用户姓名,部门,微信id,访问次数,最后ip,最后登录时间,角色);
日志表(id,对象类型高校点餐,对象id,操作者,动作,时间,IP,操作内容)
2 系统功能实现的部分截图
2.1前台
2.2 后台
2.4 部分关键代码
配餐管理部分代码
($menus as $menu) {
if (isset($map[$menu->food])) {
die('dup food');
}
$map[$menu->food] = $menu;
}
//当前选中菜品
$ = array();
($_POST as $id => $v) {
$a = ('_', $id);
if ($a[0] 'food') ;
$ = $a[1];
if (!isset($foods[$])) {
throw new ($this->lang->error->);
}
$[$] = 1;
}
//查找新分配的菜品
($ as $ => $v) {
//未找到,新分配
if (!isset($map[$])) {
$data = new ();
$data->date = $date;
$data->type = $type;
$data->food = $;
$this->dao->()->data($data)
->exec();
$ = $this->dao->();
$this->log->('menu', $, '', $data);
}
}
//查找删除的菜品
($map as $ => $menu) {
//已分配的菜品未选中,删除
if (!isset($[$])) {
$food = $foods[$];
//关联
$row =
$this->dao->('count(*) as num')->from()
->where('')->eq(0)
->('menu')->eq($menu->id)
->fetch();
}
3 结束语
通过高校食堂移动预约点餐系统的开发,满足了高校用户通过移动设备实现就餐地点、就餐时间、菜品数量的选择,就餐人数、就餐食物数量的统计,对于节省人力、提高效率都有显著效果,并且有利于数据的流动和管理。
参考文献:
[1] 闫小坤,周涛.微信公众平台应用开发从入门到精通[M]. 北京:清华大学出版社,2015.
[2] Brett . PHP&MySQL;实战手册[M]. 2版. 北京:中国电力出版社,2014.
[3] 周洪艳,林超,丁颂.基于的点餐系统APP设计[J].长春师范大学学报,2016(12).
[4] 李淑娟,周伟,强宓詠.高校智慧点餐系統的探索与实践[J].华中师范大学学报:自然科学版高校点餐,2017(S1).
[5] 王欣. 智能电子点菜系统的研究[D]. 北京:北京交通大学,2017.
下一篇:微信商户平台有关内容
免责声明:部分文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快为您处理。