APP下载

虚拟化校园食堂餐饮管理系统的设计与实现

2020-10-13张银霞郭畅

现代计算机 2020年25期
关键词:服务器端代码菜品

张银霞,郭畅

(北京联合大学师范学院,北京100011)

0 引言

智能手机在大学生群体中的使用率越来越高,他们很习惯在网络平台购物、点餐、交流。现在越来越多的学校门口在就餐时间内聚集了大量的送餐外卖,而外卖餐饮的制作环境、食材的安全性等方面都存在诸多问题。实际上,校园食堂的餐饮相对于校外的餐饮的优势还是很大的,安全卫生、绿色健康价格还亲民,但随着校园师生的逐渐增多,排队的情况日益增加,因各种原因无法来到食堂点餐的情况也有很多。结合这两大问题,反观我国手机微信市场、校园食堂订餐软件,目前还没有一款将校园食堂和外卖结合在一起的微信公众号。本系统基于校园实际需求调研,开发一款名为“虚拟化校园食堂餐饮系统”的微信公众号,利用手机微信扫码集学校食堂点餐、评价、食堂餐饮管理等多功能为一体的综合餐饮管理系统,面向不同的用户身份开放权限,虚拟校园食堂就餐功能,提供交友、论坛空间,丰富大学生的就餐交流方式,弘扬中国传统餐饮文化。

1 系统分析与设计

1.1 系统功能结构设计

本系统分为前台客户端和后台服务器端两部分,主要功能需求分为食堂订餐及配餐、虚拟化校园食堂空间和管理四大模块。本系统分为三种角色:教师和学生、食堂工作人员和管理人员。前台客户端是基于手机微信扫码在手机上使用,其中:食堂订餐、虚拟化校园食堂空间由教师和学生使用,可以进行查看学校食堂的配餐、菜品信息智能化筛选、下单订购、菜品评价、餐饮自主搭配、论坛交流及交友、查看积分和虚拟化食堂功能等;食堂配餐模块由食堂工作人员使用,可以进行菜品信息的发布。后台服务器端是ASP.NET动态网站在电脑端使用,主要是该系统的管理模块由食堂工作人员和管理员共同使用,可以实现对学生或教工的信息管理、学生菜品评价信息管理、食堂员工信息管理、公告管理、菜品信息发布和充值等内容,功能模块图如图1 所示。

图1 系统功能模块图

1.2 开发技术

在实现技术方面,本软件的客户端基于.NET 的MVC 模式开发微信公众平台的应用程序,选择“开发模式”的微信公众服务平台,开发账号的类型为测试账号,开发工具为Visual Studio 2015,用到的微信前端开发技术有HTML5、CSS3、JavaScript、jQuery Mobile、微信JS-DK、微信浏览器私有接口WeixinJSBridge 和JSAPI;本软件的服务器端管理系统为ASP.NET 动态网站,开发工具为Visual Studio2015,编程语言为C#,使用SQL Server 2008 进行数据存储和管理。

1.3 环境部署

(1)配置ASP.NET 空间:本系统采用阿里云主机服务器作为存放ASP.NET MVC 应用程序的主机空间,并申请域名。

(2)微信开发公众平台模式设计:本系统需要调用微信公众平台提供的开发接口API,所以要申请成为开发者模式。登录微信公众平台官方网站,申请成为微信公众平台开发者,获取应用ID(APPID)和应用秘钥(AppSecret)。

(3)申请接口测试号:本系统申请微信公众测试号,可以调用所有接口,不受限制。

2 获取access_token

本软件系统的功能数据基本都来源于自建库,需要调用微信公众平台的接口,实现客户端微信和服务器端动态网站数据交互。开发者在调用微信公众平台的各个接口时多需要使用access_token。在获取ac⁃cess_token 时需要开发者的appID 和appsecret,通过在后台服务器端动态网站的页面中添加完成,获取的关键代码实现如下所示:

3 系统核心功能的实现

本系统功能分支较多,此章节仅列出有代表性的系统核心功能的实现方法。

3.1 公告信息模块

本系统公告信息由管理员在后台服务器网页发布,实时推送到手机微信消息界面供教师和学生用户查看,公告信息模块的实现代码如下所示。

实现原理:访问根据微信的公众类CRMComm,通过wx.GetAccessToken 获得ACCESS_TOKEN 值,并获得用户信息users。根据model.user_name 用户名拿到oauth_openid 微信openid,并通过微信推送信息的URL,将通知标题、通知时间、通知简介进行发布,并且按照send_msg_date 里的通过后台申请的微信模板信息(每个模板信息id 不同),最后用HttpPost 将URL 的数据post 到上面的URL 地址上,最终推送到微信消息界面。并将通知的控件model 的状态status 由bll.up⁃date 进行更新。

3.2 消息的智能推送

每当用户购买完毕,会根据用户的购买情况推送相关菜品到微信消息界面,调用微信接口推送消息的实现原理同公告信息模块,只是模板信息id 不同,消息的智能推送代码的实现代码如下所示:

3.3 食堂订餐模块

教师和学生用户通过主页点击“食堂订餐”按钮进入菜品列表页面,可预览食堂菜品名称、图片、简介、添加时间、价格。代码实现时,通过StringBuilder 对象templateBuilder,使 用templateBuilder.Append 方 法 以HTML5 标记方式实现,菜品信息展示的核心代码如下所示:

点击相应的菜品可选择数量并加入购物车,当点击确认按钮将执行ShopCart.Add 自动将菜品加入购物车并跳转到购物车food_cart.aspx,菜品添加购物车实现的核心代码如下所示:

3.4 食堂配餐模块

食堂人员可通过手机微信员工入口输入管理员设置的特定账号登录,通过手机拍照、相册和iCloud 方式上传菜品图片、输入菜品名称、简介、价格发布菜品,该功能是通过在页面的源代码中通过JavaScript 脚本代码调用第三方插件完成,实现的核心代码如下所示:

食堂人员可以输入菜品详情信息并上传到数据库表中,通过DoAdd 增加操作,将菜品的名称、价格、图片以及摘要上传,食堂配餐信息上传数据库实现的关键代码如下所示:

3.5 “虚拟化校园食堂空间”模块

由于学校统一对学生进行管理的特殊性,学生就餐时间会相对比较集中,导致放学时间段食堂人流量大、排队时间长、就餐人员用餐体验差等问题,同时现在的大学生使用手机上网的频率越来越高,在网络上他们可以畅所欲言、展示自己的个性,但由于时间、空间、场地等各种限制,学生交友范围有限,但校园的人员身份相对比较安全可靠,可以提供一个交友的网络虚拟平台,让大学生们边吃边聊,就像置身于校园食堂、自主餐厅等现实环境中一样,在放松愉悦的同时,使学生们的交友范围可以跨专业、跨班级,结交更多的校园好友,也有利于学生们形成专业互补、组队比赛、考证帮扶等学习活动的开展,给他们的大学生活带来更多的乐趣。基于这样的一个目的在这款校园食堂餐饮管理系统中又开发出一个功能叫“虚拟化校园食堂空间”。

“虚拟化校园食堂空间”以大学生学习需求的种类为标准进行空间版块划分,由管理员在服务器端动态网站中进行空间组的创建和管理,以论坛的形式展示,教师和学生根据需要选择空间版块组,不同的空间组只能看到本组的内容。教师和学生留言后不是立刻显示而是需要后台管理员人工筛选审核后才会显示,以保证系统健康的交流环境。教师和学生可以通过上方的搜索框来进行关键词的搜索。

(1)“虚拟化校园食堂空间”组的创建和管理实现

该部分是在服务器端动态网页中实现,虚拟化校园食堂空间组的赋值和显示实现见下方ShowInfo 事件过程处理,增加空间组的实现关键代码见下方DoAdd事件过程处理。

实现原理:输入的组名和选择是否隐藏通过Show⁃Info 进行赋值,根据bll.GetModel 里的id 将输入的值赋值到控件model 上。并且通过DoAdd 进行增加到虚拟化校园空间列表内,进行对控件model 的bll.Add 插入操作。最后根据bll.GetModel 里的id 将输入的值赋值到控件model 上。并且通过DoEdit 进行对status 的model 空间进行修改操作,如果rblIsLock.Checked 是开着的,那么将status 改为0,反之改为1,执行bll.update将model 进行修改。

(2)“虚拟化校园食堂空间”客户端页面实现

“虚拟化校园食堂空间”客户端页面在手机上运行,可以实现“预定座位”、预定和会员点击“预定餐位”三种方式进入,通过HTML5 语言显示了虚拟化校园空间的分组名称和布局,实现的关键代码如下所示:

(3)“虚拟化校园食堂空间”组的论坛版块

虚拟化校园空间页面可以分别从首页点击“预定座位”按钮、预定和会员点击“预定餐位”三种方式进入。用户可以在对应版块发布消息、留言、讨论等内容,单击提交按钮后,可将姓名、发表内容和发布时间等信息上传到后台数据库的留言表中,等待管理员审核后显示,留言内容上传数据库实现的关键代码如下所示:

用户在搜索栏中输入关键词后可以实现搜索功能,前台页面的关键词搜索实现的关键代码下所示:

其中,SiteSearch 函数代码如下所示:

图2 公告信息结果

图3 消息智能推送

图4 食堂订餐

图5“虚拟化校园食堂”

4 程序运行界面效果

该系统的部分运行结果依据上述核心功能模块的顺序进行展示,公告信息实现效果如图2 所示,消息的智能推送如图3 所示,食堂订餐模块如图4 所示,“虚拟化校园食堂空间”模块如图5 所示。

5 结语

本软件系统实现时重点突破解决了如下问题:

(1)系统应用的便捷性,使用微信扫码即可访问本系统,不需额外下载App,符合人们使用手机的习惯。

(2)菜品推荐的多样化标准的设定和信息的智能化处理,从系统平台的数据中提取用餐者以菜品的种类为标准的个人偏好和用餐规律,进行菜品推荐,并为食堂配餐倾向性,做好服务工作提供决策依据。

(3)平台的虚拟化校园餐厅功能,提供诸如交流、评价、论坛、交友等功能,模拟实际校园餐厅的空间和作用,给学生提供更多的相互认识、交流的机会,弘扬中国传统用餐文化,丰富学生的大学生活,也为其各项学习活动提供互帮互助的机会,也有利于改善学生的就餐体验。

本软件系统还有以下几点先进性和独特性:

(1)现在市场上此类功能定位的软件系统还比较少,本系统是规范、安全、净化校园用餐环境,辅助学校进行餐饮管理的好助手。

(2)本系统自主开发的服务器端后台,搭载动态网站和数据库服务器,具有强大的智能信息处理能力,相对于市面上单纯的App 和使用微信公众号、小程序创建起来的类似软件,对信息的处理能力更强大,可较好地服务于客户端定制信息的需求,给用户更好地使用感受。

猜你喜欢

服务器端代码菜品
迷惑菜品又来了
如何加强菜品加工过程中的卫生管理
基于Qt的安全即时通讯软件服务器端设计
神秘的代码
基于Qt的网络聊天软件服务器端设计
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
一种基于Java的IM即时通讯软件的设计与实现
近期连续上涨7天以上的股
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用