一.系统设计背景与需求分析
设计背景
在近年来,随着社会经济的飞速发展和人们生活水平的显著提升,养宠物已经成为了许多人日常生活中不可或缺的一部分。宠物不仅为人们带来了欢乐和陪伴,还成为了表达个性和生活态度的一种方式。随着养宠物的普及,宠物用品和服务的市场需求也呈现出了爆炸性的增长。在这样的市场背景下,开设一个名为“憨宝宝”的在线宠物商店,无疑是顺应了这一消费趋势,可以很好地满足广大宠物主人的需求。通过线上平台,我们能够为宠物主人提供一站式的购物体验,无论是宠物食品、玩具、服装还是其他护理用品,都可以在这里轻松找到,极大地方便了宠物主人的日常购物。目前市场上已有一些在线宠物商店,但我们的竞争优势在于提供一站式购物体验、个性化推荐和优质服务。
需求分析
"憨宝宝"在线宠物商店,其技术架构结合了前端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。商城系统的前端页面需要在这些浏览器中正常显示和运行。
三、系统功能分析
系统分为三种角色:管理员,用户,商家;
-----------------------------------------------------------管理员------------------------------------------------
- 用户管理:管理员可以 添加、删除或修改用户账户信息。
- 封面管理: 管理员负责管理和更新网站的封面图片。
- 通知公告管理:管理员负责撰写、发布和维护网站上的通知和公告。以及确保所有用户都能够看到这些通知公告。
- 宠物论坛管理: 管理员负责监督宠物论坛的内容,审核帖子以及回复的内容,确保讨论的健康和积极性。
- 商铺管理: 对加入平台的商家进行审核和管理。
- 宠物商品管理: 管理平台上销售的宠物商品信息,定期检查商品描述和图片,确保它们符合网站的标准和用户的期待。
------------------------------------------------------------商家-------------------------------------------------
- 管理我的商铺: 更新商铺信息。
- 我的商品:商家可以管理店铺的商品,包括添加、编辑和删除商品信息,以确保商品的准确性和及时性。
- 我的订单:查看订单详情、处理订单状态、跟踪订单进展等。这有助于商家及时了解订单情况,提供更好的客户服务。
- 论坛:商家可以参与论坛讨论,与其他商家和用户交流经验、分享问题和获取帮助。
- 库存分析:商家还可以进行库存分析,通过对库存数据的分析,商家可以了解商品的供应情况、销售趋势等信息。有助于商家做出更准确的库存决策,避免库存积压或断货的情况发生。
- 最近7天销量: 查看近7天的销量报告。
- 最近30天销量: 查看近30天的销量报告。
------------------------------------------------------------用户-------------------------------------------------
- 商品查询: 轻松地搜索和浏览我们丰富的产品目录,以便快速找到他们想要购买的商品。这一功能支持关键字搜索条件,确保用户能够精准定位到所需商品。
- 我的购物车: 用户可以将心仪的商品暂存起来,方便他们在决定结算前进行比较和选择。购物车不仅会保存用户所选商品的详细信息,还会自动计算总价,让用户掌握购物预算。
- 我的订单:用户可以在这里查看所有已下单的商品状态,包括支付确认、发货进度以及物流追踪等。
- 系统通知: 确保用户能够及时接收到重要的更新和信息。
- 论坛交流: 用户不仅可以分享购物心得、评价商品,还可以与其他用户交流购物经验,甚至提出疑问或建议,共同打造一个互助互惠的社区环境。
- 个人中心: 用户可以在这里编辑个人资料,查看历史订单等。
四.数据库实现
数据字典实现设计
依据本系统概念模型实体关系,物理实现“憨宝宝”在线宠物商店数据库animalshop如下。
表3-1 用户表(as_appuser)
字段名 | 备注 | 数据类型 | 主键 | 是否为空 |
Id | 用户主键 | int | PK | NO |
CreationTime | 创建时间 | timestamp | - | YES |
CreatorId | 创建人 | int | - | YES |
Password | 密码 | varchar(1024) | - | YES |
LoginTimePeriod | 登录时间段 | varchar(1024) | - | YES |
| 邮箱 | 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所示。
六.项目代码
后端:
前端:
数据库:
编写制作不易,一键四连再走吧,您的支持永远是我最大的动力!