2023基于微信小程序的奶茶店自助饭店点餐订餐系统平台(SSM+mysql)-JAVA.VUE(论文+开题报告+运行)_微信小程序奶茶点单课题报告-程序员宅基地

技术标签: java  微信小程序  mysql  

摘 要

使用智能手机的用户经过多年的使用习惯,已经越来越不喜欢安装各种的APP,除了正常生活和工作所必须的APP,不喜欢因为喜欢某些内容而被强制安装APP软件了。最近几年,随着微信生态的布局,通过开发微信小程序接口,让广大用户可以通过微信直接访问小程序,不需要去专门安装那些APP,这一点让很多用户喜爱,基本上只要能转向微信生态的业务,许多企业都已经开始拥抱微信小程序。本课题就是研究和实现一款奶茶店自助点餐系统。
奶茶店自助点餐系统通过MySQL数据库与Eclipse工具进行开发,奶茶店自助点餐系统能够实现商品管理,客服聊天管理,商品评价管理,商品订单管理,新闻管理等功能。
奶茶店自助点餐系统让商品订单,商品信息等相关信息集中在后台让管理员管理,让用户在小程序端点餐,管理个人订单,该系统让信息管理变得高效,也让用户点餐,查看个人订单等信息变得越来越方便

4.2功能结构设计

本系统主要是基于数据的增加,修改,删除等操作,使用者能够通过提前设定的登录功能进入指定的操作区,这里对使用者设计的功能进行结构展示。
管理员功能结构图的绘制结果见图4-1。管理员登录进入本系统操作的功能包括管理商品,回复商品评价,为商品订单进行出餐,管理新闻和用户,管理客服聊天。
在这里插入图片描述

                                  图4-1 管理员功能结构图

用户功能结构图的绘制结果见图4-2。用户登录进入本系统操作的功能包括管理购物车,下单购买商品,在线充值,查看商品评价,管理商品订单等。
在这里插入图片描述

                                    图4-2 用户功能结构图

4.3数据库设计

如果说设计系统的功能很重要,那么设计该系统的数据库将更重要,毕竟系统服务于用户,数据库服务于系统,用户访问系统,操作系统的所有数据都要依赖于数据库,而系统的数据几乎都是保存在数据库中的,所以,一个高质量的程序,必然拥有一个安全,快速响应,稳定可靠的数据库。本系统的MySQL数据库可以通过SQL语言来实现对系统数据的管理,包括在指定表中插入数据,在规定的表中更改数据,以及删除指定表中的部分数据等操作。一般来说,像MySQL这样的关系型数据库,对于结构化查询语言SQL都能很好的进行支持。在编程中,通过合理运用SQL语言便能操作数据库的各种数据,真是非常方便快捷!

4.3.1 数据库概念设计

本节内容主要是使用图形的方式来描述数据库中的实体,每个实体的相应属性,还有实体之间的相互联系,常用的Visio工具即可满足绘制E-R图的需求。E-R图是由矩形,椭圆,菱形等图形元素组成,矩形框中主要写实体的名称,椭圆框中主要是登记该实体的属性,而菱形框中主要是登记实体之间的联系名称,最后使用实心线段把这些图形元素进行连接,即可完成E-R图的绘制。当初步得到一个E-R图时,需要进行检查,使用分析的方式去修改,重构E-R图,以达到消除数据冗余,或者是消除实体间联系冗余的目的。从而保持数据库的完整性,以及降低数据库维护上面的难度。
(1)使用Visio这样的常用的实体属性图绘制工具来绘制商品订单实体属性图,绘制结果见图4-3。
在这里插入图片描述

                                图4-3 商品订单实体属性图

(2)使用Visio这样的常用的实体属性图绘制工具来绘制商品实体属性图,绘制结果见图4-4。
在这里插入图片描述

                                  图4-4 商品实体属性图

(3)使用Visio这样的常用的实体属性图绘制工具来绘制管理员实体属性图,绘制结果见图4-5。
在这里插入图片描述

                                     图4-5 管理员实体属性图

(4)使用Visio这样的常用的实体属性图绘制工具来绘制用户实体属性图,绘制结果见图4-6。
在这里插入图片描述

                                      图4-6 用户实体属性图

(5)绘制的上述实体间存在的联系见图4-7。
在这里插入图片描述

                                 图4-7 实体间关系E-R图

4.3.2 数据库物理设计

本系统数据在数据库中都是通过各种二维表进行记录保存的,在数据库中设计这样的二维表也是比较重要的内容,因为它影响着数据的存储效率。在设计二维表也就是关系模型之前,一些有关二维表方面的常用概念需要进行充分了解。
关系:一张具体的数据表即表示关系,关系的名称与数据表的名称保持一致;
元组:数据表中,每行显示的数据即代表元组;
属性:数据表中,每列表示的数据即代表属性;
关键字:数据表中,为了与其他数据表进行区分,则需要在每张表中进行主键的设置;
通过上节内容可以知晓数据库中的各个实体,并通过一定方式把这些实体表示的内容进行数据表的转换,通常来说,每个实体都会对应一张具体的数据表,在本系统指定的数据库中创建命名好的数据库,才可以对数据表进行创建与设计。奶茶店自助点餐系统数据表设计结果展示如下:
表4.1 购物车表
字段 注释 类型 空
id (主键) 主键 int(11) 否
yonghu_id 所属用户 int(11) 是
goods_id 商品 int(11) 是
buy_number 购买数量 int(11) 是
create_time 添加时间 timestamp 是
update_time 更新时间 timestamp 是
insert_time 创建时间 timestamp 是
表4.2 客服聊天表
字段 注释 类型 空
id (主键) 主键 int(11) 否
yonghu_id 提问用户 int(11) 是
chat_issue 问题 varchar(200) 是
issue_time 问题时间 timestamp 是
chat_reply 回复 varchar(200) 是
reply_time 回复时间 timestamp 是
zhuangtai_types 状态 int(255) 是
chat_types 数据类型 int(11) 是
insert_time 创建时间 timestamp 是
表4.3 商品信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_name 商品名称 varchar(200) 是
goods_types 商品类型 int(11) 是
goods_photo 商品照片 varchar(200) 是
goods_kucun_number 商品库存 int(11) 是
goods_old_money 商品原价 decimal(10,2) 是
goods_new_money 现价 decimal(10,2) 是
goods_clicknum 点击次数 int(11) 是
shangxia_types 是否上架 int(11) 是
goods_delete 逻辑删除 int(11) 是
goods_content 商品简介 text 是
create_time 创建时间 timestamp 是
表4.4 商品收藏表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_id 商品 int(11) 是
yonghu_id 用户 int(11) 是
goods_collection_types 类型 int(11) 是
insert_time 收藏时间 timestamp 是
create_time 创建时间 timestamp 是
表4.5 商品评价表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_id 商品 int(11) 是
yonghu_id 用户 int(11) 是
goods_commentback_text 评价内容 text 是
reply_text 回复内容 text 是
insert_time 评价时间 timestamp 是
update_time 回复时间 timestamp 是
create_time 创建时间 timestamp 是
表4.6 商品订单表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_order_uuid_number 订单号 varchar(200) 是
goods_id 商品 int(11) 是
yonghu_id 用户 int(11) 是
buy_number 购买的数量 int(200) 是
goods_order_true_price 实付价格 decimal(10,2) 是
goods_order_types 订单类型 int(11) 是
goods_order_payment_types 支付类型 int(11) 是
insert_time 订单创建时间 timestamp 是
create_time 创建时间 timestamp 是
表4.7 新闻信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
news_name 新闻名称 varchar(200) 是
news_photo 新闻图片 varchar(200) 是
news_types 新闻类型 int(11) 否
insert_time 新闻发布时间 timestamp 是
news_content 新闻详情 text 是
create_time 创建时间 timestamp 是
表4.8 管理员表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否
表4.9 用户表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
yonghu_name 用户姓名 varchar(200) 是
yonghu_photo 头像 varchar(255) 是
yonghu_phone 用户手机号 varchar(200) 是
yonghu_id_number 用户身份证号 varchar(200) 是
sex_types 性别 int(11) 是
new_money 余额 decimal(10,2) 是
yonghu_delete 假删 int(11) 是
create_time 创建时间 timestamp 是
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bocofChina/article/details/129440704

智能推荐

前端开发之vue-grid-layout的使用和实例-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏34次。vue-grid-layout的使用、实例、遇到的问题和解决方案_vue-grid-layout

Power Apps-上传附件控件_powerapps点击按钮上传附件-程序员宅基地

文章浏览阅读218次。然后连接一个数据源,就会在下面自动产生一个添加附件的组件。把这个控件复制粘贴到页面里,就可以单独使用来上传了。插入一个“编辑”窗体。_powerapps点击按钮上传附件

C++ 面向对象(Object-Oriented)的特征 & 构造函数& 析构函数_"object(cnofd[\"ofdrender\"])十条"-程序员宅基地

文章浏览阅读264次。(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)_"object(cnofd[\"ofdrender\"])十条"

修改node_modules源码,并保存,使用patch-package打补丁,git提交代码后,所有人可以用到修改后的_修改 node_modules-程序员宅基地

文章浏览阅读133次。删除node_modules,重新npm install看是否成功。在 package.json 文件中的 scripts 中加入。修改你的第三方库的bug等。然后目录会多出一个目录文件。_修改 node_modules

【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure-程序员宅基地

文章浏览阅读883次。【代码】【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure

整理5个优秀的微信小程序开源项目_微信小程序开源模板-程序员宅基地

文章浏览阅读1w次,点赞13次,收藏97次。整理5个优秀的微信小程序开源项目。收集了微信小程序开发过程中会使用到的资料、问题以及第三方组件库。_微信小程序开源模板

随便推点

Centos7最简搭建NFS服务器_centos7 搭建nfs server-程序员宅基地

文章浏览阅读128次。Centos7最简搭建NFS服务器_centos7 搭建nfs server

Springboot整合Mybatis-Plus使用总结(mybatis 坑补充)_mybaitis-plus ruledataobjectattributemapper' and '-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。..._mybaitis-plus ruledataobjectattributemapper' and 'com.picc.rule.management.d

EECE 1080C / Programming for ECESummer 2022 Laboratory 4: Global Functions Practice_eece1080c-程序员宅基地

文章浏览阅读325次。EECE 1080C / Programming for ECESummer 2022Laboratory 4: Global Functions PracticePlagiarism will not be tolerated:Topics covered:function creation and call statements (emphasis on global functions)Objective:To practice program development b_eece1080c

洛谷p4777 【模板】扩展中国剩余定理-程序员宅基地

文章浏览阅读53次。被同机房早就1年前就学过的东西我现在才学,wtcl。设要求的数为\(x\)。设当前处理到第\(k\)个同余式,设\(M = LCM ^ {k - 1} _ {i - 1}\) ,前\(k - 1\)个的通解就是\(x + i * M\)。那么其实第\(k\)个来说,其实就是求一个\(y\)使得\(x + y * M ≡ a_k(mod b_k)\)转化一下就是\(y * M ...

android 退出应用没有走ondestory方法,[Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?...-程序员宅基地

文章浏览阅读1.3k次。首先,问题是如何出现的?晚上复查代码,发现一个activity没有调用自己的ondestroy方法我表示非常的费解,于是我检查了下代码。发现再finish代码之后接了如下代码finish();System.exit(0);//这就是罪魁祸首为什么这样写会出现问题System.exit(0);////看一下函数的原型public static void exit (int code)//Added ..._android 手动杀死app,activity不执行ondestroy

SylixOS快问快答_select函数 导致堆栈溢出 sylixos-程序员宅基地

文章浏览阅读894次。Q: SylixOS 版权是什么形式, 是否分为<开发版税>和<运行时版税>.A: SylixOS 是开源并免费的操作系统, 支持 BSD/GPL 协议(GPL 版本暂未确定). 没有任何的运行时版税. 您可以用她来做任何 您喜欢做的项目. 也可以修改 SylixOS 的源代码, 不需要支付任何费用. 当然笔者希望您可以将使用 SylixOS 开发的项目 (不需要开源)或对 SylixOS 源码的修改及时告知笔者.需要指出: SylixOS 本身仅是笔者用来提升自己水平而开发的_select函数 导致堆栈溢出 sylixos

推荐文章

热门文章

相关标签