基于SpringBoot+Vue前后端分离的在线宠物商店详细设计实现(协同过滤算法)【原创】

news/2024/12/23 6:58:59/

一.系统设计背景与需求分析

设计背景

       在近年来,随着社会经济的飞速发展和人们生活水平的显著提升,养宠物已经成为了许多人日常生活中不可或缺的一部分。宠物不仅为人们带来了欢乐和陪伴,还成为了表达个性和生活态度的一种方式。随着养宠物的普及,宠物用品和服务的市场需求也呈现出了爆炸性的增长。在这样的市场背景下,开设一个名为“憨宝宝”的在线宠物商店,无疑是顺应了这一消费趋势,可以很好地满足广大宠物主人的需求。通过线上平台,我们能够为宠物主人提供一站式的购物体验,无论是宠物食品、玩具、服装还是其他护理用品,都可以在这里轻松找到,极大地方便了宠物主人的日常购物。目前市场上已有一些在线宠物商店,但我们的竞争优势在于提供一站式购物体验、个性化推荐和优质服务。

需求分析

        "憨宝宝"在线宠物商店,其技术架构结合了前端Vue.js框架和后端Spring Boot框架,并使用MySQL数据库确保数据的一致性和安全性。该系统为用户提供了丰富多样的功能,并根据不同的角色设定了相应的权限,以满足管理员、商家和用户的多样化需求。管理员角色拥有用户管理,封面管理,通知公告管理,宠物论坛管理,商铺管理,宠物商品管理。商家拥有管理我的商铺,我的商品,我的订单,论坛,库存分析,最近7天销量,最近30天销量。用户拥有商品查询,我的购物车,我的订单,系统通知,论坛交流,个人中心。

二.系统开发工具与环境搭建

1、系统设计开发工具

后端使用Java编程语言的Spring boot框架

项目架构:B/S架构

运行环境:win10/win11、jdk17

前端:

技术:框架Vue.js;UI库:ElementUI;

开发工具:Visual Studio Code;


后端:

技术:Java语言、mybatis plus、Spring boot框架;

开发工具:IDEA 2023.3.3版本;


数据库:

数据库:mysql5.7/8.0

数据库工具:Navicat12版本;


2、系统设计开发架构

“憨宝宝”在线宠物商城采用了前后端解耦的设计思路,旨在实现高度的模块化和灵活的可扩展性。后端架构方面,我们以Spring Boot框架为核心,构筑了一个稳定且性能卓越的Web服务层,确保商城系统的稳定运行。为了优化数据访问和交互效率,我们引入了Mybatis框架,与MySQL数据库实现了高效的数据交互,确保了数据处理的准确性和高效性。在前端开发上,我们充分利用了Vue框架的组件化开发优势,精心打造了用户友好的交互界面。这不仅提升了用户体验,还确保了商城系统的直观性和易用性。整个商城的架构设计和技术选型均严格遵循了学术规范和法律法规,为宠物爱好者提供了一个安全、便捷、高效的在线购物平台。

3.系统运行环境

  • Java运行环境:服务器安装Java17开发工具包,确保Spring Boot框架能够正常运行。JDK版本需与项目所依赖的版本相匹配。
  • 数据库管理系统:采用MySQL数据库管理系统,负责存储商城系统的所有数据,如商品信息、用户数据、订单记录等。确保数据的安全性和完整性。
  • 操作系统:支持主流的桌面操作系统Windows。
  • 浏览器:支持主流浏览器,Chrome。商城系统的前端页面需要在这些浏览器中正常显示和运行。

三、系统功能分析

系统分为三种角色:管理员,用户,商家;

-----------------------------------------------------------管理员------------------------------------------------

  1. 用户管理:管理员可以 添加、删除或修改用户账户信息。
  2. 封面管理: 管理员负责管理和更新网站的封面图片。
  3. 通知公告管理:管理员负责撰写、发布和维护网站上的通知和公告。以及确保所有用户都能够看到这些通知公告。
  4. 宠物论坛管理: 管理员负责监督宠物论坛的内容,审核帖子以及回复的内容,确保讨论的健康和积极性。
  5. 商铺管理: 对加入平台的商家进行审核和管理。
  6. 宠物商品管理: 管理平台上销售的宠物商品信息,定期检查商品描述和图片,确保它们符合网站的标准和用户的期待。

------------------------------------------------------------商家-------------------------------------------------

  1. 管理我的商铺: 更新商铺信息。
  2. 我的商品:商家可以管理店铺的商品,包括添加、编辑和删除商品信息,以确保商品的准确性和及时性。
  3. 我的订单:查看订单详情、处理订单状态、跟踪订单进展等。这有助于商家及时了解订单情况,提供更好的客户服务。
  4. 论坛:商家可以参与论坛讨论,与其他商家和用户交流经验、分享问题和获取帮助。
  5. 库存分析:商家还可以进行库存分析,通过对库存数据的分析,商家可以了解商品的供应情况、销售趋势等信息。有助于商家做出更准确的库存决策,避免库存积压或断货的情况发生。
  6. 最近7天销量: 查看近7天的销量报告。
  7. 最近30天销量: 查看近30天的销量报告。

------------------------------------------------------------用户-------------------------------------------------

  1. 商品查询: 轻松地搜索和浏览我们丰富的产品目录,以便快速找到他们想要购买的商品。这一功能支持关键字搜索条件,确保用户能够精准定位到所需商品。
  2. 我的购物车: 用户可以将心仪的商品暂存起来,方便他们在决定结算前进行比较和选择。购物车不仅会保存用户所选商品的详细信息,还会自动计算总价,让用户掌握购物预算。
  3. 我的订单:用户可以在这里查看所有已下单的商品状态,包括支付确认、发货进度以及物流追踪等。
  4. 系统通知: 确保用户能够及时接收到重要的更新和信息。
  5. 论坛交流: 用户不仅可以分享购物心得、评价商品,还可以与其他用户交流购物经验,甚至提出疑问或建议,共同打造一个互助互惠的社区环境。
  6. 个人中心: 用户可以在这里编辑个人资料,查看历史订单等。

四.数据库实现

数据字典实现设计

依据本系统概念模型实体关系,物理实现“憨宝宝”在线宠物商店数据库animalshop如下。

表3-1 用户表(as_appuser)

字段名

备注

数据类型

主键

是否为空

Id

用户主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Password

密码

varchar(1024)

-

YES

LoginTimePeriod

登录时间段

varchar(1024)

-

YES

Email

邮箱

varchar(1024)

-

YES

RoleType

角色

int

-

YES

Address

地址

varchar(1024)

-

YES

UserName

账号

varchar(1024)

-

YES

PhoneNumber

手机号码

varchar(1024)

-

YES

ImageUrls

头像

varchar(1024)

-

YES

Birth

出生年月

timestamp

-

YES

Money

余额

double(20,5)

-

YES

Name

名称

varchar(1024)

-

YES

IdCard

身份证

varchar(1024)

-

YES

表3-2 轮播图表(as_banner)

字段名

备注

数据类型

主键

是否为空

Id

封面主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

ImageUrls

封面

varchar(1024)

-

YES

Remark

备注

varchar(1024)

-

YES

Title

标题

varchar(1024)

-

YES

LinkUrl

跳转路径

varchar(1024)

-

YES

表3-3 话题评论表(as_comment)

字段名

备注

数据类型

主键

是否为空

Id

话题评论主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

TopicId

话题

int

-

YES

Content

评论内容

longtext

-

YES

NickName

昵称

varchar(512)

-

YES

HeadImage

头像

varchar(512)

-

YES

RootCommentId

根评论

int

-

YES

TargetUserId

回复用户

int

-

YES

SendUserId

发送用户

int

-

YES

表3-4 购物车表(as_buycard)

字段名

备注

数据类型

主键

是否为空

Id

购物车主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

GoodId

商品用品

int

-

YES

UserId

所属用户

int

-

YES

Qty

数量

double(20,5)

-

YES

ShopId

店铺

int

-

YES

表3-5 评论点赞记录表(as_commentlove)

字段名

备注

数据类型

主键

是否为空

Id

评论点赞记录主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

TopicId

话题

int

-

YES

CommentId

点赞评论

int

-

YES

UserId

点赞人

int

-

YES

表3-6 商品用品表(as_good)

字段名

备注

数据类型

主键

是否为空

Id

商品用品主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Name

商品用品名称

varchar(1024)

-

YES

Cover

封面

longtext

-

YES

ImageUrls

图片

varchar(1024)

-

YES

Content

详情介绍

longtext

-

YES

Unit

单位

varchar(1024)

-

YES

Price

价格

double(20,5)

-

YES

Stock

库存

double(20,5)

-

YES

IsPutaway

是否上架

tinyint(1)

-

YES

GoodTypeId

商品用品类型

int

-

YES

ShopId

店铺

int

-

YES

IsRecommand

是否推荐

tinyint(1)

-

YES

AuditStatus

审核状态

int

-

YES

IsCustom

是否服务

bit(1)

-

YES

表3-7 商品用品属性表(as_goodprops)

字段名

备注

数据类型

主键

是否为空

Id

商品用品属性主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

PropName

属性名称

varchar(1024)

-

YES

PropValue

属性值

varchar(1024)

-

YES

GoodId

商品用品

int

-

YES

表3-8 商品用品类型表(as_goodtype)

字段名

备注

数据类型

主键

是否为空

Id

商品用品类型主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Name

类型名称

varchar(1024)

-

YES

Code

类型编码

varchar(1024)

-

YES

表3-9 我的好友表(as_myfriend)

字段名

备注

数据类型

主键

是否为空

Id

我的好友主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

UserId

所属用户

int

-

YES

FriendUserId

好友

int

-

YES

IsDeFriend

是否拉黑

tinyint(1)

-

YES

表3-10 订单明细表(as_orderdetail)

字段名

备注

数据类型

主键

是否为空

Id

订单明细主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

GoodId

商品用品

int

-

YES

GoodName

商品用品名称

varchar(1024)

-

YES

GoodImageUrls

商品用品图片

longtext

-

YES

Price

单价

double(20,5)

-

YES

Number

数量

double(20,5)

-

YES

OrderInfoId

所属订单

int

-

YES

表3-11 订单表(as_orderinfo)

字段名

备注

数据类型

主键

是否为空

Id

订单主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Code

订单编号

varchar(1024)

-

YES

LinkName

联系人

varchar(1024)

-

YES

Phone

联系电话

varchar(1024)

-

YES

Address

地址

varchar(1024)

-

YES

BuyUserId

购买人

int

-

YES

Remark

备注

varchar(1024)

-

YES

LogisticsNo

物流单号

varchar(1024)

-

YES

OrderStatus

订单状态

int

-

YES

Comment

订单评价

longtext

-

YES

PayType

支付方式

varchar(1024)

-

YES

TotalMoney

总金额

double(20,5)

-

YES

ShopId

店铺

int

-

YES

ShopUserId

店铺账号

int

-

YES

ServiceFee

服务费用

double(20,0)

-

YES

IsCustom

是否上门

bit(1)

-

YES

表3-12 订单评论表(as_orderinfocomment)

字段名

备注

数据类型

主键

是否为空

Id

订单评论主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

CommentUserId

评论人

int

-

YES

OrderInfoId

关联订单

int

-

YES

Comment

评论内容

varchar(1024)

-

YES

HeadImage

头像

varchar(1024)

-

YES

NickName

昵称

varchar(1024)

-

YES

CommentScore

评分

double(18,0)

-

YES

ShopId

店铺

int

-

YES

表3-13 店铺表(as_shop)

字段名

备注

数据类型

主键

是否为空

Id

店铺主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Name

店铺名称

varchar(1024)

-

YES

Cover

店铺封面

varchar(1024)

-

YES

Address

店铺地址

varchar(1024)

-

YES

ShopUserId

店铺账号

int

-

YES

Content

店铺介绍

longtext

-

YES

表3-14 系统通知表(as_sysnotice)

字段名

备注

数据类型

主键

是否为空

Id

系统通知主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Name

通知标题

varchar(1024)

-

YES

Author

作者

varchar(1024)

-

YES

Content

通知内容

longtext

-

YES

File

附件

varchar(1024)

-

YES

表3-15 话题表(as_topic)

字段名

备注

数据类型

主键

是否为空

Id

话题主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Title

标题

varchar(512)

-

YES

Cover

封面

varchar(512)

-

YES

ImageUrls

主图

longtext

-

YES

ViewCount

浏览数

varchar(512)

-

YES

Content

内容

longtext

-

YES

TopicTypeId

话题类型

int

-

YES

AuditStatus

审核状态

int

-

YES

IsRecommand

是否推荐

tinyint(1)

-

YES

VideoUrl

视频

varchar(255)

-

YES

表3-16 话题收藏表(as_topiccollect)

字段名

备注

数据类型

主键

是否为空

Id

话题收藏主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

TopicId

话题

int

-

YES

UserId

收藏人

int

-

YES

表3-17 话题记录表(as_topicrecord)

字段名

备注

数据类型

主键

是否为空

Id

话题浏览记录主键

int(11)

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int(11)

-

YES

TopicTypeId

话题类型

int(11)

-

YES

TopicId

话题

int(11)

-

YES

UserId

浏览人

int(11)

-

YES

表3-18 话题类型表(as_topictype)

字段名

备注

数据类型

主键

是否为空

Id

话题类型主键

int

PK

NO

CreationTime

创建时间

timestamp

-

YES

CreatorId

创建人

int

-

YES

Name

名称

varchar(512)

-

YES

Code

编码

varchar(512)

-

YES

Content

描述

varchar(255)

-

YES

Cover

封面

varchar(255)

-

YES

五.系统实现

用户

1.登录/注册

2.首页

系统首页提供清晰直观的商品分类、论坛、通知导航栏,确保用户能够轻松的找到需要的信息。导航栏下方展示了宠物相关的轮播图广告,轮播图下方通过协同过滤算法进行展示宠物用品推荐。首页界面,如图4-1所示。

图4-1 首页

3.购买商品

用户可以点击商品,查看商品的图片、价格、库存、商品详情、商品属性、商品评价等信息,然后进行加入购物车操作。加入购物车界面,如图4-2所示。

用户也可以选择点击“立即购买”,填写联系人、电话、详情地址、选择是否上门、特殊备注。核对下单的商品信息。选择支付方式,进行支付。立即购买界面,如图4-3所示。

4.论坛交流

“憨宝宝”在线宠物商店为用户提供了一个在线交流平台,用户可以轻松地发布帖子,分享自家宠物的日常点滴。可以通过文字和图片的形式,生动地展现宠物的生活,让更多的人感受到宠物的魅力和乐趣。论坛交流界面,如图4-4所示。

用户还可以在“憨宝宝”的交流平台上与其他用户进行聊天沟通。在聊天的过程中,用户可以结识到志同道合的朋友,一起交流养宠心得、分享养宠经验。可以对喜欢的帖子进行收藏。论坛交流详情界面,如图4-5所示。

5.系统通知

系统通知功能为用户提供了一种及时、有效的信息接收方式。通过系统通知,用户可以接收到关于活动提醒、重要信息通知,确保用户能够及时收到通知。系统通知界面,如图4-6所示。

6.个人中心

用户的个人中心,允许用户修改个人信息;查看用户发布的帖子,可以对发布的帖子进行删除或者修改;查看自己的浏览记录;收藏的论坛信息;查看个人的购物车,可以选择去结算,或者移除商品信息;我的订单允许用户在未发货之前,进行取消订单。个人中心界面,如图4-7所示。

7.商品分类

商家

1、我的店铺

商家管理自己的店铺信息,可以修改商铺名称、商铺地址、商铺的封面、商铺的介绍等基本信息。我的商铺界面,如图4-8所示。

2、我的商品

商家管理自己店铺的商品,添加商品的名称、商品类型、封面、详情介绍、价格、库存等信息,允许商家为商品添加自定义属性,如颜色、尺寸、重量等,等待管理员审核通过。我的商品界面,如图4-9所示。

3、我的订单

商家管理自己商铺的订单,可以详细查看每一笔订单的购买的商品、数量、价格以及用户的联系方式具体信息。可以选择取消订单。如果用户选择了上门服务,商家可以进行上门服务。允许商家导出订单信息。如图4-10所示。

4、库存分析

库存分析可以帮助商家优化库存管理,提高运营效率,降低成本,并最终提升商家的盈利能力。库存分析界面,如图4-11所示。

5.商家登录轨迹

6.我的论坛

管理员

1.后台中心

2.用户管理

用户管理模块允许管理员进行管理用户的权限,管理员可以根据用户的角色和职责,给予不同的访问权限和操作权限。这样可以确保用户只能访问对他们来说必要的信息和功能,从而维护系统的安全性和数据的完整性。添加用户信息或者删除用户信息。用户管理界面,如图4-12所示。

3.系统通知管理

管理员进行管理系统通知,向用户发送各类通知信息,以保证用户能及时了解商城的最新动态、订单状态、促销活动等。系统通知管理界面,如图4-13所示。

4.论坛管理

负责管理和维护论坛内的交流环境,确保用户能够在一个有序、友好、积极的氛围中进行讨论和交流。对用户发布的帖子进行审核,确保内容符合论坛规定,不包含违规、恶意或广告信息。对于违规或不适当的帖子,管理员有权进行删除。论坛管理界面,如图4-14所示。

5.商铺列表

6.宠物用品管理

管理员可以查看商铺上传的宠物用品的商品名称、商品类型、封面、单位价格、库存等基本信息,然后对商品进行审核,是否符合要求,符合要求的,管理员可以进行审核通过,通过后,用户就可以商品列表进行查询。管理员可以对不再进行销售的商品进行删除操作。宠物用品管理界面,如图4-15所示。

7.首页封面管理

管理员可以根据季节、节日、促销活动等因素,定期更新封面设计,保持新鲜感和吸引力。确保封面上的内容符合网站规定和法律法规,不包含违规、恶意或广告信息。首页封面管理界面,如图4-16所示。

六.项目代码

后端

前端:

数据库:

编写制作不易,一键四连再走吧,您的支持永远是我最大的动力!


http://www.ppmy.cn/news/1524349.html

相关文章

docker-compose部署MySQL高可用工具orchestrator

主要对一个MySQL主从架构部署orchestartor进行高可用验证,orchestrator部署在主从架构的从节点上,当然最好是部署在其他机器上,后端数据库采用的直接是MySQL的从库,所以没有创建orchestrator的后端数据库的流程。 创建yaml文件 m…

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取…

【人脸检测】SCRFD:训练数据采样和计算分配策略结合的高效人脸检测方法

Sample and Computation Redistribution for Efficient Face Detection 论文链接:http://arxiv.org/abs/2105.04714 代码链接:https://github.com/deepinsight/insightface/tree/master/detection/scrfd 一、摘要 文中指出训练数据采样和计算分配策略…

Rust 变量基础知识

文章目录 发现宝藏一、 Rust变量与可变性二、变量与常量三、变量隐藏(shadowing) 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 一、 Rust变量与可变性…

Zabbix自定义监控项与触发器

当我们需要获取某台主机上的数据时,直接利用 zabbix 提供的模板可以很方便的获得需要的数据,但是有些特别的数据,利用这些现有的模板或监控项是无法实现的,例如网站状态信息的监控、mysql数据库主从状态等信息。这是就需要自己定义键值和监控…

【玩转贪心算法专题】406. 根据身高重建队列【中等】

【玩转贪心算法专题】406. 根据身高重建队列【中等】 1、力扣链接 https://leetcode.cn/problems/queue-reconstruction-by-height/ 2、题目描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。…

反激电路的参数设计,基于TI-UC3843芯片,Simplis仿真验证

采用TI官方提供的UC3843芯片手册给的DEMO图,通过MATHCAD计算参数得出环路补偿的各项参数,最后使用simplis进行仿真验证,一起进行学习吧。 UCx84x 电流模式 PWM 控制器 datasheet (Rev. G) (semiee.com) UCx84x 系列控制集成电路提供了实现离…

HCIP--<OSPF2>

目录 一,OSPF的不规则区域 1)远离骨干区域的非骨干区域 2)不连续骨干区域(和上面一样) 二,OSPF数据库表 三。优化OSPF的LSA(缺少LSA的更新量) [1]手工汇总:减少骨干区域的LSA [2]特殊区域&…