当前位置:   article > 正文

SpringBoot+Vue项目餐厅管理系统_后台管理系统springboot vue项目

后台管理系统springboot vue项目
一、前言介绍 

随着互联网不断升温,用户的需求也越来越大,为此设计餐厅管理系统可以方便用户随时获取到餐厅信息,通过这一软件来满足用户的要求,并且使用餐厅管理系统可以更快捷、更高效的提高餐厅管理的工作效率,是一款必不可少的管理系统。

开发餐厅管理系统进行餐厅信息的管理,就要运用软件工程的方法来解决这个软件开发中遇到的各个问题。

系统管理也都将通过计算机进行整体智能化操作,对于餐厅管理系统信息管理所牵扯的信息管理及数据保存都是非常多的,举例像所有的后台首页、轮播图、公告信息管理、资源管理(新闻资讯、新闻分类)、系统用户(管理员、顾客用户、员工用户)、模块管理(菜品信息、分类管理、线下订单、线上订单、营业额信息、菜品偏好)等等,这给管理者的工作带来了巨大的挑战,所以为此开发了本餐厅管理系统,为用户提供餐厅管理系统,方便管理员及时高效的管理所有的信息,给用户提供简单方便快捷的方式,并且数据准确,用户可以足不出户就可以对餐厅相关信息进行管理,统计查询等操作,而且还能节省用户查询信息的等待时间,所以开发餐厅管理系统给工作人员带来很大的方便,可以大大的提高系统人员工作效率。

二、系统总体设计

2.1 系统功能模块

该系统的基本功能包括管理员、顾客用户、员工用户三个功能模块。

对于管理员可以使用的功能模块主要有后台首页、轮播图、公告信息管理、资源管理(新闻资讯、新闻分类)、系统用户(管理员、顾客用户、员工用户)、模块管理(菜品信息、分类管理、线下订单、线上订单、营业额信息、菜品偏好)等功能。

对于顾客用户所使用的功能模块的操作主要首页、公告信息、新闻资讯、菜品信息、我的(我的账号、收藏)、模块管理(线下订单、线上订单)等功能。

对于员工用户所使用的功能模块的操作主要后台首页、模块管理(菜品信息、线下订单、线上订单)等功能。

2.2 系统结构设计

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

本系统结构图如图所示。

2.3 数据库设计

(1)系统的E-R图

概念模型是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接

三、系统实现

3.1 管理员功能模块 

管理员登录,管理员通过输入用户名、密码、拼图验证等信息进入餐厅管理系统,如图所示。

管理员登录进入餐厅管理系统可以查看后台首页、轮播图、公告信息管理、资源管理(新闻资讯、新闻分类)、系统用户(管理员、顾客用户、员工用户)、模块管理(菜品信息、分类管理、线下订单、线上订单、营业额信息、菜品偏好)等内容,如图所示。

系统用户,在此页面有管理员、顾客用户、员工用户三个子模块。管理员在员工用户页面填写头像、账号、密码、手机号码、邮箱等信息,进行添加员工用户,如图所示。

轮播图管理,在轮播图管理页面可查看标题等内容操作,如图所示。

公告信息管理,在公告信息管理页面,可以查看标题、创建时间、更新时间等信息,并可根据其需要进行查询、重置、删除、添加等操作,如图所示。

资源管理,在资源管理页面可查看新闻资讯、新闻分类两个子模块的内容并进行查询、重置、删除、添加等操作,新闻资讯如图所示。

菜品信息,在菜品信息页面可查看菜品名称、菜品分类、菜品价格、菜品食材等内容进行查询、重置、添加、删除操作,如图所示。

线下订单,在线下订单页面可查看顾客姓名、联系电话、点餐数量、菜品总价等内容进行查询、重置、添加、删除操作,如图所示。

线上订单,在线上订单页面可查看订单编号、菜品名称、菜品价格、订单日期、顾客信息等内容进行查询、重置、添加、删除操作,如图所示。

营业额信息,在营业额信息页面可查看标题名称、营业日期、营业金额、备注信息等内容进行查询、重置、添加、删除操作,如图所示。

菜品偏好,在菜品偏好页面可查看菜品名称、男性点餐数、女性点餐数、备注信息等内容进行查询、重置、添加、删除操作,如图所示。

3.2 顾客用户功能模块

顾客用户登录,管理员通过输入用户名、密码、拼图验证等信息进入餐厅管理系统,如图所示。

顾客用户登录进入餐厅管理系统可以查看首页、公告信息、新闻资讯、菜品信息、我的(我的账号、收藏)、模块管理(线下订单、线上订单)等内容,如图所示。

菜品信息,在此页面可以查看菜品名称、菜品分类、菜品价格、菜品食材等信息,并可根据需要进行查询、线下点餐、线上点餐、点赞、收藏等操作,如图所示。

线下订单,在线下订单页面,可以查看订单编号、菜品名称、菜品分类等,并可根据其需要进行提交等操作,如图所示。

线上订单,在线上订单页面可查看等内容,并进行查询、重置、删除、添加等操作,如图所示。

3.3 员工用户功能模块

员工用户登录进入餐厅管理系统后台可以查看后台首页、模块管理(菜品信息、线下订单、线上订单)等内容。

菜品信息,在菜品信息页面可以查看菜品名称、菜品价格、菜品食材、菜品口味等内容进行查询、重置等操作,如图所示。

线下订单,在线下订单页面,可以查看订单日期、顾客姓名、联系电话等,并可根据其需要进行查询、重置等操作,如图所示。

线上订单,在线上订单页面可查看订单编号、菜品名称、菜品分类、菜品价格等内容,并进行查询、重置等操作,如图所示。

四、代码实现

  1. @PostMapping("/add")
  2. @Transactional
  3. public Map<String, Object> add(HttpServletRequest request) throws IOException {
  4. service.insert(service.readBody(request.getReader()));
  5. return success(1);
  6. }
  7. @Transactional
  8. public Map<String, Object> addMap(Map<String,Object> map){
  9. service.insert(map);
  10. return success(1);
  11. }
  12. public Map<String,Object> readBody(BufferedReader reader){
  13. BufferedReader br = null;
  14. StringBuilder sb = new StringBuilder("");
  15. try{
  16. br = reader;
  17. String str;
  18. while ((str = br.readLine()) != null){
  19. sb.append(str);
  20. }
  21. br.close();
  22. String json = sb.toString();
  23. return JSONObject.parseObject(json, Map.class);
  24. }catch (IOException e){
  25. e.printStackTrace();
  26. }finally{
  27. if (null != br){
  28. try{
  29. br.close();
  30. }catch (IOException e){
  31. e.printStackTrace();
  32. }
  33. }
  34. }
  35. return null;
  36. }
  37. public void insert(Map<String,Object> body){
  38. StringBuffer sql = new StringBuffer("INSERT INTO ");
  39. sql.append("`").append(table).append("`").append(" (");
  40. for (Map.Entry<String,Object> entry:body.entrySet()){
  41. sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
  42. }
  43. sql.deleteCharAt(sql.length()-1);
  44. sql.append(") VALUES (");
  45. for (Map.Entry<String,Object> entry:body.entrySet()){
  46. Object value = entry.getValue();
  47. if (value instanceof String){
  48. sql.append("'").append(entry.getValue()).append("'").append(",");
  49. }else {
  50. sql.append(entry.getValue()).append(",");
  51. }
  52. }
  53. sql.deleteCharAt(sql.length() - 1);
  54. sql.append(")");
  55. log.info("[{}] - 插入操作:{}",table,sql);
  56. Query query = runCountSql(sql.toString());
  57. query.executeUpdate();
  58. }

五、论文参考

六、项目总结

此时项目已经完成,即使实施的时间不是很长,但是在这个过程中需要准备很长的一段时间去对系统设计开发所实际用到的技术进行学习和巩固。在学习的过程中,我逐渐认识到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是掌握了常用的性能和控制方法,我觉得还是相对来说挺容易的。从该系统中,系统的分析和设计的调查数据,已经经历了几个月,并且努力了几个月,该系统现在已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。

系统的开发环境和配置都是可以自行安装的,系统使用springboot开发工具,使用比较成熟的mysql数据库进行对系统前台及后台的数据交互,根据技术语言结合需求对数据库进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。

在设计系统的过程中还遇到了一个棘手的问题,那就是自己的英语水平还有待提高,很多关于网站技术开发的资料文献都是英文版的,关键词语以及技术性词汇不能很好的理解。只有在借助翻译软件的实时性翻译功能的辅助下才勉强看懂。显然英语水平的高低直接影响到系统的开发过程。

回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作的学习让我有了更多的信心,相信在未来的路上我会走的更好。

 gitCode源码入口icon-default.png?t=N7T8https://gitcode.com/yuanmadd/ymgg/blob/main/README.md?init=initTree

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/840303
推荐阅读
相关标签
  

闽ICP备14008679号