基于 springboot vue农产品销售系统设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue  .net  php phython node.js    uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1500+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍  翰文编程-CSDN博客
文末下方有源码获取地址

第4章 系统设计

本章详细的介绍了本系统的总体设计以及系统数据库设计。

4.1 系统架构设计

本助农系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

图4-1 系统架构

4.2功能模块设计

农产品销售系统在设计与实施时,采取了模块性的设计理念,把相似的系统的功能整合到一个模组中,以增强内部的功能,减少各组件之间的联系,从而达到减少相互影响的目的。系统总体功能结构如图4-2所示。

图4-2 系统总体功能结构图

4.3系统数据库设计

4.3.1 数据库系统

本系统采用MySQL来进行数据库的管理。MySQL数据库具有体积小、速度快、成本低等优点。具备同时处理数千万条记录,实现大型数据库的高并发读写和高效读写需求。

4.3.2 数据库概念设计

概念模型用于对信息世界进行建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合数据库管理系统的数据库模型。人们倾向于将现实世界抽象成信息世界,进而将信息世界转化为机器世界。这个过程包括将现实世界的目标抽象为独立于专业计算机软件和专业数据库管理系统的信息结构的数据模型,然后将该物理模型转换为适合电子计算机的数据库管理系统。事实上,数据模型充当了现实世界到机器世界的中间层。

4.3.3 概念模型设计

E-R图,也被称为实体-联系图 (Entity Relationship Diagram),是一种提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它由三个主要元素组成:实体、属性和联系。在系统中将 “用户、助农脱贫、农技学堂、订单、购物车、公告资讯”等作为实体,它们的局部E-R如图4-3所示。

图4-3局部E-R图

4.3.4物理逻辑设计

表4-1:助农脱贫评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

0

头像

nickname

varchar

200

用户名

content

longtext

0

评论内容

reply

longtext

0

回复内容

表4-2:农产品评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

0

头像

nickname

varchar

200

用户名

content

longtext

0

评论内容

reply

longtext

0

回复内容

表4-3:农技学堂评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

0

头像

nickname

varchar

200

用户名

content

longtext

0

评论内容

reply

longtext

0

回复内容

表4-4:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

表4-5:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

Date

表4-6:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

0

图片

type

varchar

200

类型

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4-7:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

Date

expiratedtime

timestamp

过期时间

Date

表4-8:系统简介

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

0

内容

picture1

longtext

0

图片1

picture2

longtext

0

图片2

picture3

longtext

0

图片3

表4-9:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

0

内容

picture1

longtext

0

图片1

picture2

longtext

0

图片2

picture3

longtext

0

图片3

表4-10:公告资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

title

varchar

200

标题

introduction

longtext

0

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

0

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

0

图片

content

longtext

0

内容

表4-11:助农脱贫

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

wenzhangbianhao

varchar

200

文章编号

wenzhangbiaoti

varchar

200

文章标题

wenzhangfenlei

varchar

200

文章分类

wenzhangzhaopian

longtext

0

文章照片

fabushijian

date

发布时间

wenzhangjianjie

longtext

0

文章简介

wenzhangxiangqing

longtext

0

文章详情

discussnum

int

评论数

0

storeupnum

int

收藏数

0

表4-12:农产品

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

chanpinbianhao

varchar

200

产品编号

chanpinmingcheng

varchar

200

产品名称

chanpinfenlei

varchar

200

产品分类

tupian

longtext

0

图片

faburiqi

date

发布日期

baozhiqi

varchar

200

保质期

shengchandi

varchar

200

生产地

guige

varchar

200

规格

chanpinxiangqing

longtext

0

产品详情

nonghuzhanghao

varchar

200

农户账号

nonghuxingming

varchar

200

农户姓名

onelimittimes

int

单限

alllimittimes

int

库存

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

discussnum

int

评论数

0

price

double

价格

vipprice

double

会员价

-1

storeupnum

int

收藏数

0

表4-13:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

xingbie

varchar

200

性别

yonghudianhua

varchar

200

用户电话

touxiang

longtext

0

头像

money

double

余额

0

vip

varchar

200

是否会员

表4-14:文章分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

wenzhangfenlei

varchar

200

文章分类

表4-15:产品分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

chanpinfenlei

varchar

200

产品分类

image

longtext

0

image

表4-16:购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

tablename

varchar

200

商品表名

zhunongshangpin

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

longtext

0

图片

buynumber

int

购买数量

price

double

单价

discountprice

double

会员价

nonghuzhanghao

varchar

200

商户名称

表4-17:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

zhunongshangpin

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

longtext

0

商品图片

buynumber

int

购买数量

price

double

价格

0

total

double

总价格

0

discountprice

double

折扣价格

0

discounttotal

double

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

logistics

longtext

0

物流

remark

varchar

200

备注

nonghuzhanghao

varchar

200

商户名称

sfsh

varchar

200

是否审核

shhf

longtext

0

审核回复

role

varchar

200

用户角色

表4-18:地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

userid

bigint

用户id

address

varchar

200

地址

name

varchar

200

收货人

phone

varchar

200

电话

isdefault

varchar

200

是否默认地址[是/否]

表4-19:农技学堂

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

kechengbiaoti

varchar

200

课程标题

kechengfenlei

varchar

200

课程分类

kechengzhaopian

longtext

0

课程照片

kechengshipin

longtext

0

课程视频

wendangziliao

longtext

0

文档资料

kechengjianjie

longtext

0

课程简介

kechengxiangqing

longtext

0

课程详情

discussnum

int

评论数

0

storeupnum

int

收藏数

0

表4-20:农商

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

nonghuzhanghao

varchar

200

农户账号

mima

varchar

200

密码

nonghuxingming

varchar

200

农户姓名

xingbie

varchar

200

性别

nonghudianhua

varchar

200

农户电话

touxiang

longtext

0

头像

money

double

余额

0

表4-21:公告资讯分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

Date

typename

varchar

200

分类名称

第5章 系统实现

本章主要展示了本系统的实现情况,包括管理员、农商和用户的实现情况。

5.1系统功能实现

5.1.1系统首页功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,通过导航条进入各功能进行详细操作。系统首页界面如图5-1所示:

图5-1 系统首页界面

在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:

图5-2系统注册页面

农产品:在农产品页面的输入栏中输入产品名称、价格进行查询,可以查看到农产品详细信息,如图5-3所示:

图5-3农产品详细页面

农技学堂:在农技学堂页面的输入栏中输入课程名称进行查询,可以查看到农技学堂详细信息,并根据需要进行下载、评论或收藏操作;农技学堂页面如图5-4所示:

图5-4农技学堂详细页面

5.1.2个人中心页面实现

个人中心:在个人中心页面可以对个人中心、修改密码、我的订单、我的地址、我的收藏等进行详细操作;如图5-5所示:

图5-5个人中心界面

5.2后台模块实现

在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-6所示。 

图5-6 后台登录界面

5.2.1管理员模块实现

管理员进入主页面,主要功能包括对农商管理、用户管理、产品分类管理、文章分类管理、农产品管理、助农脱贫管理、农技学堂管理、系统管理、订单管理、个人中心等进行操作,并且可以看到系统的详细报表。管理员主页面如图5-7所示:

图5-7 管理员主界面

该功能的具体实现过程如下:前端使用echarts组件,绘制出图表,然后调用后端的接口获取数据,接着再显示到页面之上。

关键代码如下:

  @RequestMapping("/value/{xColumnName}/{yColumnName}")

  public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {

      Map<String, Object> params = new HashMap<String, Object>();

      params.put("xColumn", xColumnName);

      params.put("yColumn", yColumnName);

      EntityWrapper<ZhunongshangpinEntity> ew = new EntityWrapper<ZhunongshangpinEntity>();

String tableName = request.getSession().getAttribute("tableName").toString();

if(tableName.equals("nonghu")) {

          ew.eq("nonghuzhanghao", (String)request.getSession().getAttribute("username"));

}

      List<Map<String, Object>> result = zhunongshangpinService.selectValue(params, ew);

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

      for(Map<String, Object> m : result) {

          for(String k : m.keySet()) {

              if(m.get(k) instanceof Date) {

                  m.put(k, sdf.format((Date)m.get(k)));

              }

          }

      }

      return R.ok().put("data", result);

  }

农商管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写农商管理表单。这些农商管理表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除农商信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便农商管理功能可以看到最新的信息或相应的操作反馈。如图5-8所示:

图5-8农商管理界面

文章分类功能在视图层(view层)进行交互,比如点击“添加或删除”按钮或填写文章分类表单。这些文章分类表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如修改或删除文章分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便文章分类功能可以看到最新的信息或相应的操作反馈。如图5-9所示:

图5-9文章分类界面

助农脱贫管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写助农脱贫管理表单。这些助农脱贫管理表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除助农脱贫信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便助农脱贫管理功能可以看到最新的信息或相应的操作反馈。如图5-10所示:

图5-10助农脱贫管理界面

大家点赞、收藏、关注、评论啦  其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翰文编程

你的鼓励 是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值