springboot点餐系统小程序-毕业设计源码42445

 springboot点餐系统小程序

摘要

随着移动互联网的迅猛发展,点餐系统微信小程序成为餐饮行业数字化转型的重要趋势。本文基于springboot框架,设计并实现了一款基于微信小程序的点餐系统。该系统通过微信小程序平台,提供用户浏览菜品、下单、支付和评价等功能,并为商家提供后台管理界面进行菜品管理、订单处理和数据统计分析。

点餐系统采用了前后端分离的架构,通过与微信支付接口的整合,实现了在线支付功能,方便用户进行便捷的支付操作。此外,系统结合用户评价与推荐算法,能够根据用户的喜好和历史消费记录,提供个性化的菜品推荐服务,提高用户的点餐体验。

经过实际使用测试,该系统在顾客点餐效率、餐厅运营管理和用户体验方面取得了良好的效果。用户可以通过微信小程序轻松查看菜品、下单付款,无需排队等候;商家则能够快速处理订单、掌握销售情况,并进行数据分析和经营决策。

关键词  springboot点餐系统小程序 ;MySQL

Springboot ordering system mini program

Abstract  

With the rapid development of mobile Internet, the WeChat applet of the ordering system has become an important trend in the digital transformation of the catering industry. This article is based on the Springboot framework and designs and implements a food ordering system based on WeChat mini programs. The system provides users with functions such as browsing dishes, placing orders, paying, and commenting through the WeChat mini program platform, and provides a backend management interface for merchants to manage dishes, process orders, and analyze data.

The ordering system adopts a front-end and back-end separation architecture, which integrates with the WeChat payment interface to achieve online payment function and facilitate users to perform convenient payment operations. In addition, the system combines user evaluation and recommendation algorithms to provide personalized dish recommendation services based on user preferences and historical consumption records, improving the ordering experience for users.

After practical use testing, the system has achieved good results in customer ordering efficiency, restaurant operation management, and user experience. Users can easily view dishes, place orders, and make payments through the WeChat mini program without queuing up; Merchants can quickly process orders, grasp sales situations, and conduct data analysis and business decisions.

Key words:Springboot; Ordering system mini program; MySQL

目录

1 绪论

1.1 研究背景及意义

1.2国内外研究现状

1.3springboot框架介绍

1.4微信开发者工具

2 点餐系统小程序需求分析

2.1 可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 功能需求分析

2.3 非功能性需求分析

3 点餐系统小程序概要设计

3.1系统体系结构

3.1.1前端用户功能结构图设计

3.2.2后端管理员功能结构图设计

3.2.3后端商家用户功能结构图设计

3.2 系统流程分析

3.3角色功能分析

4 点餐系统小程序数据库设计

4.1 数据库概念结构设计

4.2  数据库逻辑结构设计

5 点餐系统小程序详细设计与实现

5.1前台用户功能模块

5.1.1 前台首页界面

5.1.2注册界面

5.1.3登录界面

5.1.4 美食商城详情界面

5.1.5收货地址界面

5.1.6购物车界面

5.1.7顾客反馈界面

5.2管理员功能模块

5.2.1 用户管理界面

5.2.2系统公告管理界面

5.2.3顾客反馈管理界面

5.2.45.2.4商品分类管理界面

5.3商家用户功能模块

5.3.1 美食商城管理界面

5.3.2订单列表界面

6系统的测试

6.1测试的目的

6.2 兼容性测试

6.3 系统测试用例

6.4 测试结果

结论

参考文献

致谢

1 绪论

1.1 研究背景及意义

随着移动互联网技术的普及和餐饮行业的发展,传统的电话订餐、到店点餐等方式已经不能满足现代人对便捷、高效服务的需求。因此,基于微信小程序的在线外卖点餐系统应运而生,成为餐饮行业转型升级的重要方向。

点餐系统微信小程序能够显著提升外卖点餐的效率,方便用户随时随地浏览餐厅的菜单、查看菜品详情、下单支付,并实时跟踪和查询订单状态。同时,该系统也有助于提升餐厅的品牌形象和市场竞争力,通过展示特色菜品、优惠活动等信息吸引更多用户关注和下单。此外,该系统的推广和应用还有助于推动餐饮行业的数字化转型和升级,提升整个行业的服务水平和效率。

1.2国内外研究现状

国内学者对点餐系统微信小程序的研究主要集中在用户体验、市场分析和技术开发三个方面。例如,通过构建用户体验模型,针对不同用户群体对点餐系统微信小程序的需求和评价进行调查和分析,提出优化设计建议;从市场竞争环境、用户需求和商业模式等方面对点餐系统微信小程序进行分析和探讨,提出运营策略和盈利模式;利用微信小程序开发平台,设计并实现点餐系统微信小程序,并对其功能、性能和安全等方面进行测试和评价。

国外学者对点餐系统微信小程序的研究主要涉及用户偏好、营销策略和数据挖掘技术等方面。与国内研究相比,国外研究更加注重理论分析和实证研究。此外,国外在点餐系统微信小程序的技术方面也有深入研究,主要研究如何更好地利用技术优势,提高用户体验,提升点餐效率。

1.3 spring boot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

1.4微信开发者工具

微信开发者工具是一款专为小程序开发而设计的应用,它不断改进,提供了便捷的操作方式,并且在开发过程中可以通过微信扫描二维码来访问,从而实现快速、准确的小程序开发和调试。

根据用户的需求,我们将采用不同的屏幕大小来制作小程序。

在完成了视图布置之后,可以通过执行编辑功能,快速更改当前的视图界面。

控制台:方便调试打印输出信息。

将代码上传至腾讯服务器,并在审核过程中填写版本号和备注信息,以确保代码的安全性和准确性。

通过查看资源文件,我们可以快速地调整相关项目的文件目录,从而实现断点调试。

使用远程调试技术,无论是在手机端还是PC端,都能够轻松地进行开发工作。

本地数据存储:显示的是本地存储的数据。

通过使用子父层级结构,我们可以更容易地进行视图调试。

微信的代码体积应该保持在2M 以内,而且在开发过程中,应该严格检查合法域名信息,并且为小程序的后台配置服务器域名。

微信开发者工具已经成为了开发过程中不可或缺的一部分,并且正在不断地改进和完善。

2 点餐系统小程序需求分析

2.1 可行性分析

2.1.1 技术可行性分析

点餐系统小程序在技术上采用的是JAVA语言、基于Browser/Server模式,前台使用了Vue、HTML、CSS等技术,后台使用了springboot框架结合MYSQL数据库,这些技术在校期间都已经学习过,而且用这些技术开发过一些小的系统,同时在实际开发中JAVA功能强大被普通应用,因此开发技术是没有问题的。

2.1.2 经济可行性分析

开发点餐系统小程序并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上都是通过问卷调查了解用户需求,通过百度、知网库、学校图书馆查阅相关系统,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。

2.1.3 操作可行性分析

点餐系统小程序的在开发的时候充分了解用户群体,对于没有学习过计算机的用户也进行考虑在内,在系统的开发中首页有醒目的导航栏,使得即使没有学习过计算机课程的用户,也可以根据导航栏的提示进行操作,非常方便,因此系统在操作上是可行的。

2.2 功能需求分析

(1)美食商城模块:本点餐系统小程序最主要的功能就是商品的购买,所有系统中需要管理员添加各种商品供用户查询,购买,管理员在此模块主要是对美食商城的增删改查,游客实现对美食商城的查询,用户则实现美食商城的收藏、评论、加购等操作。如下图2-1所示。

2-1 美食商城模块用例图

2)用户管理模块:在前台游客可以通过注册,然后参与到系统当中,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。如下图2-3所示。

2-2用户管理模块用例图

3)购物管理:用户对喜欢的美食商城可以进行购买,可以选择立即购买或者加入到购物车中进行购买,如下图2-4所示。

2-3购物车管理模块用例图

4)订单管理:在点餐系统小程序中,用户和管理员都能够管理订单,可以对订单进行查看、删除。如下图2-4所示。

2-4订单管理模块用例图。

2.3 非功能性需求分析

点餐系统小程序的性能性需求分析主要是分析本点餐系统小程序的安全性怎么样(是否会泄露用户个人信息),可靠性怎么样(用户操作的时候是不是能够根据实际操作显示信息),性能怎么样(运行是否操作流畅),可拓展性怎么样(功能能否继续拓展)等。具体可以表示在如下2-1表格中:

2-1 点餐系统小程序非功能需求表

安全性

主要指点餐系统小程序数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指点餐系统小程序能够按照用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响点餐系统小程序占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着点餐系统小程序的页面展示内容进行操作,就可以了。

可维护性

点餐系统小程序开发的可维护性是非常重要的,经过测试,可维护性没有问题

3 点餐系统小程序概要设计

3.1系统体系结构

点餐系统小程序总体的体系结构图分为前端用户体系结构和后端管理员体系结构,其具体结构图如图3-1和图3-2所示

3.1.1前端用户功能结构图设计

3-2 点餐系统小程序前端功能结构图

3.2.2后端管理员功能结构图设计

3-2 点餐系统小程序后端功能结构图

3.2.3后端商家用户功能结构图设计

3-3 点餐系统小程序后端功能结构图

3.2 系统流程分析

1、注册流程

对于还没有账号的这一群体用户,可以注册来取得账号密码,用户在完成注册数据的填写之后,系统便会接收到这些信息,立即会对这些信息进行验证,首先检索数据库中是否已经存在了该账号,不存在的话就会继续验证其他数据,存在的话则会给予提示,让其更换账号,用流程图可以很好的展示出注册的这一过程,如下:

3-3注册流程图

2、登录流程

无论是用户,还是管理员都设有登录功能,这两种用户在登录的时候的步骤是一样的,都需要先进入到各自对应角色的登录的页面,然后开始输入账号,输入密码,系统接收到用户输入的登录信息之后,便会对其进行响应判断,如果正确且和角色对应的话,便会自动跳转到该角色的功能页面,登录这一步骤可以用流程图来展现,如下:

3-4 登录流程图

3、购买流程

点餐系统小程序的设计重点就是交易功能的实现,即让用户能够购买自己心仪的农产品,但要想实现这一功能,前提是必须要在登录的状态下才能进行,具体购买交易这一流程如下:

图3-5 购买流程图

3.3角色功能分析

在开发项目开发之时,要首先明确系统要满足哪几种角色用户的要求,在确定了用户角色之后,就要规划设计好每一个用户角色应该实现什么样的功能。该点餐系统小程序设计了3种角色,下面对这3种角色分别实现的功能进行一一讲述,如下:

(1)角色:用户的功能分析

用户能够利用浏览器便利的使用该程序,进入该平台之后,首先看到的是项目的首页,还能根据自己的需要点击使用导航栏相应的功能模块,包含了网站首页、系统公告、美食商城、商城管理,倘若用户要想实现购买交易、收藏评论、发布售卖的功能,就需要注册账号进而登录进入系统,在有了自己的账号登录之后,便可以加入购买商品、修改资料、修改密码、收藏管理、美食商城、商城管理等。

下图2-1是对用户这一角色进行的用例建模。

图2-1 用户的用例建模图

系统前端系统用户的功能包含了网站首页、美食商城、系统公告、商城管理等几大功能。

点餐系统小程序主要的功能就是商品的购买,所有在系统中用户可以选择自己喜欢的商品进行购买,用例说明如下表所示:

(2)点餐系统小程序主要的功能就是商品的购买,所有在系统中用户可以选择自己喜欢的美食商城进行加入购物车进行购买,用例说明如下表所示:

2-1 美食商城用例图

用例名称

美食商城购买

角色

普通用户

用例说明

用户在前台查看美食商城,对喜欢的美食商城进行收藏、评论、立即购买、加入购物车

前置条件

用户登录

后置条件

对美食商城加入购物车或者立即购买

基本事件流

1、用户通过浏览器进入本行健二手交易系统

2、用户登录到系统当中

3、用户进入美食商城,选择美食商城进入详情

4、加入购物车或者立即购买

5、在评论框输入评论内容,点击提交

拓展流程

选择支付方式

异常事件流

1、用户没有登录,需要注册登录后才能操作

2、购买失败需要取消付款

其他

2)角色:管理员的功能分析

管理员是整个程序数据的综合管理者,为了确保程序数据的安全,后台必须设置登录功能,这样可以验证身份,只有持有管理员独特的账号密码才能够进入后台,在成功登入后,管理员能够对程序的数据执行全面管理,包含系统管理,系统公告管理,系统用户(管理员、普通用户、商家用户)、商城管理(订单列表、美食商城、分类列表、订单配送)。

下图2-2是对管理员这一角色进行的用例建模。

图2-2 管理员的用例建模图

系统后端管理员的功能包含了顾客反馈管理、反馈类型管理、系统管理,系统公告管理,系统用户,商城管理模块管理五大部分。

(1)管理员在后台对美食商城的查询、如果需要添加新的商品,点击添加按钮,输入商品信息提交,也可以对美食商城进行修改,删除,查询,用例说明如下表所示:

表3-3 美食商城管理用例图

用例名称

美食商城管理

角色

管理员用户

用例说明

对系统当中的美食商城进行增删改查

前置条件

管理员登录

后置条件

基本事件流

1、管理员通过后台登录到系统当中

2、选择购物管理下的美食商城按钮

3、显示系统当中的所有的美食商城,可以输入关键词查询

4、选择内容进行增删改查

5、点击提交

拓展流程

异常事件流

输入的美食商城内容不正确,提示错误信息

其他

4 点餐系统小程序数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

4.1 数据库概念结构设计

在程序的设计过程中,必不可少的就是数据库的设计,而且这部分的设计也是相当重要的,数据库设计的目标是要求数据具有极高的完整性,还要确保数据不冗余。在数据库设计时,会先确定程序中的每一个实体,然后对每一个实体的属性都一一进行规划完善,这样一来会减轻工作量,明确目标。在实体以及实体的属性都明确后,进行该点餐系统小程序的实体属性E-R图的构建,如下。

4-1 点餐系统小程序总E-R关系图

4.2  数据库逻辑结构设计

通过上一小节中点餐系统小程序中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表customer_feedback (顾客反馈)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

customer_feedback_id

int

10

0

N

Y

顾客反馈ID

2

feedback_date

date

10

0

Y

N

反馈日期

3

feedback_to_users

int

10

0

Y

N

0

反馈用户

4

user_name

varchar

64

0

Y

N

用户姓名

5

order_number

varchar

64

0

Y

N

订单号

6

feedback_to_merchants

int

10

0

Y

N

0

反馈商家

7

feedback_label

varchar

64

0

Y

N

反馈标签

8

feedback_image

varchar

255

0

Y

N

反馈图片

9

feedback_content

text

65535

0

Y

N

反馈内容

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N

审核回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表feedback_type (反馈类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

feedback_type_id

int

10

0

N

Y

反馈类型ID

2

feedback_type

varchar

64

0

Y

N

反馈类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表food_mall (美食商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_mall_id

int

10

0

N

Y

美食商城ID

2

food_specifications

varchar

64

0

Y

N

美食规格

3

food_flavors

varchar

64

0

Y

N

美食口味

4

merchant_users

int

10

0

Y

N

0

商家用户

5

store_name

varchar

64

0

Y

N

店铺名称

6

merchant_phone_number

varchar

64

0

Y

N

商家电话

7

praise_len

int

10

0

N

N

0

点赞数

8

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

9

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

10

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

11

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

12

cart_price

double

8

2

N

N

0.00

卖价:[1]

13

cart_inventory

int

10

0

N

N

0

商品库存

14

cart_type

varchar

64

0

N

N

未分类

商品分类:

15

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

16

cart_img_1

text

65535

0

Y

N

主图1:

17

cart_img_2

text

65535

0

Y

N

主图2:

18

cart_img_3

text

65535

0

Y

N

主图3:

19

cart_img_4

text

65535

0

Y

N

主图4:

20

cart_img_5

text

65535

0

Y

N

主图5:

21

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表merchant_users (商家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

merchant_users_id

int

10

0

N

Y

商家用户ID

2

store_name

varchar

64

0

Y

N

店铺名称

3

merchant_phone_number

varchar

64

0

Y

N

商家电话

4

business_license

varchar

255

0

Y

N

营业执照

5

examine_state

varchar

16

0

N

N

未审核

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

gender

varchar

64

0

Y

N

性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

5 点餐系统小程序详细设计与实现

5.1前台用户功能模块

5.1.1 前台首页界面

当进入点餐系统小程序的时候,首先映入眼帘的是系统的导航栏,导航栏下面是轮播图以及公告信息,其主界面展示如下图5-1所示。

图5-1 前台首页界面图

5.1.2注册界面

不是点餐系统小程序中正式用户的是可以在线进行注册的,当用户点击“注册”按钮,填写上自己的账号+密码+确认密码+昵称等,再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用注册流程图如图5-2所示,注册界面展示如下图5-3所示。

5-2注册流程图

图5-3 前台注册界面图

注册关键代码如下所示。

  /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

5.1.3登录界面

点餐系统小程序中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并通过滑动验证通过后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到点餐系统小程序的首页中;否则将会提示相应错误信息,用户登录流程如图5-4所示,登录界面如下图5-5所示。

5-4 登录流程图

图5-5用户登录界面图

登录关键代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        

5.1.4 美食商城详情界面

当访客点击了任意美食商城后将会进入该款美食商城的详情界面,可以了解到该美食商城的图片信息、分类信息、价钱信息等,同时可以对该美食商城进行收藏、点赞、加购、购买评论,美食商城详情展示页面如图5-6所示,购买流程图如图5-7所示。

图5-6美食商城详情界面

图5-8购买流程图

5.1.5收货地址界面

当用户点击导航栏上的“收货地址”菜单后,就会显示出目前现有的地址,可以点击“新建收货地址”按钮,输入新的收货地址进行添加收货地址界面如下图5-9所示

                        

图5-8 收货地址界面

5.1.6购物车界面

当用户点击导航栏上的“购物车”菜单后,会出现自己加入购物车的商品列表,在购物管理页面可以对商品删除、修改商品的数量,选择部分或者全选进行购买购物车界面如下图5-9所示。

图5-9 购物车界面

5.1.7顾客反馈界面

当访用户点击点餐系统小程序中导航栏上的“顾客反馈”后将会进入到该顾客反馈提交的界面,系统会自动生成用户名、日期,业主只需要填写好反馈商家、反馈内容、反馈图片、反馈标签,点击提交就可以了顾客反馈界面如下图5-10所示。

                           

图5-10 顾客反馈界面

5.2管理员功能模块

5.2.1 用户管理界面

点餐系统小程序中的管理人员是可以对前台注册的普通用户以及商家用户进行管理。用户管理界面如下图5-11所示。

图5-11用户管理界面

用户管理关键代码如下:

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

5.2.2系统公告管理界面

管理员点击“系统公告管理”菜单可以查看到系统中的所有系统公告信息,对已经存在的系统公告,管理员可以修改,也可以添加新的系统公告或者删除系统公告,界面如下图5-12所示。

图5-12系统公告管理界面

系统公告管理关键代码如下:

 @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

5.2.3顾客反馈管理界面

管理员点击“顾客反馈”菜单能够对其进行增删改查。顾客反馈管理界面如下图5-13所示。

图5-13顾客反馈管理界面

顾客反馈管理关键代码如下:

  @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

5.2.45.2.4商品分类管理界面

管理员点击“商城管理”按钮,选择商品分类菜单,可以对商品的分类进行增删改查,方便前台用户按照分类查看二手商品。商品分类界面如下图5-14所示。。

图5-14商品分类管理界面

商品分类管理关键代码如下:

  @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

    }

5.3 商家用户功能模块

5.3.1美食商城管理界面

商家进入后台后点击“美食商城”,能够看到自己发布的商品信息,对商品进行管控。界面如下图5-15所示。

5-15 商城管理界面图

5.3.2订单列表界面

商家进入后台后点击“订单列表”,能够看到用户购买自己商品的时候提交的订单。界面如下图5-16所示。

5-16 订单列表界面图

6系统的测试

6.1测试的目的

系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。

6.2兼容性测试

浏览器兼容性问题:随着ES6标准的制定,目前主流的浏览器都是符合ES6标准的,尤其是以谷歌为核心的内核,然后IE浏览器的相对于早期的版本是使用的微软人家自己的内容,对信息的兼容性产生影响。测试结果表明,目前的主要浏览器包括谷歌,IE,360,火狐浏览器最近的版本的运行都是没有问题的,状态良好,就是使用IE的早期版本有会有图片展示问题,通过对代码的修改,进行了改善,所以总的来说浏览器兼容性是没有问题的。

JDK、tomcat等兼容性问题。JDK这里使用的1.8的版本,tomcat是springboot自动搭配的9.0版本,mysql是5.5版本,自己尝试了使用1.7以上的版本的JDK,是可以的,1.7以下的版本不兼容。Mysql版本如果出现冲突,需要更改配置文件中的类信息,tomcat兼容性较好,8版本以上都兼容。

6.2 系统测试用例

1登录测试 

登录测试用例如下表所示。

表6-1 登录测试用例

测试用例编号

YL_01

测试用例名称

系统使用者登录

测试用例描述

登录者输入用户名、密码和验证码

系统入口

浏览器

步骤

预期结果

实际结果

输入正确的用户名、密码和验证码

提示“登录成功”,并进入系统

预期结果

输入错误的用户名、密码和验证码

提示“登录失败”,并返回登录界面

预期结果

不输入用户名、密码和验证码

提示“请输入完整”

预期结果

2)注册测试 

注册测试用例如下表所示。

表6-2 注册测试用例

测试用例编号

YL_02

测试用例名称

系统使用者注册账号

测试用例描述

使用者输入用户名、密码以及个人信息进行账号注册

系统入口

浏览器

步骤

预期结果

实际结果

输入系统不存在的用户名、密码和个人信息

提示“注册成功” 

预期结果

输入系统已存在的用户名

提示“注册失败”,并返回注册界面

预期结果

不输入用户名、密码和个人信息

提示“请输入完整”

预期结果

3)新增顾客反馈测试 

新增顾客反馈测试用例如下表所示。

表6-3 新增顾客反馈测试用例

测试用例编号

YL_04

测试用例名称

系统使用者进行新增顾客反馈

测试用例描述

使用者输入顾客反馈标题、内容等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的顾客反馈标题和内容

提示“新增成功”,并进入系统

预期结果

不输入的顾客反馈标题和内容

提示“请输入完整”

预期结果

4)创建订单测试 

在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。

创建订单用例如下表所示。

表6-4 创建订单测试用例

测试用例编号

YL_05

测试用例名称

系统使用者进行创建订单

测试用例描述

使用者输入要创建的订单

系统入口

浏览器

步骤

预期结果

实际结果

输入完整并且格式正确的订单

提示“创建成功”,并显示所有订单

预期结果

核心位置订单但非必要位置不输入订单

提示“创建成功”,并显示所有订单

预期结果

核心订单位置不输入订单

提示“创建失败”

预期结果

6.4测试结果

在本次测试的过程主要针对所有功能下的添加操作,修改操作和删除操作,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都是能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。

结论

此刻已经完成了对点餐系统小程序的开发工作,写作论文的工作也基本要结束了,在这个过程中,成长了许多,也学习到了非常多的东西,真是收益颇多,感慨万分。

起初在要进行程序开发时,真的是毫无头绪可言,不知从何开始做,非常苦恼,因为这是第一次独立完成项目的开发,是一个很大的挑战,也是必须要完成的挑战。在经过去图书馆以及上网查阅资料,以及和同学老师的共同探讨,逐渐的有了思绪,明确了开发步骤,首先开始系统分析工作,在经过对系统需求进行了分析之后,明确了程序要开发研究的两大方向,对功能也完善了,然后经过对程序详细的设计、实现,到最后的测试,成功的完成了程序的开发,这个开发过程是非常漫长的,也充满了非常多的困难、磨难,但在不断的摸索、坚持下,还是顺利的完成了毕设的工作,当项目完成之后那种自豪、喜悦是无法表达的。作为首个独立完成的项目,困难重重不可避免,所有的磨难都是一种学习,所以在磨难解决的那一刻学习到的东西也是平时在课堂、书本上无法学习到的,实践的重要性不言而喻,在以后的工作中,实践能力更是需要不断的提升,只有将大学所学知识和实践结合在一起,才能发挥最大的作用,才能开发出更好更优秀的程序,这也是以后的工作中,需要重点学习的。

经过本次项目开发,也让我真正的感受到了信息技术的伟大,真的可以说是造福人类,值得我们深入学习,继续研究,不断进取、创新。

参考文献

[1]韩小龙,司珍,吕晓峰等. 基于面向对象编程的Java语言程序设计方法分析 [J]. 集成电路应用, 2024, 41 (01): 228-229.

[2]谭光兴,甘景,戚秋晨. 基于Java语言的远程数据采集系统设计与实现 [J]. 科技与创新, 2024, (01): 19-22.

[3]赵旭东. 计算机软件开发与设计中Java语言的应用研究 [J]. 信息与电脑(理论版), 2023, 35 (24): 31-33.

[4]王馗,吴勇灵. 基于微信小程序的点餐系统设计与实现 [J]. 现代信息科技, 2023, 7 (22): 30-35+39.

[5]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):

[6]种倩倩,孙丽英,陈滨等. 基于微信小程序的点餐系统的设计与开发 [J]. 电脑知识与技术, 2022, 18 (19): 66-69+73.

[7]陈帅. 微信点餐系统小程序的设计与实现 [J]. 电子技术与软件工程, 2021, (24): 30-31.

[8]Cheng F . Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework [J]. Advances in Educational Technology and Psychology, 2021, 5 (2):

[9]唐永洋,许嘉洁,乔波. 基于MongoDB和微信小程序的点餐系统的设计与实现 [J]. 电脑与信息技术, 2021, 29 (01): 25-27.

[10]李昊. 基于微信小程序的智能推荐点餐系统的设计与实现[D]. 南京邮电大学, 2020.

[11]程海健. 一种基于微信小程序智能点餐系统[P]. 安徽省: CN110992213A, 2020-04-10.

致谢

通过这样设计与开发这样一个系统,首先向我们老师、同学和朋友表达真诚的感谢。没有指导老师的指导和平日子的教导,我也不能够学到如此多的专业知识。另外,也佩服老师兢兢业业的工作态度,给我们做好了表率。系统开发技术要学习的东西很多,前台框架、后台框架、业务流程、数据结构、操作系统等各种知识非常的丰富,都需要慢慢的专研。在这里,首先感谢老师细心的教导,我只想说一句:“老师,谢谢您,您辛苦了!有您在,大学生活才更加的充实。”另外,我要感谢我的室友,由于知识掌握得不够产生各种问题,正因为有了你们的帮忙,给我提出很多很好的建议,才能更好的解决系统开发问题。同时,我也应该感谢那些计算机专业的先哲们,正是由于有这么一群人,才能把这样的专业研究得如此透彻,才能助力新世界的诞生。你们的理论,是我们一生学习的内容,你们的成就,是我们一生追求的目标。

最后,也希望自己在未来的道路上能够走得更远,不辜负在大学的学习,以及老师们的细致的教导。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值