摘要: 随着互联网的普及和发展,网上购物变得越来越日常,出于对实体店超市发展的考虑,诸多中小实体店超市都希望搭建自己的电商网站。我找到更优的技术和方法,来降低电商网站的响应时间和做到提高电商网站高并发性性能,提升用户的使用体验,降低硬件需求度,能够使用更便宜的硬件进行部署,从而降低电商网站建设的成本。此超市管理系统的开发项目以idea开发工具配合springboot+bootstrap框架以及mysql数据库划分了前端和后端,前端上客户可以注册与登录、搜索超市产品、超市产品分类展示、超市产品详情展示、收藏超市产品、购物车、我的购物订单、我的优惠券、我的收藏、我的收货地址、账户余额、忘记密码、意见箱、账户维护;后端仓库管理员可以超市产品信息管理、超市产品销售订单管理、超市产品销售统计、超市优惠券管理、账户维护;后端系统管理员可以超市产品分类管理、超市公告管理、超市资讯管理、客户留言管理、客户信息管理、轮播图管理、账户维护,采用Java Web的开发方法,就论题的各类需求分析说明做出解释,然后再就超市管理系统的总体设计和详细设计做出论述,给出了超市管理系统总体结构的搭建方法。从而满足大部分中小型超市实体店的需求。
基于java web的超市管理系统我划分为了前端和后端两大部分,从用户角色上划分了客户、仓库管理员、系统管理员三种。
前端客户模块:
(1)客户注册登录:客户注册为会员并登录网上超市商城;用户对个人信息的增删改查,比如送收货地址和联系电话,以及账户密码。
(2)客户查看超市产品:客户进行超市产品信息的阅览,通过发现喜欢的超市产品后可以加入到自己的收藏夹。
(3)猜你喜欢:通过可以根据客户浏览的不同超市产品来为客户推荐出来客户可能喜欢的其他超市产品,增加人性化设计。
(4)意见箱:客户可以向网上超市商城提交自己的建设性留言建议。
(5)客户订购超市产品:客户对已选的超市产品进行更改选择的数量或者取消选择,当用户确定订购完毕后,将其提交给服务器后台系统,并生成订单。
(6)客户付款:客户确认无误后,选择付款方式并跳转到相应的支付平台进行付款。
(7)我的购物订单:客户可以查看到自己以为订购过的超市订单记录,对于收到货物的可以进行对本次订购服务发起评价。
(8)我的收藏:客户可以查看自己以往收藏起来的超市产品,同时可以移除自己的收藏夹。
(9)我的优惠券:客户可以查看到自己领取了哪些优惠券。
(10)我的收货地址:客户可以添加新收货地址以及维护自己之前的收货地址。
(11)账户余额:为客户开始一个虚拟账户,支付时从虚拟账户来模拟支付流程和充值流程。
(12)忘记密码:对于忘记自己密码的客户,可以通过自己注册时填写的邮箱来找回自己的密码。
后端仓库管理员模块:
(1)超市产品信息管理:管理员可以对超市管理系统中所售卖的超市产品信息进行增删改查,比如补充库存量以及更改超市产品信息和发布新超市产品信息等。
(2)超市产品订单管理:管理员可以对超市管理系统中客户订购的超市订单进行管理,确定订单的生成以及物流发货。
(3)超市产品销售统计:管理员可以对超市管理系统中根据销售时间范围来统计出来各超市产品的销售数量和销售金额,也可以统计出来最受欢迎的超市产品是哪个,也可以通过可视化效果来展示。
(4)超市优惠券管理:管理员可以对超市管理系统中的优惠券进行创建和维护;
后台系统管理员模块:
(1)客户信息管理:管理员可以对前端超市管理系统上注册过的客户信息进行管控,如发现异常客户可以限制登录使用。
(2)超市产品分类管理:管理员可以对超市管理系统中所售卖的超市产品的分类进行划分和管理。
(3)超市公告管理:管理员可以对超市管理系统中的新闻资讯以及公告信息进行发布和维护;
(4)轮播图管理:管理员可以对超市管理系统前端首页上的宣传轮播图进行发布和维护;
(5)客户留言管理:管理员可以对超市管理系统前端上客户提交的建设性留言进行查看、回复和删除。
图3.1是通过对超市管理系统的功能需求分析以及用例分析得出的超市管理系统的功能模块图。
(1)表3.1会员信息实体主要涵盖了会员id、会员账号、会员住址、会员邮箱、会员登录次数、会员手机号、会员姓名、会员昵称、会员支付密码、会员登录密码、会员注册日期、会员性别、账号状态、会员头像地址、会员账户余额、会员身份证号,主要用在前端客户会员来登录超市管理系统时进行使用。
表3.1 huiyuan客户信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
Id | int(11) | 是 | 否 | 否 | 客户id |
accountname | varchar(50) | 否 | 否 | 是 | 客户账号 |
address | varchar(50) | 否 | 否 | 是 | 客户住址 |
| varchar(50) | 否 | 否 | 是 | 客户邮箱 |
logtimes | int(11) | 否 | 否 | 是 | 客户登录次数 |
mobile | varchar(50) | 否 | 否 | 是 | 客户手机号 |
name | varchar(50) | 否 | 否 | 是 | 客户姓名 |
nickname | varchar(50) | 否 | 否 | 是 | 客户昵称 |
paypwd | varchar(50) | 否 | 否 | 是 | 客户支付密码 |
password | varchar(50) | 否 | 否 | 是 | 客户登录密码 |
regdate | varchar | 否 | 否 | 是 | 客户注册日期 |
sex | varchar(50) | 否 | 否 | 是 | 客户性别 |
status | int(11) | 否 | 否 | 是 | 客户账号状态 |
touxiang | varchar(50) | 否 | 否 | 是 | 客户头像地址 |
yue | double | 否 | 否 | 是 | 客户账户余额 |
idcardno | varchar(50) | 否 | 否 | 是 | 客户身份证号 |
(2)表3.2超市产品分类信息主要涵盖了超市产品分类id、超市产品分类名称、父类id,主要用在区分不同的超市产品分类信息时进行使用。
表3.2 subtype超市产品分类信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
id | int(11) | 是 | 否 | 否 | 超市产品分类id |
name | varchar(50) | 否 | 否 | 是 | 超市产品分类名称 |
parentid | int(11) | 否 | 否 | 是 | 超市产品父类id |
(3)表3.3超市产品信息主要涵盖了超市产品id、超市产品会员价、超市产品原价、超市产品介绍、超市产品宣传标题、超市产品名、超市产品发布时间、超市产品一级分类id、超市产品是否推荐、超市产品主图路径、超市产品单位、超市产品库存、超市产品是否上架、超市产品价钱范围id、超市产品产地、超市产品二级分类id、优惠券id、超市产品发布人、超市产品点击率,主要用在系统后台(管理员)中可以更好的调动超市产品的价格以及打折、热销的超市产品更换,在前端(买家)可以有效的查找超市产品、直观的看到超市产品外观和超市产品的属性等等。
表3.3 shangpin超市产品信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
id | int(11) | 是 | 否 | 是 | 超市产品id |
hyjia | int(11) | 否 | 否 | 是 | 超市产品会员价 |
jiage | double | 否 | 否 | 是 | 超市产品原价 |
jieshao | text | 否 | 否 | 是 | 超市产品介绍 |
subtitle | varchar(50) | 否 | 否 | 是 | 超市产品宣传标题 |
name | varchar(50) | 否 | 否 | 是 | 超市产品名 |
pubtime | datetime | 否 | 否 | 是 | 超市产品发布时间 |
typeid | int(11) | 否 | 是 | 是 | 超市产品一级分类id |
tuijian | int(11) | 否 | 否 | 是 | 超市产品是否推荐 |
tupian | varchar(50) | 否 | 否 | 是 | 超市产品主图路径 |
danwei | varchar(50) | 否 | 否 | 是 | 超市产品单位 |
kucun | int(11) | 否 | 否 | 是 | 超市产品库存 |
state | int(11) | 否 | 否 | 是 | 超市产品是否上架 |
tagid | int(11) | 否 | 否 | 是 | 超市产品价钱范围id |
chandi | varchar(50) | 否 | 否 | 是 | 超市产品产地 |
subtypeid | int(11) | 否 | 是 | 是 | 超市产品二级分类id |
couponid | int(11) | 否 | 是 | 是 | 优惠券id |
pubren | int(11) | 否 | 否 | 是 | 超市产品发布人 |
clickcout | int(11) | 否 | 否 | 是 | 超市产品点击率 |
(4)表3.4超市产品订单信息主要涵盖了超市产品订单id、超市产品订单号、超市产品下单时间、超市产品收货地址id、超市产品收货人id、超市产品物流公司、超市产品订单备注、超市产品订单状态、超市产品总费用等,主要用在由前端(买家)发出地址后台(管理员)执行物流发货而形成的,买家管理员都可以在看到货流所有信息状态等等。
表3.4 shorder超市产品订单信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
id | int(11) | 是 | 否 | 是 | 超市产品订单id |
ddno | varchar(50) | 否 | 否 | 是 | 超市产品订单号 |
createtime | datetime | 否 | 否 | 是 | 超市产品下单时间 |
addid | int(11) | 否 | 是 | 是 | 超市产品收货地址id |
purchaser | int(11) | 否 | 是 | 是 | 超市产品收货人id |
psstyle | varchar(50) | 否 | 否 | 是 | 超市产品物流公司 |
remark | varchar(50) | 否 | 否 | 是 | 超市产品订单备注 |
state | int(11) | 否 | 否 | 是 | 超市产品订单状态 |
totalfee | double | 否 | 否 | 是 | 超市产品总费用 |
(5)表3.5超市产品订单信息主要涵盖了超市产品订单详细id、超市产品id、超市产品数量、超市产品单价、超市产品总价、超市产品订单id、超市产品订单状态、超市产品物流单号等,主要用在超市产品订单详细信息由各超市产品的销售信息,关联了超市产品订单信息表等。
表3.5 orderitme超市产品订单详细信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
id | int(11) | 是 | 否 | 是 | 超市产品订单详细id |
spid | int(11) | 否 | 是 | 是 | 超市产品id |
count | int(11) | 否 | 否 | 是 | 超市产品数量 |
price | int(11) | 否 | 否 | 是 | 超市产品单价 |
totalprice | float | 否 | 否 | 是 | 超市产品总价 |
orderid | int(11) | 否 | 是 | 是 | 超市产品订单id |
state | int(11) | 否 | 否 | 是 | 超市产品订单状态 |
wlno | varchar(50) | 否 | 否 | 是 | 超市产品物流单号 |
(6)表3.6优惠券信息主要涵盖了超市产品优惠券id、超市产品优惠券名、优惠券优惠多少、优惠券满多少元、优惠券创建日期、优惠券结束日期等,主要是用于前台上购买超市产品时可以用的超市产品优惠券信息等。
表3.6 coupon优惠券信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
id | int(11) | 是 | 否 | 是 | 超市产品优惠券id |
name | varchar(50) | 否 | 否 | 是 | 超市产品优惠券名 |
fee | int(11) | 否 | 否 | 是 | 优惠券优惠多少 |
minreq | int(11) | 否 | 否 | 是 | 优惠券满多少元 |
createtime | datetime | 否 | 否 | 是 | 优惠券创建日期 |
overdate | datetime | 否 | 否 | 是 | 优惠券结束日期 |
(7)表3.7超市产品订单评论信息主要涵盖了超市产品订单评论id、订单评论服务得分、订单评论内容、评论超市产品id、超市产品订单id、订单评论日期等,主要是用于前台(买进)收到购买超市产品后对该超市产品订单进行的评价信息等。
表3.7 spcomment超市产品订单评论信息表
数据库字段名 | 字段类型 | 是否主键 | 是否外键 | 是否为空 | 字段含义 |
id | int(11) | 是 | 否 | 是 | 超市产品订单评论id |
cresult | int(11) | 否 | 否 | 是 | 订单评论服务得分 |
des | longtext | 否 | 否 | 是 | 订单评论内容 |
spid | int(11) | 否 | 是 | 是 | 评论超市产品id |
orderid | int(11) | 否 | 是 | 是 | 超市产品订单id |
createtime | datetime | 否 | 否 | 是 | 订单评论日期 |