基于微信小程序的鲜花商城平台设计与实现
摘 要
鲜花商城小程序的研究旨在设计和开发一个方便、快捷的移动应用平台,为用户提供鲜花购买、资讯浏览和社交互动等功能。该研究包括以下几个方面的内容:首先,通过调研和分析鲜花市场和用户需求,了解用户对于鲜花购买、品质保证和信息获取的关注点和需求。其次,设计和开发鲜花商城小程序,包括商品展示与管理、在线支付、用户认证、资讯发布等功能模块。系统应具备用户友好的界面和操作体验,以提高用户的使用便利性和满意度。
关键词:鲜花商城;Springboot框架;Mysql数据库
Abstract
The research of the Flower Mall Mini Program aims to design and develop a convenient and fast mobile application platform to provide users with functions such as flower purchase, information browsing and social interaction. The research includes the following aspects: First, through research and analysis of the flower market and user needs, to understand the concerns and needs of users for flower purchase, quality assurance and information acquisition. Secondly, design and develop the flower mall applet, including product display and management, online payment, user authentication, information release and other functional modules. The system should have a user-friendly interface and operation experience to improve the user's convenience and satisfaction.
Keywords: Flower Mall, Springboot framework, Mysql database
1.1鲜花商城小程序开发背景
鲜花在全球范围内都具有广泛的消费群体和市场需求。随着人们对高品质生活的追求和对优质鲜花的认知提高,鲜花市场正逐渐向线上转移。同时,移动互联网的普及使得人们越来越依赖于手机和移动应用进行购物和信息获取。小程序作为一种轻量级、便捷的应用形式,融合了APP和网页的优势,成为商家开展移动端业务的重要方式。因此,研究鲜花商城小程序的背景在于满足消费者对于便捷鲜花购买和信息获取的需求,同时也为鲜花商家提供一个新的销售渠道和推广平台。
通过鲜花商城小程序,消费者可以方便地通过手机浏览并选购各类鲜花产品,享受到更加便捷和个性化的购物体验。商家可以借助小程序平台,展示和推广自己的鲜花产品,并与消费者建立更紧密的互动关系。
此外,鲜花商城小程序的研究还关注用户对于鲜花品质、产地信息和健康知识的需求。通过用户调研和反馈收集,研究可以了解用户对于鲜花品质和文化的关注点和需求,为商家提供有针对性的商品选择和鲜花资讯发布。
从市场规模来看,随着人们消费观念的改变和电商行业的蓬勃发展,鲜花电商市场呈现出快速增长的趋势。据统计数据显示,近年来鲜花电商市场的年增长率达到20%,市场规模逐年扩大。这表明鲜花商城小程序作为电商领域的一部分,也受益于这一增长趋势,拥有巨大的市场潜力。在发展趋势方面,鲜花商城小程序正朝着个性化和智能化的方向发展。通过互联网技术,鲜花商城小程序可以提供个性化定制服务,消费者可以根据自己的喜好和需求选择花束的花材、颜色、包装等。同时,借助人工智能和大数据等技术,小程序还可以实现精准营销和智能推荐,提高用户体验和购买转化率。竞争态势也是鲜花商城小程序研究现状的一个重要方面。目前,市场上存在着诸多鲜花商城小程序,包括大型综合性电商平台和专注于鲜花销售的平台。这些平台通过品牌建设、商品品质、价格竞争等手段争夺市场份额。在竞争激烈的市场环境下,鲜花商城小程序需要注重差异化竞争,通过提升用户体验、优化服务流程、加强供应链管理等方式来增强自身竞争力。技术创新也是推动鲜花商城小程序发展的重要因素。通过建立数字化的供应链管理系统,可以实现供应链中各环节的精细化管理和协同作业,提高鲜花的品质和效率。同时,利用物联网、区块链等先进技术,还可以实现对鲜花供应链的透明化监管,确保鲜花的新鲜度和品质。综上所述,鲜花商城小程序的研究现状呈现出市场规模不断扩大、发展趋势多样化、竞争态势激烈以及技术创新不断涌现的特点。未来,随着技术的不断进步和市场的不断发展,鲜花商城小程序有望在未来实现更大的突破和发展。
本系统充分考虑了国家的鲜花生产和销售管理之间的相互关系,以及互联网络的现代化应用,在互联网络中,搭建一个类似网上商城一样的销售网站内,其中会用到Java语言、Springboot框架等之类的网络工程技术。
本系统分为前台用户系统和后台管理系统,前台用户系统,为用户提供:注册登录、首页、购物车、鲜花商城、新闻资讯、退款信息、在线交流、订单配送等主要功能。后台管理系统,为管理员提供:用户管理、退款信息管理、在线交流管理、商城管理、系统管理、资源管理、网站公告管理等优质服务。
1.4鲜花商城小程序内容安排
本文具体内容包括:绪论、系统采用的关键技术、系统分析、系统设计、系统实现和系统测试。本文着重描述了系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程。本系统在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性、可靠性。
1 Springboot框架
SpringBoot是Spring开发项目的起点,SpringBoot框架较比与Springboot框架优点是减少很多配置文件,它的两大核心核心内容是依赖注入和控制反转,通过注解告诉Spring需要哪些对象,在启动时Spring会自动创建出对象。SpringBoot还有另有两个更重要的配置策略:开箱即用配置和约定优于配置,开箱即用配置是指开发人员在项目实际开发的整个过程中均可以直接通过在MAVEN项目中的pom文件里直接添加配置相关的依赖包,使用约定对配置用注解来直接代替繁琐的配置XML文件;约定优于配置,有开发者添加约定范式,可以将测试,打包等工作自动化。
2 JavaScript运行模式
JavaScript语言是指一种可以用于开发动态web页面应用的脚本语言,是属于面向对象开发的,是受了Java语言影响产生的,主要被用来动态设计HTML页面,响应浏览器事件,进行前后端互相交互,在此次设计中使用jqury和ajax实现前后端交互,以此来实现系统功能。
3 Mysql数据库
Mysql Database,通常简称为Mysql,是一款关系型数据库的管理系统。Mysql数据库系统是目前最流行的关系型数据库管理系统之一,其系统具有良好的可移植性,功能强大且使用十分方便。Mysql支持很多系统和硬件,包括HP-UX,Linux,MicrosoftWindows,SunSolaris,AppleMac等。
Mysql系统的特点:
(1)Mysql的多线索服务器的体系结构使其只利用很少的资源就能够支持多用户的、大数据的高性能事务处理;
(2)Mysql支持大量的多媒体数据,例如声音、动画、二进制图形和多维数据结构等;
(3)Mysql提供了安全保密管理系统,具有良好的安全性、一致性和完整性;
(4)具有新的分布式数据库能力和分布处理的能力;
(5)提供了一些高级语言的接口软件,可以帮助快速开发基于客户端的应用程序,具有良好的移植性、可连结性和可兼容性。
Mysql数据库逻辑结构包含表空间(tablespace)、段(segment)、范围(extend)、数据块(datablock)、和模式对象(schemaobject) 。每一个数据库都可以逻辑划分为一个或多个表空间,每一个表空间都是由一个或多个数据文件来组成。Mysql数据库分为系统表空间和非系统表空间,每一个Mysql数据库都包含一个称作SYSTEM的系统表空间。
4 AJAX技术
AJAX是创建交互式网页的一种开发技术,利用AJAX技术可以实现以无刷新网页的方式更新HTML元素中的内容。传统的网页如果要更新网页内容,必须重新加载整个页面,而AJAX使用异步数据传输在网页和Web服务器之前传递HTTP请求,这样可以使网页只请求少量信息,而不用刷新整个页面。
5 B/S体系结构介绍
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
3.1业务需求分析
针对鲜花销售渠道单一现存的问题和需要,通过系统需求的分析,特建立了数字化、信息化的鲜花商城小程序。
本系统主要包含了、登录模块的实现、用户管理模块、鲜花商城模块、在线交流模块、退款信息模块等多个功能模块。下面分别简单阐述一下这几个功能模块需求。不同的权限对应相应的功能模块的需求,管理员权限的级别是最高的,所以所对应的需求是最多的,根据不同的权限分别简单阐述一下各个权限的需求。
主要业务流程:以用户的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,进行商品搜索浏览、商品搜索以及商品购买等功能
图3-1主要业务流程图
根据条件需要,系统结构主要由学生用户、商家用户和管理员。
学生用户模块:
- 注册登录:用户通过注册登录系统,可通过点击“我的”,对个人信息进行增删改查。比如个人资料、头像和密码修改。
- 首页:展示小程序的推荐内容、热门资讯、鲜花商城信息等,提供快捷导航功能
- 新闻资讯:用户可以点击其中一条新闻资讯查看,可以点赞、收藏和评论。
- 鲜花商城:用户可以点击“鲜花商城”,查看鲜花信息,点赞、收藏和评论。
- 我的:用户可以点击“我的”,其中包含了退款信息、在线交流、订单配送等具体信息,用户可以审核通过学生用户提交的退款信息、在线交流等信息。
商家用户模块:
- 注册登录:用户通过注册登录系统,可通过点击“我的”,对个人信息进行增删改查。比如个人资料、头像和密码修改。
- 首页:展示小程序的推荐内容、热门资讯、鲜花商城信息等,提供快捷导航功能
- 新闻资讯:学生用户可以点击其中一条新闻资讯查看,可以点赞、收藏和评论。
- 鲜花商城:学生用户可以点击“鲜花商城”,查看鲜花信息,点赞、收藏和评论,也可以加入购物车和直接购买。
- 我的:学生用户可以点击“我的”,其中包含了退款信息、在线交流、订单配送等具体信息,用户可以添加退款信息、在线交流等信息。
管理员模块:
- 登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。
- 后台首页:管理员点击可查看教学数据数据统计图。
- 系统用户:管理员点击可查看管理员、教师用户和学生用户;同时可对系统用户进行增删改查。
- 退款信息管理:管理员可以查看退款信息列表和审核通过学生用户的退款申请。
- 在线交流管理:管理员可以查看在线交流列表和回复学生用户的交流帖子。
- 系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。
- 网站公告管理:当管理点击“网站公告管理”时,可查看网站公告消息;如需添加新的网站公告,点击右侧“添加”按钮,输入标题和正文,点击“确认”按钮进行添加。
- 资源管理:管理员可以对新闻资讯列表和分类列表进行增删改查。
- 商城管理:管理员可以对鲜花商城、分类列表、订单列表、订单配送等信息进行管理。
3.3功能模块设计
3.3.1系统前端界面
学生用户用例图如图3-1所示。
图3-1学生用户用例图
图3-2商家用户用例图
图3-3管理员用例图
本章通过对鲜花商城小程序的业务需求进行认真分析的基础上,对鲜花商城小程序的功能进行了需求分析并给出了各个功能构件的用例图和用例描述,为后期系统的设计与实现打下坚实基础。
根据需求分析的结果,需要对系统进行功能结构设计。本章主要是在系统需求分析的基础上实现了鲜花商城小程序的功能性结构设计和后台数据库设计
本系统功能总体设计是基于Java技术+Mysql数据库+Tomcat服务器的方式设计,以Myeclipse10为开发工具,并运用Photoshop CS6技术美化网页,辅之以CSS技术。本系统使用的角色主要有系统管理员和普通用户。
系统功能结构图如下所示。
根据系统的总体结构图对本系统的功能进行了详细设计,下面以一些典型的具体功能为例进行详细的描述。
4.2.1 系统登录设计
系统用户在使用系统的时候需要输入用户的账号和密码进行登录,当用户输入账号和密码以后点击登录,这时系统会自动的将用户所输入的信息和后台的数据库中存储的数据进行对比,如果用户输入的数据经过数据的验证是合法的,则用户可以登录系统。登录后的页面主要是由系统的主界面所构成,在这里用户可以对系统的各种功能根据自己的权限进行有效的操作。而对于自己权限不足的功能则不能够进行操作。如果用户输入的信息和后台的数据库对比后不一致,在该用户则无权对系统进行操作,系统会提示用户重新输入账号和密码,如果输入的次数达到一定时,系统则会自动退出。
如下图4-2所示为用户登录图。
图4-2用户登录图
4.2.2 商品浏览设计
用户登录系统前台可以进行商品浏览,用户可以查看商品的详细信息和选择相应的商品类别进行该类别下的商品查看,用户还可以通过商品名称的关键字进行搜索。
如下图4-3所示为商品浏览活动图。
图4-3商品浏览活动图
4.2.3 订单管理设计
用户购买鲜花后,填写收货地址、收货人、电话等信息,生成订单信息,管理员和商家用户可以审核订单,删除、修改订单,对订单信息进行相应的鲜花配送。
如下图4-4所示为订单管理活动图。
图4-4订单管理活动图
4.3.1数据库逻辑设计
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称。下面是整个SpringBoot鲜花商城小程序中主要的数据库表总E-R实体关系图。
图4-2 系统总E-R关系图
4.3.2数据库逻辑结构设计
在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本鲜花商城的主要的数据库表如下:
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 默认判断 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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]用于产品规格描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | flower_mall_id | int | 10 | 0 | N | Y | 鲜花商场ID | |
2 | merchant_users | int | 10 | 0 | Y | N | 0 | 商家用户 |
3 | merchant_name | varchar | 64 | 0 | Y | N | 商家姓名 | |
4 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
5 | kind_reminder | varchar | 64 | 0 | Y | N | 温馨提示 | |
6 | flower_specifications | varchar | 64 | 0 | Y | N | 鲜花规格 | |
7 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
10 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
11 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
12 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
13 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
14 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
15 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
16 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
17 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
18 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
19 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
20 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
21 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
22 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
23 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 添加人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | merchant_users_id | int | 10 | 0 | N | Y | 商家用户ID | |
2 | merchant_name | varchar | 64 | 0 | Y | N | 商家姓名 | |
3 | mobile_phone_number | varchar | 16 | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | online_communication_id | int | 10 | 0 | N | Y | 在线交流ID | |
2 | registered_users | int | 10 | 0 | Y | N | 0 | 注册用户 |
3 | submission_time | datetime | 19 | 0 | Y | N | 提交时间 | |
4 | content_type | varchar | 64 | 0 | Y | N | 内容类型 | |
5 | consultation_and_communication | text | 65535 | 0 | Y | N | 咨询交流 | |
6 | merchant_users | int | 10 | 0 | Y | N | 0 | 商家用户 |
7 | reply_content | text | 65535 | 0 | Y | N | 回复内容 | |
8 | reply_time | varchar | 64 | 0 | Y | N | 回复时间 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | refund_information_id | int | 10 | 0 | N | Y | 退款信息ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | flower_name | varchar | 64 | 0 | Y | N | 鲜花名称 | |
4 | flower_classification | varchar | 64 | 0 | Y | N | 鲜花分类 | |
5 | purchase_time | datetime | 19 | 0 | Y | N | 购买时间 | |
6 | registered_users | int | 10 | 0 | Y | N | 0 | 注册用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
9 | refund_time | datetime | 19 | 0 | Y | N | 退款时间 | |
10 | reason_for_refund | text | 65535 | 0 | Y | N | 退款原因 | |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_users_id | int | 10 | 0 | N | Y | 注册用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | mobile_phone_number | varchar | 16 | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
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 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
本章在前述业务流程的基础上对系统的功能进行了详细设计,并给出了部分功能的活动图,同时根据系统数据存储的要求对系统的数据库进行了详细的逻辑设计和物理设计,为系统的具体实现打下坚实的基础。
5.1登录模块
本系统主要的用户有系统管理员、用户,一个系统最基本的功能就是登录功能,本系统可以进行系统登录的角色有学生用户、商家用户、管理员,用户对应前台登录界面,管理员对应后台登录界面,首先进入登录页,输入用户名和密码,然后提交至服务端进行数据库数据验证,通过JavaEE逻辑代码判断数据库是否存在用户输入的这一个记录,如果存在,则判断用户身份,如果是用户,则进入用户前台,如果是管理员用户,则进入系统主页,并把用户对象存放在session中,如果不存在这样一条记录,则返回登录界面。
登录界面如下所示。
登录代码为:
/**
* 登录
* @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.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
5.2鲜花商城模块
鲜花商城:用户可以点击“鲜花商城”,查看鲜花信息,点赞、收藏和评论。如下图所示为鲜花商城界面。
新闻资讯:用户可以点击其中一条新闻资讯查看,可以点赞、收藏和评论。
如下图所示为新闻资讯的部分界面。
图5-3新闻资讯界面
我的:用户可以点击“我的”,其中包含了退款信息、在线交流、订单配送等具体信息,用户可以审核通过学生用户提交的退款信息、在线交流等信息。
如下图所示为我的的部分界面。
5.5系统用户管理模块
过去传统的手工登记管理系统人员信息很不方便,也很容易造成数据出错,所以本系统需要一个可以管理登记人员信息的功能,管理员登入系统,可以添加新的管理员用户,删除现有的管理员,可以对系统用户信息进行维护管理。
如下图所示为系统用户管理的部分界面。
5.6退款信息管理模块
退款信息管理:管理员可以查看退款信息列表和审核通过学生用户的退款申请。
如下图所示为退款信息管理界面。
5.7在线交流管理模块
在线交流管理:管理员可以查看在线交流列表和回复学生用户的交流帖子。如下图为在线交流管理界面。
5.8系统管理模块
系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。如下图所示。
图5-8系统管理界面
5.8本章小结
在本章中主要对鲜花商城小程序的功能实现进行了效果展示,该系统的主要功能有注册登录、退款信息管理、在线交流管理、系统用户管理、系统管理等基本功能。
6.1测试概述
该系统能够完成鲜花信息浏览、鲜花购买等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制,符合系统可维护性,由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,系统可以对系统数据及一些简单的功能进行独立的维护及调整;符合系统开放性要求,该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接。
6.2测试配置
(1)测试环境
系统一旦开发完成以后就要对系统进行测试,在本测试过程中对系统的运行环境平台环境如表6-1所示.
表6-1 系统测试环境
环 境 | 配 置 | 备 注 |
Web服务器(硬件) | 联想 CPU:2.0*2 内存:8G 硬盘:300GB | 100/1000M局域网卡 |
数据库服务器(硬件) | 联想 CPU:2.0*2 内存:16G 硬盘:500GB | 100/1000M局域网卡 |
操作系统(软件) | Windows XP或Windows 7及以上操作系统 | |
Web服务器(软件) | JDK 7.0 Tomcat 8.0 | |
数据库服务器(软件) | SQL Server 2008 数据库 | |
客户机若干 | 联想家用电脑常规配置 | 满足基本的网络运行条件即可 |
(2)测试工具
在对本鲜花商城小程序进行功能测试时采用了当前流行的测试工具WinRunner;对系统进行性能测试时采用用户信息管理软件dRunner。这两款软件性能优越,操作简单,是进行测试的必备工具软件。
(3)测试流程
本系统在进行功能测试的时候采取黑盒测试的方法,在系统进行测试时根据第三章的系统需求分析进行测试,用以检验系统的功能是否能够满足用户的基本需求,测试流程如图6-1所示。
6.3 测试用例
(1)注册测试
表6-2注册测试用例
字段名称 | 描述 |
测试项 | 首页注册功能测试 |
输入数据 | 1、输入正确的邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮 2、输入错误的用户名或密码、邮箱、验证码等,单击“注册”按钮 3、不输入邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮 |
预计输出数据 | 1、用户能正确注册账号,成功插入数据库用户的账户资料,提示注册成功。 2、无法注册用户信息,注册失败。 3、无法注册用户信息,注册失败。 |
使用上述测试用例对前台首页注册界面进行测试,当在输入正确的邮箱、用户名、密码、确认密码、以及验证码之后,系统将弹出注册成功信息提示对话框。
使用上述测试用例对前台首页注册界面进行测试,当在输入错误的用户名或密码、邮箱、验证码之后,系统将提示错误。
使用上述测试用例对前台首页注册界面进行测试,当在不输入用户名、密码、邮箱、验证码之后,点击注册按钮。
(2)登录界面进行测试
表6-3登录测试用例
测试项 | 首页登录功能测试 |
输入数据 | 1、输入正确的用户名和密码,单击“登录”按钮 2、输入错误的用户名和密码,单击“登录”按钮 3、不输入用户名和密码,单击“登录”按钮 |
预计输出数据 | 1、数据库中存在的用户能正确登录,。结果弹出主界面。 2、错误的或者无效用户登录,登录系统失败。 3、输入用户名或密码信息为空,登录系统失败。 |
(3)鲜花信息管理进行测试
名称:用户管理测试目的:测试鲜花信息管理界面
内容:口令的输入,合法性检查,合理性检查,界面的显示控制。
下表描述了商品表中目前所存在的记录。
商品名 | 商品类别 | 商品价格 | 商品状态 |
A | A | 389 | 上架 |
B | B | 249 | 上架 |
C | C | 322 | 下架 |
D | D | 168 | 上架 |
添加时应注意事项:
管理员添加鲜花时必须添加已存在的鲜花类别,若该鲜花不属于现有的所有类别,则应该先添加鲜花类别。
下表描述了添加鲜花进行测试的用例,主要是为了防止添加鲜花时出现异常和存在的漏洞。
输入 | 输出 | ||
商品名 | 商品价格 | 商品图片 | |
空 | 参数错误 | ||
空 | 参数错误 | ||
空 | 请选择上传图片 | ||
A | 1 | a.jpg | 添加成功 |
(4)购买鲜花测试
名称:购买鲜花测试目的:测试购买鲜花界面
内容:口令的输入,合法性检查,合理性检查,界面的显示控制。
下表描述了购买鲜花的测试用例,防止购买时出错。
表6-6购买鲜花测试用例
输入 | 输出 | ||
用户ID | 商品ID | 商品数量 | |
11 | 1 | 1 | 购买鲜花成功 |
22 | 鲜花 | 请填写鲜花数量 | |
33 | 鲜花 | a | 购买失败 |
用户购买鲜花时,首先判断商品数量是否小于库存,若超出库存数量,则提示鲜花数量不足。
通过对鲜花商城小程序的测试,测试结果表明本系统能够完全的完成之前对系统的的功能需求分析,并能够实现鲜花交易销售。同时,本系统良好的操作界面和菜单功能设计能够给操作者提供良好的视觉效果,具备了简单、美观的界面设计效果,达到了系统设计的目的。
经过这几个月的设计和开发,“Springboot鲜花商城小程序”已经完成了,其功能符合设计需求,能够完成用户的注册、鲜花购买、茶室预约等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。
在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。在用例的基础上分析顺序图和协作图,得到系统的所有对象,然后建立对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。有了这些基础,就可以将系统划分为小单元功能模块。
整个过程中,我必须认可UML统一建模语言,它让我很清晰的知道自己想做什么,想实现什么,对系统后面的代码编写起到决定性的帮助,同时经过本次系统的设计与实现,让我积累了很多经验,提高了编写程序的能力,为以后的学习和工作打下了坚实的基础。
由于时间有限,本系统还有待继续完善和改进,因此需要进一步进行分析和修改,以使其更加完善!
参考文献
[1] 李明,冯树栋,白宗文,等. 基于SpringBoot的成果需求匹配系统设计与实现 [J]. 延安大学学报(自然科学版), 2024, 43 (01): 90-95.
[2] 孙铁强,刘俊,于洪健,等. 基于SpringBoot框架的在线监测和专家系统的研究 [J]. 自动化应用, 2024, 65 (04): 15-16+19.
[3] 黄永芳,郭永刚,李峰. 基于SpringBoot的藏东南滑坡灾害管理系统设计与实现 [J]. 科学技术创新, 2023, (24): 100-103.
[4] 谢欣,赵家琪,杨卫明. 基于SpringBoot的中国传统节日推广平台设计与实现 [J]. 信息与电脑(理论版), 2023, 35 (19): 91-94.
[5] Wang J ,Yuan L . Development of Intelligent Flower Shop Management System Based on MIS [J]. Journal of Physics: Conference Series, 2018, 1069 (1): 012049-012049.
[6] 王语园,于明. 鲜花网络购物系统的设计与实现 [J]. 内蒙古科技与经济, 2017, (17): 70-71.
[7] 张海,高梦元. 浅析斗南鲜花零售信息管理系统的构建 [J]. 西部皮革, 2016, 38 (24): 142.
[8] 李超. 基于Java的在线鲜花定购系统的研究 [J]. 电脑编程技巧与维护, 2016, (15): 20-21.
[9] 杨柯. 基于.NET的鲜花礼品店管理系统 [J]. 民营科技, 2016, (06): 71.
[10] Robotics; New Robotics Findings from University of Oulu Outlined (A low-cost, computer-controlled robotic flower system for behavioral experiments) [J]. Journal of Robotics & Machine Learning, 2016,
[11] Erno K ,Juho L . A low-cost, computer-controlled robotic flower system for behavioral experiments. [J]. Ecology and evolution, 2016, 6 (8): 2594-600.
[12] 田艳,卢凤英. 在线鲜花销售系统 [J]. 信息与电脑(理论版), 2014, (16): 170-171.
[13] 孔德剑,李勇. 号码百事通下鲜花订购业务系统的设计与实现 [J]. 科技视界, 2013, (18): 32+14. DOI:10.19694/j.cnki.issn2095-2457.2013.18.019.
[14] 高宝芹. 网上鲜花系统的设计 [J]. 电子世界, 2013, (06): 108.
[15] 吕成文. 网络鲜花预售系统的分析与构建 [J]. 电子商务, 2012, (10): 20-21. DOI:10.14011/j.cnki.dzsw.2012.10.022.
[16] 谭超,李昕璐. 网上鲜花店管理系统 [J]. 信息通信, 2012, (03): 145.
[17] Chang S ,Ham S ,Suh D . ROHINI : A Robotic Flower System for Intuitive Smart Home Interface [J]. 제어로봇시스템학회 국제학술대회 논문집, 2010,
[18] 张大利,孙宏岭. 构建我国鲜花冷链物流系统 [J]. 物流科技, 2009, 32 (07): 110-112.
[19] 石慧. 基于web service的鲜花电子商务系统 [J]. 职业, 2008, (06): 117.
[20] 万继锋. 从“铺满鲜花的陷阱”说起——利用外资环境系统与审计作为 [J]. 江西审计与财务, 2002, (11): 13-14.
致 谢
大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。
我也曾经沮丧过,失落过,想放弃过,可是因为你们这不厌其烦的鼓励和支持才使得我坚持了下来,这里我要对我的老师和同学们说句“谢谢你们”。因为我们的知识是有限的,所以本文将不可避免的会出现一些错误和不足之处,还请老师指正。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~