土特产多商家技术文档

无敌的宇宙
无敌的宇宙
擅长邻域:Java,HTML,JavaScript,MySQL,支付,退款,图片上传

分类: Java springboot 专栏: java springboot 标签: 特产技术文档

2023-11-29 13:52:03 108浏览

系统实现本系统主要分为三个角色:系统管理员、商家和买家。系统管理可以审核店铺管理商品查看订单等。前台注册用户就是买家,可以浏览搜索商品,注册后可以直接下单或者加入购物车,还可以查看自己的订单,申请退款等。买家还可以申请开店,申请通过后成为商家。商家后台主要是管理商品处理订单等,包含商品的添加删除,商品分类的管理,处理待发货订单和退款等。1. 首页模块的设计与实现功能描述: 首页主要是产品的分类和分

系统实现

本系统主要分为三个角色:系统管理员、商家和买家。系统管理可以审核店铺管理商品查看订单等。前台注册用户就是买家,可以浏览搜索商品,注册后可以直接下单或者加入购物车,还可以查看自己的订单,申请退款等。买家还可以申请开店,申请通过后成为商家。商家后台主要是管理商品处理订单等,包含商品的添加删除,商品分类的管理,处理待发货订单和退款等。

1. 首页模块的设计与实现

功能描述: 首页主要是产品的分类和分页展示,搜索(包含按店铺搜索和按商品搜索),页面简洁美观,一目了然。让游客一眼就可以知道网站主题。用户可以根据特产分类浏览商品,也可以根据地区查询。

本系统分页均采用pagehelper插件实现,使用插件可省去繁琐的分页逻辑代码以及实现灵活的排序查询功能。


请求路径:/shop/spGoods/index;

请求参数:pageNo(第几页);

请求controller:SpGoodsController.page();

主要代码:




如图:




2. 商品详情页的设计与实现

功能描述:

商品详情主要了展示商品的主图、价格、详情、总评分、以及其他用户的评评价,可供买家参考。商品图片采用轮播展示,方便用户查看商品。左面是商品规格展示,用户选取不同的规格展示商品的不同价格,方便用户灵活选择。用户还可以根据自己的需求选择购买数量,以及加入购物车或者直接下单。右边是店铺入口,以及同类型商品展示,方便用户有更多的选择。另外,还展示该商品的分类和标签,给用户提供他可能感兴趣的其他商品。

如果该商品已下架,则页面不展示商品信息。提示用户已下架,当库存不足时,提示用户下单失败。用户下单或者加入购物车会判断是否是本商品的店家身份,即自己不可以购买自己的商品。


请求路径:/shop/spGoods/detail;

请求参数:id(商品id);

请求controller:SpGoodsController.detail();

主要代码:







3. 店铺主页的设计与实现

功能描述:

主要展示某店铺的具体信息以及该店铺内的所有商品,可进行铺内商品搜索。安装销量价格上新时间进行排序。系统会根据店铺的开店时间进行等级划分,共分为5级,分别是:白银店铺(1年以内)、黄金店铺(1-2年以内)、蓝砖(2-3年以内)、粉砖(3-4年以内)、紫砖(4年以上)。


请求路径:/shop/spGoods/store_detail;

请求参数:id(店铺id ),pageNo(商品列表页码),keywords(搜索关键字);

请求controller:SpGoodsController.store_detail();

主要代码:

4商品分类的实现

功能描述:点击首页的分类或者地区均会跳转搜索页面,根据分类、标签或者地区搜索商品。可以按照时间、销量、价格排序。首页默认展示前五条分类,其他分类军被折叠影藏,点击“更多”按钮。可查看所有的分类和商品标签。


5搜索商品和店铺的实现

功能描述:用户选择搜店铺或者搜商品均会进入同一个controller,根据serachType识别搜索内类,然后跳入不同的搜索界面。

个人中心

4购物车的实现

功能描述:用户可以把自己需要的商品依次加入购物车,然后在购物车进行数量的修改和选择性付款。也可对单个商品进行付款和是删除,实时计算已勾选的商品数量和总价格。 确认支付前系统会把已下架和库存不足的商品信息返回给用户,提示用户哪些商品已失效,取消勾选。

当用户选择好商品,点击付款,页面会跳到订单确认付款界面,用户需要再次确认购买的商品和总金额,可以单个输入商品备注,以及选择收货地址。这里直接显示的是用户设置的默认地址,如果用户需要更改,点击更该按钮,页面弹出地址菜单可进行选择 ,如果用户没有添加任何收货地址,则需要添加收货地址可以付款。

购物车展示:

请求路径:/shop/spCarts/page;

请求参数 pageNo(页码) ;

请求controller:SpCartsController.page();


购物车计算已勾选商品数量和总价格,为了数据的安全计算数量和总结在服务端进行,根据用户传过来的商品id集合,去数据库里查询单价计算。

购物车展示:

请求路径:/shop/spCarts/getTotalPrice;

请求参数 ids(用户已选择的商品id集合), ids(购买数量集合) ;

请求controller:SpCartsController.getTotalPrice();


确认订单,为了数据安全,根据用户传过来的购物车id集合查询数据库,计算每个商品的总价,生成待支付订单。

请求路径:/shop/spOrders/createOrderFromCarts;

请求参数 ids(购物车id集合) ;

请求controller:spOrdersController.createOrderFromCarts();




5 用户订单管理的实现

功能描述:订单主要分为待支付,待发货,待确认,待评价,已完成,申请退款和已退款等菜单。跟据以下字段判断订单目前的状态:

is_pay:支付状态,1已支付0未支付;

is_send:发货状态,1已发货0未发货;

is_receive:确认状态,1已确认0未确认;

is_eveluate:评价状态,1已评价0未评价;

is_refund:退款状态,0初始,1已退看,2申请退款。


待支付:用户可以在待支付订单里进行支付和取消订单,取消订单将直接删除。用户点击支付后进入确认订单界面,该流程和购物车支付流程一样。

待发货:用户付完款后,进入待发货流程,可以催发。

待确认:商家发货后,订单进入待确认状态,用户在收到商品后,可以点击确认按钮。

待评价:用户确认后,该订单需要评价,用户可以打分输入自己的评语。该评价可在商品详情展示,供其他用户参考;

已完成:用户评价完之后,该订单已结束,此时订单可以进行删除操作(假删除,根据is_show=1或0进行显示或者不显示,以免影响商家订单)


待退款:如果用户付款后又想退货,就可以申请退款;

退款完成:商家退款后,订单进入已退款已完成状态,此时,订单出现删除按钮,用户可以根据需要删除,此时并不会真的删除订单,而是假删除(不再用户处显示,以免影响商家订单)


6 登录注册的实现

功能描述:用户的下单购物车均需要登录后才可以操作。这里根据用户手机号进行网站注册,系统判断手机唯一性。为了确保密码安全,采用md5非对称加密工具对用户的密码进行加密操作。注册成功,用户可用手机号密码登录该网站,使用session将用户登录信息保存。


7 资料编辑的实现

功能描述:用户可以上传自己的头像,修改昵称。头像是采用jquery的剪裁插件实现的异步上传操作,用户可对图片进行选择缩放剪裁。


%1. 收货地址的实现

功能描述:用户可以对收货地址进行添加,编辑,删除,和设置默认地址的操作,下单支付时会自动显示默认地址。


9.修改密码

功能描述:用户输入原密码,新密码,确认新密码进行登录密码的修改。


%1. 退出登录

功能描述:移除session里的用户信息,跳转登录页面。本系统采用拦截器,对未登录的用户进行拦截。



卖家中心

1. 申请开店

功能描述:普通注册用户也可以申请开店,需要填写店铺名称地址简介等资料,提交审核。审核通过后成为商家,可以上传店铺图片,编辑店铺基本资料。



2. 商品管理

功能描述:商家可以发布商品,编辑,查询,删除,上下架商品。发布商品时需要上传商品主图,添加商品规格,商品详情采用图文混排的富文本编译器实现。 主图采用jquery剪裁插件,这样保证前台美观整洁。商品价格还可进行打折设置,展示打折之前的价格。

3. 订单管理

功能描述:主要是处理待发货订单和待退款订单以及查看用户评价。分为待支付,待发货,待确认,待评价,已完成,退款处理,已退款。


管理员

1分类管理

功能描述:管理员可以对商品分类进行添加,编辑,搜索,删除等操作。一个商品只能选择一个分类。

1标签管理

功能描述:管理员可以商品标签进行添加,编辑,搜索,删除等操作。商品标签是商品分类的细化,一个分类下面有多个标签,一个商品可以选择某个分类下的多个标签。


2商品管理

功能描述:管理员没有添加商品的权限,可以编辑和上架,记忆下架违规商品。

3 订单管理

功能描述:管理员可以对订单进行查询以及出现纠纷时可以选择强制退款给买家。

4店铺审核

功能描述:管理员审核注册用户提交的电偶信息,可审核通过,不通过则输入原因。审核被拒的店家可以重新填写店铺信息再次提交审核。审核通过的店家如果就改了店铺信息则进入在审核阶段。如果有店铺违规操作,管理员可以永久性关闭该店铺。为了方便快速审核管路员可直接根据状态筛选数据。

5用户管理

功能描述:管理员可以管理本系统的所有用户,根据昵称和手机号搜索,还可以启用、禁用违规用户,禁用时需要输入禁用理由,被禁用的用户不可登录使用被系统,但会在用户登录时提醒他被禁用的缘由。


%1、 数据库设计

在确定好本系统的需求后接下来就是设计数据库了。我一共设计了8张表,包含用户商品下单购物车评价等表。

4.1数据库需求分析:

1)用户表:本系统包含三个角色,均需要登录才可使用改系统,且用户可以同时是买家和买家2个角色,所以设计成一张用户表,用role字段标识不同的角色。

2)商品表:本系统核心表,主要是存储商品的展示信息比如价格主图描述等。

3)商品分类表:为了用户更好的查询商品,商品需要分类,管理员才可以操作商品分类表。

4)商品标签表:对商品分类的细化。

5)购物车表:买家的核心功能表,主要是暂存商品有意向购买的商品信息。

6)订单表:本系统核心表,主要输存储某用户的购买记录,业务逻辑相对复杂,涉及到支付、发货、确认、评教、退款这5种状态,也是买家和卖家的核心功能表,为了不影响买卖方的订单展示,所以订单要做假删除,即用户删除订单后不影响买家的订单展示。

7)收货地址表:本系统属于电商平台,用户下单后商品需要发往全国各地,为方便用户操作,设计了用户收货地址表和设置默认地址。

8)评价表:确认收货后可评价。


4.2数据概念设计

根据4.1的表设计可以设计出具体的表字段,也就是数据库实体er图。概念结构是各个实体之间的关系来建立起来的模型(即E-R模型)。E-R模型包含实体,实体的属性,实体与实体之间的关系,E-R图则是用来表示这一模型的结果。下面设计出这几个关键实体的实体—关系图。


用户实体,属性包括用户注册手机号、用户登录时密码、用户昵称、角色、创建时间等等, 如图 所示:

商品实体,属性包括商品名称、商品的销量及库存、在首页显示的价格、商品上下架时间、商品图片等等,其E-R图如 所示:

购物车实体,属性包括商品id、用户id、购买数量、创建时间、商品的单价及总价等等,其E-R图如 所示:

订单实体,属性包括订单号、商品id、用户id、收货地址、购买的数量、总价等等,其E-R图如 所示:

收获地址实体,属性包括用户id、收货人姓名、创建时间、电话、地址和默认地址,其E-R图如 所示:

评价实体,属性包括订单id、用户id、商品id、评分、评价内容和创建时间,其E-R图如 所示:



商品分类实体,属性包括分类id、分类名称、创建时间、排序字段。

标签实体,属性包括id、分类id、创建时间。

系统的E-R图如 所示:


4.3 系统数据库逻辑结构设计

根据上面er实体图可设计出具体的字段,表表关联主外键用横线表示出来。


1) 用户表:id(主键)、昵称、头像、手机号(唯一,登录使用)、密码(md5非对称加密)、注册时间、性别、申请开店状态(0普通用户,2待审核,-1审核不通过,1审核通过)、店铺名称、店铺主图、负责人、联系方式、店铺简介、角色(pt注册用户,admin管理员)。

2) 商品分类表:id(主键)、名称、创建时间、排序字段(越小越靠前)。

3) 标签表:id(主键)、名称、创建时间、分类id 。

4) 商品表:id(主键)、名称、主图、详情、规格、展示价格、是否打折、分类id、标签id、总评分、参与评价人数、店铺id(用户id)、产地省、产地城市。

5) 购物车:id(主键)、商品id、用户id、创建时间、购买数量、单价、总价。

6) 订单:id(主键)、商品id、用户id、创建时间、购买数量、单价、总价、支付状态(1支付,0未支付)、发货状态(0未发货,1发货)、确认收货状态(0未确认,1确认)、退款状态(0初始,2申请退款,1已退款)、评价状态(0未评价,1已评价)、支付时间、发货时间、退款时间、确认时间、评价时间、申请退款时间、收货地址、备注、是否删除(1删除,0显示)。

7) 收货地址:id(主键)、用户id、联系人、联系电话、收货地址、默认地址(0普通地址,1默认收货地址)。

8) 评价表:id(主键)、商品id、用户id、订单id、评分、评语。



4.4 数据库表的设计

管理员或用户信息表如图 所示:

用户表sp_users

字段

类型

主外键

说明

Id

int

主键,自增长

phone

varchar

注册手机号,登录使用

upass

varchar

密码

nickname

varchar

昵称

faceimg

varchar

头像

role

varchar

角色,admin是管理员,pt普通用户

cts

varchar

创建时间

sex

varchar

性别

Status_

varhcar

1启用0禁用

msg

varhcar

禁用原因

Status_ts

varhcar

禁用启用时间

商品类别sp_type


字段

类型

主外键

说明

id

int

主键,自增长

tname

varchar

分类名称

cts

varchar

创建时间

tsort

int

排序,越小越靠前

商品标签sp_tags

字段

类型

主外键

说明

id

int

主键,自增长

Tag_name

varchar

标签名称

cts

varchar

创建时间

tid

varchar

Sp_type的id

商品sp_goods

字段

类型

主外键

说明

id

int

主键,自增长

gname

varchar

商品名称

gdesc

text

商品详情

sales

int

销量

stock

int

库存

gsize

varchar

商品尺寸颜色大小等

spec_price

varchar

规格

showprice

float

首页展示价格

cts

varchar

创建时间

putaway_ts

varchar

上下架时间

is_putaway

varchar

1上架0下架

main_img

text

商品图片

view_num

int

浏览量

evel

int

总评分

evaluation_num

int

总评价次数

Province

varchar

city

archar

购物车sp_carts

字段

类型

主外键

说明

id

int

主键,自增长

gid

varchar

商品id

uid

varchar

用户id

num

int

购买数量

cts

varchar

创建时间

ginfo

varchar

商品信息比如尺寸和规格

gprice

varchar

商品单价

Tital_price

float

总价

订单表sp_orders

字段

类型

主外键

说明

orderNo

varchar

订单号

Gid

varchar

商品id

Uid

varchar

用户id

ginfo

varchar

商品信息比如尺寸和规格

gprice

float

商品单价

Cts

varchar

创架时建

addressinfo

varchar

收货地址

num

int

购买数量

Total_price

float

总价

note

varchar

备注

is_pay

varchar

1付款0没有付款

Pay_ts

varchar

付款时间

pay_method

varchar

微信或者支付宝付款

send_ts

varchar

发货时间

is_send

varchar

1发货0没有发货

is_accept

varchar

1确认收货0没有

accept_ts

varchar

确认时间

evaluate_ts

varchar

评价时间

Is_evaluate

varchar

1已评价0没有

is_refund

varchar

0初始1已退款2申请退款

refund_ts

varchar

申请退款时间

refunded_ts

varchar

已退款时间

is_show

varchar

1展示0假删除

del_ts

varchar

删除时间

评价表sp_evaluation

字段

类型

主外键

说明

id

int

主键,自增长

Oid

varchar

订单ID

Uid

varchar

用户id

Gid

varchar

视频id

Evel

varchar

评分

Context

varchar

评价内容

cts

varchar

创建时间

收货地址表sp_address

字段

类型

主外键

说明

Id

int

主键,自增长

Uid

varchar

用户id

Aname

varchar

收货人姓名

Cts

varchar

创建时间

Phone

varchar

电话

A_add

varchar

地址

Is_del

varchar

1默认地址0不是

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695