springboot农产品商城-计算机毕业设计源码46732

  

随着社会经济的发展和人们消费观念的升级,农产品电商行业逐渐壮大。但传统的农产品销售模式存在信息不透明、中间环节复杂等问题,而微信小程序作为一种便捷的移动应用平台,为农产品商城的建设提供了新的可能性。通过微信小程序的设计与实现,可以实现农产品的在线展示、交易、信息及产品发布等功能,帮助农产品生产者与消费者之间建立便捷、直接的联系,提升农产品销售效率和用户购物体验。本文研究的农产品商城主要利用Java语言,通过springboot框架,采用MySQL数据库结合微信小程序进行开发,提供了一个便捷、全面、友好的农产品展示、获取、购买平台,满足了用户对于农产品购物服务的多样化需求。用户可以通过微信小程序快速轻松获取各种农产品信息,并对可对农产品进行溯源,参与不同形式的团购活动,方便快捷地购物支付。通过打通线上线下销售渠道,提高农产品的流通效率,让更多优质的农产品能够以更快速、更广泛的方式进入市场。

关键词:微信小程序;农产品商城;农产品购物;优质农产品;springboot

Abstract

With the development of social economy and the upgrading of people's consumption concepts, the agricultural product e-commerce industry is gradually growing. However, the traditional agricultural product sales model has problems such as information opacity and complex intermediate links. As a convenient mobile application platform, WeChat mini programs provide new possibilities for the construction of agricultural product malls. Through the design and implementation of WeChat mini programs, online display, trading, information, and product release of agricultural products can be achieved, helping to establish convenient and direct connections between agricultural producers and consumers, improving agricultural product sales efficiency and user shopping experience.The agricultural product mall studied in this article is mainly developed using Java language, the Springboot framework, MySQL database, and WeChat mini program. It provides a convenient, comprehensive, and friendly platform for displaying, obtaining, and purchasing agricultural products, meeting the diverse needs of users for agricultural product purchasing services. Users can quickly and easily obtain various agricultural product information through WeChat mini programs, trace the origin of agricultural products, participate in different forms of group buying activities, and conveniently and quickly shop and make payments. By opening up online and offline sales channels, we can improve the circulation efficiency of agricultural products and enable more high-quality agricultural products to enter the market in a faster and more extensive manner.

Keywords: WeChat mini program; Agricultural product mall; Agricultural product shopping; High quality agricultural products; Springboot

目录

  

Abstract

第1章 引  

1.1 研究背景与意义

1.2 国内外研究现状

1.3 主要研究内容

1.4 论文结构与章节安排

第2章 系统需求分析

2.1 系统可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 系统需求分析

2.2.1 功能需求分析

2.2.2 非功能性需求分析

2.3 系统用例分析

第3章 系统总体设计

3.1 系统功能模块设计

3.2 数据库设计

3.2.1 数据库概念结构设计

3.2.2 数据库逻辑结构设计

4章 关键模块的设计与实现

4.1 前台用户模块

4.1.1 登录界面

4.1.2 注册界面

4.1.3 首页界面

4.1.4 我的界面

4.2 后台管理模块

4.2.1 后台首页界面

4.2.2 公共管理界面

4.2.3 用户管理界面

4.2.4 资讯管理界面

4.2.5 商城管理界面

4.2.6 农产品信息界面

4.2.7 团购信息界面

第5章 系统测试

5.1 系统测试目的

5.2 系统测试用例

5.3 系统测试结果

第6章   

参考文献

结束语

第1章 引  

    1. 研究背景与意义

随着社会经济的不断发展,人们的消费观念也在不断升级,农产品电商行业逐渐成为一个蓬勃发展的领域。然而,传统的农产品销售模式存在诸多问题,比如信息不透明、中间环节复杂等。微信小程序作为一种便捷的移动应用平台,为解决这些问题提供了新的可能性。通过微信小程序的设计与实现,可以实现农产品的在线展示、交易、信息及产品发布等功能,从而帮助农产品生产者与消费者之间建立更加便捷、直接的联系,提升农产品销售效率和用户购物体验。

本文研究的农产品商城使用Java开发技术,采用springboot作为框架配合微信小程序平台,利用MySQL作为数据存储的技术选择,并说明了各个模块的功能和关系。使农产品商城具有操作简单、界面友好、数据安全、可移动、功能多样等特点,提供了一个便捷、全面、友好的农产品展示、获取、购买平台,满足了用户对于农产品购物服务的多样化需求。用户可以通过微信小程序快速轻松获取各种农产品信息,并对可对农产品进行溯源,参与不同形式的团购活动,方便快捷地购物支付。通过打通线上线下销售渠道,提高农产品的流通效率,让更多优质的农产品能够以更快速、更广泛的方式进入市场。同时有助于推动农产品电商领域的发展,促进农产品生产者与消费者之间的互动和合作。并且将为用户提供一个方便快捷的农产品购物平台,为管理员提供一个便捷高效的管理系统,有助于推动农产品产业数字化升级,促进农产品产销对接,促进农村经济发展和提高农民生活质量。

    1. 国内外研究现状

国内研究现状:在国内,随着互联网技术的发展,微信小程序作为一种新兴的应用形式受到了广泛关注。针对农产品行业,国内已经涌现了不少基于微信小程序的电商平台,其中包括了农产品商城。这些平台通过微信的巨大用户基础和便捷的特点,为消费者提供了便捷的购物渠道。一些典型的案例包括像是“某某农场”、“农乐园”等农产品商城小程序。这些平台提供了丰富多样的农产品,从新鲜水果到时令蔬菜,覆盖了消费者的多样需求。通过微信小程序,消费者可以直接在线选购农产品,无需额外下载其他应用,带来了便捷的购物体验。

此外,一些农产品商城还借助数据分析和智能推荐等技术,为用户提供个性化的购物服务。通过分析用户的购买记录和偏好,这些平台能够向用户推荐符合其口味和需求的产品,提高了购物的便利性和用户体验。

国外研究现状:在国外,基于微信小程序的农产品商城也逐渐兴起。尤其是在一些农业发达国家和地区,人们对于新鲜农产品的需求也很大。类似中国的情况,一些农产品商城利用微信小程序的便捷特点,为消费者提供了在线购物的平台。这些平台不仅提供了丰富多样的农产品选择,还注重用户体验和服务质量。一些商城采用了先进的物流系统,保证了农产品的及时配送,提高了消费者的满意度。

总的来说,国内外的研究现状表明,基于微信小程序的农产品商城已经取得了一定的成果,为促进农产品电子商务的发展提供了新的途径和思路。随着技术的不断进步和用户需求的不断变化,未来这一领域还有很大的发展空间,需要进一步研究和实践。

    1. 主要研究内容

基于微信小程序的农产品商城设计与实现,需要完成以下研究内容:

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。根据用户需求和市场趋势,农产品商城针对性地通过Java语言,使用SpringBoot后端开发框架,基于微信小程序平台,利用MySQL数据库实现系统来实现,以解决传农产品销售、交易、购物服务和管理中的存在的问题。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术。农产品商城的开发使用SpringBoot框架作为后端开发技术,同时采用微信小程序平台进行前端界面开发。根据实际需求选择MySQL数据库来进行搭建和配置,以满足系统对数据的存储和管理需求。对所选用的技术进行技术分析,确保其能够完成功能实现和系统的稳定运行。

(3)确定好系统使用的技术后,进行在线确认系统所划分的用户角色,并根据用户角色划分确定所要设计的功能模块。对于农产品商城的设计,可以划分为管理员和普通用户两个角色。管理员可以获取和管理所有用户和系统功能的详细数据信息,并根据需求进行处理和解决问题。而普通用户则可以通过微信小程序搜索和浏览农产品信息、优质农产品、网站公告、农产品资讯等信息,实现在线购买和支付农产品,提供团购和配送服务,并可管理自己的订单信息。通过系统的数据库实现数据的交互和共享,确保用户和管理员可以根据各自的需求进行操作和处理。

(4)系统的功能模块确认完成后,进行系统及界面的设计。根据不同角色的需求,设计相应的界面和操作方式,以提供用户友好的使用体验。同时,在设计过程中需要考虑系统的安全性和稳定性,确保用户的隐私和数据的安全。在设计完成后,通过测试来判断程序是否完善,进行功能和性能的验证。通过不同用户的操作和测试,找出系统可能存在的问题和漏洞,并进行修复和优化。当系统经过测试没有任何问题时,可以将系统上传并投入正式使用。

    1. 论文结构与章节安排

论文将分层次进行编排,除去论文摘要致谢文献参考部分,论文主要架构如下:

第一章:引言。主要介绍了课题研究的背景,研究意义、研究内容和论文结构与章节安排。

第二章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:关键模块的设计与实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。

第六章:结语。主要对系统的设计工作进行总结。

第2章 系统需求分析

农产品商城基于微信小程序,采用了Java技术和MySQL数据库作为设计工具,开发了功能完备、使用简单的前端应用程序,并建立、维护了一个数据完整、安全、稳定性强的后台数据库系统以实现农产品商城的开发和运行。SpringBoot具有简化配置、内嵌Web服务器、自动化构建等优点,可以使开发过程更加简单且易于维护,让系统更加稳定和高效。Java作为一种常用的编程语言,具有广泛的应用领域和成熟的开发生态系统。它提供了丰富的库和工具,使开发人员能够轻松构建各种功能模块。而MySQL作为一种关系型数据库管理系统,具有数据完整性高、稳定性好的特点,适合处理农产品商城的数据存储和管理需求。因此技术方面是可行的。

      1. 经济可行性分析

在开发基于微信小程序的农产品商城中所使用的开发软件像IDEA开发工具、Tomcat服务器、MySQL数据库、Photoshop图片处理软件微信开发者工具等,这些都是开源免费的,开发工具都能够从网上都可以直接下载这些环境在学校都进行了系统的学习,能够由开发者自己独立完成开发无需购买其他软件或端口等,Java技术具备广泛应用和丰富的资源库,开发者可以利用这些资源来实现所需的功能,也无需要额外花费因此在经济方面是可行的。

      1. 操作可行性分析

基于微信小程序的农产品商城设计完成后,其可操作性得到了显著提升,管理员可以轻松访问系统,快速管理各种数据信息,而用户通过微信小程序可以轻松访问系统界面,通过界面导航菜单,快速查看各个功能模块,满足用户的信息需求。此外,系统的操作也不再需要专业人员,操作人员只需要具备基本的电脑操作知识,就可以轻松完成各个功能模块的操作管理。所以,系统具有很高的可操作性,通过使用界面窗口,能够轻松地让用户进行登录。只需要掌握基础的电脑操作技能,就能够满足用户的需求。因此,操作可行性也没有问题。

    1. 系统需求分析

在开发研究之前,必须仔细分析系统的需求,并且进行全面的市场调研,以便确定使用者的功能需求,以便更好地定位整个系统的开发方向。在此,我们还需要对系统的性能、业务流程以及数据等方面进行深入的分析,以便基于微信小程序的农产品商城的界面简洁易懂,功能完善。

      1. 功能需求分析

通过基于微信小程序的农产品商城的需求分析该系统主要分为普通用户和管理员两大功能模块。具体如下:

  1. 普通用户模块:
  • 注册登录:游客可以通成为过普通用户,使用账号密码可进行登录,使用系统功能。
  • 首页:普通用户登录系统后,首先进入首页,可查看轮播图、农产品信息、优质农产品、网站公告、农产品资讯等信息详情;可搜索和浏览农产品信息、优质农产品;可将农产品加入团购;可将优质农产品进行加入购物车和立即购买操作;并可收藏农产品信息、优质农产品、农产品资讯等信息。
  • 购物车:普通用户点击“购物车”可查看所有加入购物车的产品信息,进行增改删查操作,点击可查看详情,并可选择性进行购买操作。
  • 农产品资讯:普通用户点击“农产品资讯”可查看管理员发布的所有农产品资讯信息,支持文章搜索和热门文章推荐,点击可查看详情,进行点赞、收藏和评论。
  • 我的:可对基本信息、收货地址、收藏、订单、购物车、团购信息、订单配送等信息进行管控和查看其信息详情。例如,可在基本信息中修改资料和修改密码;可添加自己的收货地址;可查看和删除自己的收藏信息,并可管理和支付优质农产品订单;可管理自己加入购物车的产品信息,客人选择性进行购买;可确认团购信息审核状态;可签收订单配送信息。
  1. 管理员:
  • 登录:管理员账号密码由系统生成,可使用账号密码可进行登录,使用系统功能,并可对个人信息和密码进行管理。
  • 主页:管理员可在主页查看商品销售金额统计、商品销售数量统计等信息数据分析图表。
  • 公共管理:管理员点击“公共管理”可对首页的轮播图和网站公告进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。
  • 用户管理:管理员点击“用户管理”可对普通用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。
  • 资讯管理:管理员点击“资讯管理”可对农产品资讯和新闻列表进行管理,进行增删改查操作,农产品资讯支持标题、标签、分类搜索,可点击查看详情和查看评论;新闻列表支持频道名称搜索,可点击查看详情。
  • 商城管理:管理员点击“商城管理”可对优质农产品、分类列表、订单列表、订单配送等信息进行管理。

点击“优质农产品”,可查看所有优质农产品信息,进行增删改查操作,支持标题、分类、农产品编号、农产品溯源搜索,可点击详情进行查看和查看评论;

点击“分类列表”,可查看所有分类信息,进行增删改查操作,支持分类搜索,可点击详情进行查看;

点击“订单列表”,可查看所有订单信息,进行查询和删除操作,支持订单号、商品名称、联系人姓名、状态搜索,可点击详情进行查看,和点击进行配送操作;

点击“订单配送”,可查看所有订单配送信息,进行查询和删除操作,支持配送状态、签收状态搜索,可点击详情进行查看,可修改签收状态

  • 商品类型:管理员点击“商品类型”可对商品分类等信息进行管理,进行增删改查操作,支持商品分类搜索,可点击详情进行查看。
  • 农产品信息:管理员点击“农产品信息”可对农产品信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜索,可点击详情进行查看。
  • 团购信息:管理员点击“团购信息”可对团购信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜素,可点击详情进行查看,可审核团购信息。
      1. 非功能性需求分析

基于微信小程序的农产品商城的非功能性需求比如基于微信小程序的农产品商城的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

表2.1 基于微信小程序的农产品商城非功能需求表

安全性

主要指基于微信小程序的农产品商城数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于微信小程序的农产品商城能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于微信小程序的农产品商城占据市场的必要条件,所以性能最好要佳才好。

可扩展性

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

易用性

用户只要跟着基于微信小程序的农产品商城的页面展示内容进行操作,就可以了。

可维护性

基于微信小程序的农产品商城开发的可维护性是非常重要的,经过测试,可维护性没有问题

    1. 系统用例分析

基于微信小程序的农产品商城用户角色用例图如图2.1所示:

图2.1用户角色用例图

基于微信小程序的农产品商城中管理员用例图如图2.2所示:

图2.3 管理员用例图

第3章 系统总体设计

  • 2 章
    1. 系统功能模块设计

系功能模块分成了管理员用户两个模块,每个模块登录进去对应相应的功能,具体的功能模块图如图3.1所示。

图3.1 基于微信小程序的农产品商城功能模块图

    1. 数据库设计

数据库的设计承载者系统的各种数据,在建立数据库的时候,主要是数据库模型的设计以及各个数据库表的设计两部分。

      1. 数据库概念结构设计

下面是整个基于微信小程序的农产品商城中主要的数据库表总E-R实体关系图。

图3.2 基于微信小程序的农产品商城总E-R关系图

      1. 数据库逻辑结构设计

通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:

表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

用户编号:

表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

默认判断

表agricultural_product_information (农产品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

agricultural_product_information_id

int

10

0

N

Y

农产品信息ID

2

product_number

varchar

64

0

Y

N

商品编号

3

product_name

varchar

64

0

Y

N

商品名称

4

product_type

varchar

64

0

Y

N

商品类型

5

commodity_price

int

10

0

Y

N

0

商品价格

6

product_images

varchar

255

0

Y

N

商品图片

7

product_description

text

65535

0

Y

N

商品简述

8

product_traceability

longtext

2147483647

0

Y

N

商品溯源

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表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:

表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

更新时间:

表group_buying_information (团购信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_buying_information_id

int

10

0

N

Y

团购信息ID

2

product_number

varchar

64

0

Y

N

商品编号

3

product_name

varchar

64

0

Y

N

商品名称

4

commodity_price

int

10

0

Y

N

0

商品价格

5

product_traceability

longtext

2147483647

0

Y

N

商品溯源

6

group_buying_users

int

10

0

Y

N

0

团购用户

7

group_purchase_quantity

varchar

64

0

Y

N

团购数量

8

group_buying_time

datetime

19

0

Y

N

团购时间

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表high_quality_agricultural_products (优质农产品)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

high_quality_agricultural_products_id

int

10

0

N

Y

优质农产品ID

2

agricultural_product_number

varchar

64

0

Y

N

农产品编号

3

agricultural_product_traceability

longtext

2147483647

0

Y

N

农产品溯源

4

hits

int

10

0

N

N

0

点击数

5

praise_len

int

10

0

N

N

0

点赞数

6

cart_title

varchar

125

0

Y

N

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

7

cart_img

text

65535

0

Y

N

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

8

cart_description

varchar

255

0

Y

N

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

9

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

10

cart_price

double

8

2

N

N

0.00

卖价:[1]

11

cart_inventory

int

10

0

N

N

0

商品库存

12

cart_type

varchar

64

0

N

N

未分类

商品分类:

13

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

14

cart_img_1

text

65535

0

Y

N

主图1:

15

cart_img_2

text

65535

0

Y

N

主图2:

16

cart_img_3

text

65535

0

Y

N

主图3:

17

cart_img_4

text

65535

0

Y

N

主图4:

18

cart_img_5

text

65535

0

Y

N

主图5:

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

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

更新时间

表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已取消

表product_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_type_id

int

10

0

N

Y

商品类型ID

2

product_classification

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

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_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

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

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

4章 关键模块的设计与实现

  • 3 章
    1. 前台用户模块
      1. 登录界面

在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。

图4.1 登录界面图

登录代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostM系统ing("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, "账号或密码不正确");

        }

    }

      1. 注册界面

当用户想要查询、管理相关信息,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其主界面展示如下图4.2所示。

图4.2 注册界面图

注册代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostM系统ing("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);

}  

      1. 首页界面

普通用户登录系统后,首先进入首页,可查看轮播图、农产品信息、优质农产品、网站公告、农产品资讯等信息详情;可搜索和浏览农产品信息、优质农产品;可将农产品加入团购;可将优质农产品进行加入购物车和立即购买操作;并可收藏农产品信息、优质农产品、农产品资讯等信息。

首页主界面如下图所示。

图4.3 首页主界面图

例如,首页农产品信息详情界面如下图所示。

图4.4 首页农产品信息详情界面图

例如,首页优质农产品详情界面如下图所示。

图4.5 首页优质农产品界面图

      1. 我的界面

可对基本信息、收货地址、收藏、订单、购物车、团购信息、订单配送等信息进行管控和查看其信息详情。例如,可在基本信息中修改资料和修改密码;可添加自己的收货地址;可查看和删除自己的收藏信息,并可管理和支付优质农产品订单;可管理自己加入购物车的产品信息,客人选择性进行购买;可确认团购信息审核状态;可签收订单配送信息。

我的主界面如下图所示。

图4.6 我的主界面图

我的订单界面如下图所示。

图4.7 我的订单界面图

我的团购信息界面如下图所示。

图4.8 我的团购信息界面图

    1. 后台管理模块
      1. 后台首页界面

管理员可在主页查看商品销售金额统计、商品销售数量统计等信息数据分析图表。界面如下图所示。

图4.9后台首页界面图

      1. 公共管理界面

管理员点击“公共管理”可对首页的轮播图和网站公告进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。界面如下图所示。

图4.10公共管理界面图

      1. 用户管理界面

管理员点击“用户管理”可对普通用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。界面如下图所示。

图4.11用户管理界面图

      1. 资讯管理界面

管理员点击“资讯管理”可对农产品资讯和新闻列表进行管理,进行增删改查操作,农产品资讯支持标题、标签、分类搜索,可点击查看详情和查看评论;新闻列表支持频道名称搜索,可点击查看详情。界面如下图所示。

图4.12资讯管理界面图

      1. 商城管理界面

管理员点击“商城管理”可对优质农产品、分类列表、订单列表、订单配送等信息进行管理。

点击“优质农产品”,可查看所有优质农产品信息,进行增删改查操作,支持标题、分类、农产品编号、农产品溯源搜索,可点击详情进行查看和查看评论;

点击“分类列表”,可查看所有分类信息,进行增删改查操作,支持分类搜索,可点击详情进行查看;

点击“订单列表”,可查看所有订单信息,进行查询和删除操作,支持订单号、商品名称、联系人姓名、状态搜索,可点击详情进行查看,和点击进行配送操作;

点击“订单配送”,可查看所有订单配送信息,进行查询和删除操作,支持配送状态、签收状态搜索,可点击详情进行查看,可修改签收状态。

例如,商城管理优质农产品界面如下图所示。

图4.13商城管理优质农产品界面图

例如,商城管理订单列表界面如下图所示。

图4.14 商城管理订单列表界面图

      1. 农产品信息界面

管理员点击“农产品信息”可对农产品信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜索,可点击详情进行查看。界面如下图所示。

图4.15 农产品信息界面图

      1. 团购信息界面

管理员点击“团购信息”可对团购信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜素,可点击详情进行查看,可审核团购信息。界面如下图所示。

图4.16 团购信息详情界面图

  1. 系统测试
  • 4 章
    1. 系统测试目的

测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。

通过前面章节的介绍,我们可以看到基于微信小程序的农产品商城已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。

    1. 系统测试用例

(1)登录测试 

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

表6-1 登录测试用例

测试用例编号

YL_01

测试用例名称

系统使用者登录

测试用例描述

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

系统入口

浏览器

步骤

预期结果

实际结果

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

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

预期结果

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

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

预期结果

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

提示“请输入完整”

预期结果

(2)注册测试 

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

表6-2 注册测试用例

测试用例编号

YL_02

测试用例名称

系统用户注册账号

测试用例描述

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

系统入口

浏览器

步骤

预期结果

实际结果

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

提示“注册成功” 

预期结果

输入系统已存在的用户名

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

预期结果

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

提示“请输入完整”

预期结果

(3)添加农产品资讯测试 

添加农产品资讯测试用例如下表所示。

表6-3 添加农产品资讯测试用例

测试用例编号

YL_04

测试用例名称

系统管理员进行添加农产品资讯

测试用例描述

使用者输入农产品资讯相关信息,例如标题、内容等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的农产品资讯相关信息

提示“添加成功”,并进入系统

预期结果

不输入的农产品资讯运动某一项内容信息

提示“请输入完整”

预期结果

(4)添加优质农产品测试 

添加优质农产品测试用例如下表所示。

表6-4 添加优质农产品测试用例

测试用例编号

YL_04

测试用例名称

系统管理员进行添加优质农产品

测试用例描述

使用者输入优质农产品相关信息,例如资料名称、资料类型等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的优质农产品相关信息

提示“添加成功”,并进入系统

预期结果

不输入的优质农产品某一项内容信息

提示“请输入完整”

预期结果

(4)添加农产品信息测试 

添加农产品信息测试用例如下表所示。

表6-4 添加农产品信息测试用例

测试用例编号

YL_04

测试用例名称

系统管理员进行添加农产品信息

测试用例描述

使用者输入农产品信息相关信息,例如资料名称、资料类型等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的农产品信息相关信息

提示“添加成功”,并进入系统

预期结果

不输入的农产品信息某一项内容信息

提示“请输入完整”

预期结果

    1. 系统测试结果

通过编写基于微信小程序的农产品商城的测试用例,已经检测完毕用户的用户登录、注册、添加农产品资讯、添加优质农产品、添加农产品信息等测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。

  1.   

本文利用SpringBoot开源、基于微信小程序配合MySQL数据库技术,通过对农产品销售、购物、交易需求的分析,完成了一个农产品商城。经过调试,系统基本可以满足一个农产品商城的业务需求。系统界面简洁美观,易于操作,并具有自己的特色。

然而,由于时间紧迫和缺乏系统开发经验,以及仅依靠少数问卷调查方式,本系统仍存在一些缺陷和不足之处。其中包括以下问题:

数据输入格式未完全检验:系统并未对所有数据输入进行格式校验,因此难以确保数据的准确性。可能会存在一些不符合规则的数据通过检验。

系统功能不够完善:目前系统提供的在线功能还不够丰富多彩,有待进一步扩展和完善。

此外,本系统还存在一些未解决的漏洞,无法完全避免在实际应用情境中出现错误。但相信通过进一步的改进和完善,可以调试出真正符合实际需求的农产品商城。

在农产品商城设计和开发过程中需要继续努力,解决现有的缺陷和不足,提升系统的稳定性、可靠性和功能性。通过持续的改进和完善,可以使农产品商城真正符合用户的实际需求,并为用户提供更好的使用体验。

参考文献

[1]李卓,王珂,姜丽媛.“互联网+”农业视角下的电商助农小程序商城研究——以“稷原丰村”微信小程序为例[J].商场现代化,2024,(07):24-26.DOI:10.14013/j.cnki.scxdh.2024.07.002.

[2]晁琼,焦博妮,齐琳,等.基于微信小程序的“指上农庄”农产品交易平台设计与实现[J].电脑知识与技术,2023,19(29):40-42.DOI:10.14004/j.cnki.ckt.2023.1512.

[3]覃琼花,徐百宁.基于微信小程序的农产品营销系统设计和实现[J].无线互联科技,2023,20(18):67-70.

[4]唐双林.基于Vue和SpringBoot架构的智能推荐农产品团购销售系统[D].重庆三峡学院,2023.DOI:10.27883/d.cnki.gcqsx.2023.000390.

[5]刘明欣,罗雅过.基于微信小程序的“农百汇”系统设计[J].信息与电脑(理论版),2023,35(01):26-29.

[6]黄岐桂,莫靖聪.互联网+背景下的农产品分销平台研究——以“惠农优果”微信小程序为例[J].中国市场,2022,(25):183-186.DOI:10.13939/j.cnki.zgsc.2022.25.183.

[7]Shaoying W ,Shuo Y ,Fen W .Construction of an Online Shopping Platform Based on DApp[J].International Journal of Distributed Systems and Technologies (IJDST),2022,13(4):1-12.

[8]Anthony F .Transnational Flow of Chinese and UK Fashion Discourse: Analyses of Digital Platforms and Online Shopping in China[J].Fashion Theory,2021,25(7):917-930.

[9]李坤艳,黄克斌,戴扬威,等.基于微信小程序的农产品电子商务平台开发[J].农村经济与科技,2021,32(19):174-176.

[10]李常宝.基于微信小程序的电子商城的设计与开发[J].吕梁教育学院学报,2021,38(03):133-136.

[11]梁紫依,陈玉洁,温家坤,等.微信小程序上农产品购买行为研究[J].现代商业,2021,(25):6-8.DOI:10.14097/j.cnki.5392/2021.25.002.

[12]胡杨林.基于微服务和小程序的电子商城设计与实现[D].西北大学,2021.DOI:10.27405/d.cnki.gxbdu.2021.000827.

[13]曹艳琴.基于微信公众平台的美妆商城小程序的设计与实现[J].信息与电脑(理论版),2021,33(05):121-123.

[14]丁嘉懿,陈志民,尹卓轩,等.基于微信小程序的农产品可溯源电商平台开发[J].南方农业,2021,15(04):71-74.DOI:10.19415/j.cnki.1673-890x.2021.04.017.

[15]陆建军.基于微信小程序的精准扶贫电商平台设计[J].现代信息科技,2020,4(14):87-89.DOI:10.19850/j.cnki.2096-4706.2020.14.026.

[16]肖飞.基于微信开发平台的农业电子商务平台的设计与实现[D].山东理工大学,2020.DOI:10.27276/d.cnki.gsdgc.2020.000346.

[17]傅伟,涂刚,张贤龙.基于微信小程序的电子商城设计与实现[J].电脑编程技巧与维护,2020,(03):60-62.DOI:10.16184/j.cnki.comprg.2020.03.022.

[18]钱丽丹,刘志文.基于微信小程序的农产品分享系统的设计与开发[J].南方农机,2020,51(05):23-24.

[19]郭学超.基于微信小程序的土特产商城开发[J].安徽电子信息职业技术学院学报,2019,18(06):6-11.

[20]洪运维,黄江涛,廖剑平.基于微信小程序的精准扶贫电商平台智慧管理[J].广西农学报,2019,34(06):45-49.

结束语

至此论文结束,感谢您的阅读。在此我要特别的感谢我的导师,虽然我在实习期间很忙,论文撰写的时候经常是停停改改,但是我的导师依旧十分的负责,时不时的询问我的任务进展情况,跟进我的论文进度,在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识和经验,这些知识和经验令我受益匪浅。同时我也从导师身上看到了自己的不足,不论是在技术层面上还是在对待工作的态度上,导师如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于springboot方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

九.核心动画 - 显式动画

引言 本篇博客紧接着上一篇的隐式动画开始介绍显式动画。隐式动画是创建动态页面的一种简单的直接的方式&#xff0c;也是UIKit的动画机制基础。但是它并不能涵盖所有的动画类型。 显式动画 接下来我们就来研究另外一种动画显式动画&#xff0c;它能够对一些属性做指定的动画…

常用知识碎片 Vue3 ref和reactive (内含其他常用知识)

目录 ref和reactive ref reactive 总结&#xff1a; setup语法糖 语法糖是啥&#xff1f; Vue3 setup语法糖 Vue3 不使用setup语法糖示例&#xff1a; Vue3 使用setup语法糖示例&#xff1a; ref和eative主要区别 ref和reactive 在 Vue 3 中&#xff0c;ref 和 reac…

品牌渠道管控力度的平衡艺术

渠道管控力度要如何把握呢&#xff1f;是不是管控越严格就一定越好&#xff1f;例如&#xff0c;发现一次低价就处以高额罚款&#xff0c;发现一次窜货也重罚&#xff0c;其实处罚是对低价管控较为直接的一种方式&#xff0c;但并非处罚越重就一定能取得良好的管控效果。 比如品…

Java 中的 switch 语句:类型支持与限制

Java 中的 switch 语句&#xff1a;类型支持与限制 1、switch 语句支持的数据类型2、switch 语句不支持的数据类型3、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在 Java 中&#xff0c;switch 语句是一种用于多分支选择的控制结构…

如何使用FreeFileSync:一款免费且专业的数据备份与文件同步软件

数据的重要性不言而喻&#xff0c;因此&#xff0c;定期做数据备份已经是每一个人的基本工作习惯了。 FreeFileSync 是一款强大专业且免费开源的 文件夹对比/同步/备份 软件工具。FreeFileSync通过比较其内容&#xff0c;日期或文件大小上的一个或多个文件夹&#xff0c;然后根…

统信UOS桌面操作系统上删除系统升级后GRUB中的回滚条目与备份

原文链接&#xff1a;统信UOS删除升级后GRUB中的回滚条目与备份 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在统信UOS桌面操作系统上删除系统升级后GRUB中的回滚条目与备份的文章。在进行系统升级后&#xff0c;GRUB引导菜单中可能会出现多个回滚条目和备份…

nginx正向代理、反向代理、负载均衡

nginx.conf nginx首要处理静态页面 反向代理 动态请求 全局模块 work processes 1; 设置成服务器内核数的两倍&#xff08;一般不不超过8个超过8个反而会降低性能一般4个 1-2个也可以&#xff09; netstat -antp | grep 80 查端口号 *1、events块&#xff1a;* 配置影响ngi…

aws sap认证考试如何轻松通过

如何高效备考AWS SAP (Solutions Architect Professional) 认证? AWS SAP认证是AWS认证体系中难度最高的认证之一,要通过这个考试确实需要下一番功夫。但通过合理规划和有效准备,你可以提高通过的几率。以下是一些建议: 评估起点 首先诚实地评估自己的AWS知识水平和实践经验。…

气膜滑冰馆:滑冰爱好者的最佳选择—轻空间

滑冰运动在全球范围内越来越受欢迎&#xff0c;然而&#xff0c;传统滑冰馆在建设和运营过程中往往面临高能耗和环境控制难题。幸运的是&#xff0c;采用气膜结构作为建筑外壳的气膜滑冰馆&#xff0c;正在为滑冰爱好者提供一种全新的、节能的解决方案。 1. 气膜结构&#xff1…

MES 功能模块

MES系统&#xff08;Manufacturing Execution System&#xff0c;生产执行系统&#xff09;是制造业企业的关键管理系统之一&#xff0c;它通过集成生产计划、工艺流程、物料管理和生产过程数据等&#xff0c;实现了对生产和制造过程的全面管理和监控。MES系统的功能模块主要包…

【线性表,线性表中的顺序表和链表】

目录 1、线性表的定义和基本操作1.1、线性表的定义1.2、线性表的基本操作 2、顺序表和链表的比较2.1、顺序表2.1.1、顺序表的定义和特点2.1.2、顺序表的实现&#xff08;1&#xff09;顺序表的静态分配&#xff1a;&#xff08;2&#xff09;顺序表的动态分配 2.1.3、顺序表的基…

昇思25天学习打卡营第17天|基于MobileNetv2的垃圾分类

今天学习的内容是利用视觉图像技术&#xff0c;来实现垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 本章节主要包括8部分内容&#xff1a; 1、实验目的 1、了解熟悉垃圾分类应用…

气膜滑雪馆如何实现恒温—轻空间

随着滑雪运动的普及和爱好者数量的增加&#xff0c;滑雪馆的建设需求也不断提升。然而&#xff0c;如何在滑雪馆内保持恒温&#xff0c;提供一个稳定舒适的滑雪环境&#xff0c;成为了建设过程中需要解决的关键问题。气膜滑雪馆凭借其独特的结构和技术优势&#xff0c;成功地实…

MQTT是什么,物联网

写文思路&#xff1a; 以下从几个方面介绍MQTT&#xff0c;包括&#xff1a;MQTT是什么&#xff0c;MQTT和webSocket的结合&#xff0c;以及使用场景&#xff0c; 一、MQTT是什么 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息…

如何分辨AI生成的内容?AI生成内容检测工具对比实验

检测人工智能生成的文本对各个领域的组织都提出了挑战&#xff0c;包括学术界和新闻界等。生成式AI与大语言模型根据短描述来进行内容生成的能力&#xff0c;产生了一个问题&#xff1a;这篇文章/内容/作业/图像到底是由人类创作的&#xff0c;还是AI创作的&#xff1f;虽然 LL…

LabVIEW实现LED显示屏视觉检测

为了满足LED显示屏在生产过程中的严格质量检测需求&#xff0c;引入自动化检测系统是十分必要的。传统人工检测方式存在检测强度高、效率低、准确性差等问题&#xff0c;自动化检测系统则能显著提高检测效率和准确性。视觉检测系统的构建主要包含硬件和软件两个部分。 视觉系统…

昇思25天学习打卡营第23天 | Pix2Pix实现图像转换

内容介绍&#xff1a; Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;该模型是由Phillip Isola等作者在2017年CVPR上提出的&#xff0c;可以实现语义/标签到真实图片、灰…

Python酷库之旅-第三方库Pandas(016)

目录 一、用法精讲 39、pandas.DataFrame.to_stata函数 39-1、语法 39-2、参数 39-3、功能 39-4、返回值 39-5、说明 39-6、用法 39-6-1、数据准备 39-6-2、代码示例 39-6-3、结果输出 40、pandas.read_stata函数 40-1、语法 40-2、参数 40-3、功能 40-4、返回…

nssm的下载和使用

nssm&#xff08;Non-Sucking Service Manager&#xff09;是一个用于在Windows系统上管理服务的工具。它允许你将.exe文件和.bat文件转换为Windows服务&#xff0c;并提供了一些功能来管理这些服务。 下载和安装 首先&#xff0c;你需要从nssm官方网站&#xff08;https://n…

【ARM】MDK安装ARM_compiler5无法打开安装程序

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 在客户安装了最新版本的MDK5.37及后续更新版本&#xff0c;但原工程使用ARM_Compiler_5.06进行编译和调试&#xff0c;需安装ARM_Compiler_5.06的编译器版本&#xff0c;但在解压缩的过程中后续无法打开ARM_Compiler…