动力商城(基于SpringCloud分布式框架)
第一章 动力商城
1.1 项目功能概述
本商城系统分为后台管理系统和微信小程序两个终端,后台管理系统主要是对商城业务的支撑,核心功能包括系统管理、产品管理、类目管理、商品属性管理、商品分组标签管理、公告管理、轮播图管理、地址管理。微信小程序端的核心功能包括首页展示、商品分类展示、商品详情页面、购物车页面。
1.1.1 项目所使用的相关技术
后台系统管理页面前端:Vue+ElementUI
微信小程序商城用户界面:微信小程序
后端:SSM、MP、SpringCloud、阿里云(对象存储OSS、短信服务)、Hutools、EasyExcel、Spring Secourity、redis、MySQL
1.1.2 角色说明
本项目的使用者分为三种,如图所示:
- 平台运营:动力商城项目系统管理员。
- 店铺运营:基于平台的店铺管理人员,如:店铺运营人员,店铺管理员。
- 消费者:基于微信小程序应用的使用者,即在商城平台上购买商品的客户。
1.2 项目结构
动力商城项目分为三个模块:
- cloud-iaas基础模块:gateway-server网关模块、auth-server认证授权模块
- power-business业务功能模块:common-base公共基础模块、common-business公共业务模块
- power-common功能服务模块:后台管理模块、产品管理模块、门店管理模块、会员管理模块、购物车管理模块、订单管理模块、搜索管理模块
1.2.1 power-mall父模块
项目顶级父工程,管理所有项目子模块以及项目所有依赖。 主要通过pom文件中的dependencyManagement标签来管理,通过properties标签来管理依赖的版本号。
1.2.2 cloud-iaas模块
cloud-iaas模块属于基础服务设施,主要是管理认证授权服务与网关服务的模块。
auth-server模块主要提供认证授权服务,为整个系统提供统一的用户认证和授权管理。该模块主要使用的是Spring Security技术解决企业应用系统的安全访问控制。
Spring Security框架提供了一组可以在Spring应用上下文中配置的bean对象,并且充分利用了Spring框架的IoC(控制反转Inversion of Control),DI(依赖注入Dependency Injection)和AOP(面向切面编程)功能,为应用系统提供可靠的声名式的安全访问控制功能,大大减少了企业在系统安全控制上的大量重复代码工作。
gateway-server模块主要提供验证请求合法性的功能,该模块主要使用的是Spring Cloud Gateway技术为动力商城项目提供一种简单而有效的统一的API路由管理方式
1.2.3 power-common模块
-
common-base
common-base模块主要是提供整个项目需要的常量类、统一响应对象、统一业务状态码。
-
common-core
公共核心:存放业务模块中公共内容,如:MyBatis-Plus分页、Redis值的序列化、资源服务的配置、Swagger配置、全局异常处理、token的解析。
1.2.4 power-business模块
-
manager-servcie
后台管理业务模块:实现系统基础服务功能,如:管理员管理、角色管理、权限管理。
-
product-service
商品服务业务模块:实现跟商品相关的功能,如:商品类目管理、商品分组标签管理、商品属性管理、商品评论管理、产品管理。
-
store-service
门店服务业务模块:实现与门店相关的功能,如:地址管理、公告管理、轮播图管理。
-
sreach-service
搜索服务业务模块:提供搜索业务功能。
-
member-service
会员服务业务模块:实现与会员相关的业务功能,如:用户收货地址管理、用户收藏记录管理、绑定手机号码等。
-
cart-service
购物车业务模块:实现购物车业务功能,如:查询用户购物车商品、添加商品到购物车、修改购物车中商品数量、计算用户购物车中商品数量。
-
order-service
订单业务模块:实现订单业务功能,如:用户下单、查询用户订单列表。
1.3 项目设计
1.3.1 系统开发以及运行环境
- 开发系统:win
- 项目服务系统:Linux
- Java开发包:JDK8
- 项目管理工具:Maven 3.8.5
- 项目开发工具:idea、微信开发者工具
- 数据库:Mysql 8.0.32
- 缓存管理工具:redis 7.0.11
- 版本控制工具:git
1.3.2 环境搭建(略过)
1.4 数据库设计
本系统实现的主要功能是商城后台管理系统和移动端微信小程序相关的业务,同时还会涉及安全管理的用户登录和访问控制,因此本系统业务所需要的数据库表可以为六部分:系统业务相关表、商品业务相关表、门店业务相关表、会员业务相关表、购物车业务相关表、订单业务相关表。本系统整体数据库表关系如图11-3所示。
表与表之间的关系:
一对一
一对多:多的表维护两张表之间的关系
多对多:通过第三张关系表来维护两张表之间的关系
实际工作中表与表之间的关系会通过字段进行关联,但是我们不会添加外键约束 |
1.4.1 系统业务表结构
系统业务表包括:系统用户表、系统角色表、系统权限表、系统用户与角色关系表、系统角色与权限关系表。该业务所涉及的上述5张表的关系
权限设计模型:以下五张表是基于角色的权限控制访问系统:RBAC0
RBAC0。用户和角色是多对多,角色和权限是多对多。一个用户拥有的权限,是他所有角色的集合。
(1) 系统用户表sys_user
系统用户表sys_user主要描述了后台管理系统用户的用户名、密码、email、status等属性。如表11-1所示。
表11-1 系统用户表sys_user
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
user_id | bigint | 0 | 是 | 用户id |
username | varchar | 50 | 否 | 用户名 |
password | varchar | 100 | 否 | 登录密码(加密后的密码) |
varchar | 100 | 否 | 邮箱 | |
mobile | varchar | 100 | 否 | 手机号码 |
status | Tinyint | 0 | 否 | 用户状态:0禁用,1正常 |
create_user_id | bigint | 0 | 否 | 创建者id |
create_time | datetime | 0 | 否 | 创建时间 |
shop_id | bigint | 0 | 否 | 店铺id |
(2) 系统角色表sys_role
系统角色表sys_role主要描述了后台管理系统角色的角色名称、角色备注等属性。如表11-2所示。
表11-2 系统角色表 sys_role
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
role_id | bigint | 0 | 是 | 角色id |
role_name | varchar | 100 | 否 | 角色名称 |
remark | varchar | 100 | 否 | 备注 |
create_user_id | bigint | 0 | 否 | 创建者id |
create_time | datetime | 0 | 否 | 创建时间 |
(3) 系统权限表 sys_menu
系统权限表sys_menu主要描述了后台管理系统权限的菜单父id、菜单名称、菜单URL、菜单权限、菜单类型(0表示目录,1表示菜单,2表示按键)、菜单序号等属性。如表11-3所示。
表11-3 系统权限表sys_menu
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
menu_id | bigint | 0 | 是 | 权限id |
parent_id | bigint | 0 | 否 | 父菜单ID,一级菜单为0 |
name | varchar | 50 | 否 | 菜单名称 |
url | varchar | 200 | 否 | 菜单URL |
perms | varchar | 500 | 否 | 授权(多个用逗号分隔,如:user:list,user:create) |
type | int | 0 | 否 | 类型:0目录、1菜单、2按钮 |
icon | varchar | 50 | 否 | 菜单图标 |
order_num | int | 0 | 否 | 排序 |
(4) 系统用户与角色关系表 sys_user_role
系统用户与角色关系表sys_user_role主要描述了后台管理系统用户与角色的关系,表中属性包含用户id、角色id。如表11-4所示。
表11-4 系统用户与角色关系表sys_user_role
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
id | bigint | 0 | 是 | 标识 |
user_id | bigint | 0 | 否 | 用户id |
role_id | bigint | 0 | 否 | 角色id |
(5) 系统角色与权限关系表 sys_role_menu
系统角色与权限关系表sys_role_menu主要描述了后台管理系统角色与权限关系,属性包含权限id、角色id。如表11-5所示。
表11-5 系统角色与权限关系表sys_role_menu
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
id | bigint | 0 | 是 | 标识 |
menu_id | bigint | 0 | 否 | 权限id |
role_id | bigint | 0 | 否 | 角色id |
表11-1~表11-5展示了商城后台管理系统相关表的结构设计,在实际开发中,读者可以根据需要自行扩展。需要注意的是,系统相关的表涉及项目整合Spring Security进行安全管理控制;同时系统用户表中的password字段赋值时,必须为加密后的密文(教材中使用的是BCryptPasswordEncoder加密方式)。
1.4.1 商品业务表结构
商品业务表包括:商品类目表、商品分组标签表、商品与分组标签关系表、商品属性表、商品属性值表、商品评论表、商品表、商品sku表。该业务所涉及的上述8张表的关系如下图11-5所示。
图11-5 商品业务表关系示意图
下面详细描述以上八张表的结构。
(1)商品类目表 category
商品类目与商品的的关系是:一对多
商品类目表category主要描述了商品类目的类目名称、类目状态、类目父节点id、类目序号等属性。如表11-6所示。
表11-6 商品类目表category
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
category_id | bigint | 0 | 是 | 类目id |
parent_id | bigint | 0 | 否 | 父节点id |
category_name | varchar | 50 | 否 | 产品类目名称 |
icon | varchar | 255 | 否 | 类目图标 |
pic | varchar | 300 | 否 | 类目的显示图片 |
seq | int | 否 | 排序 | |
status | int | 0 | 否 | 默认是1,表示正常状态,0为下线状态 |
create_time | datetime | 0 | 否 | 创建时间 |
update_tim | datetime | 0 | 否 | 更新时间 |
(2) 商品分组标签表 prod_tag
商品分组标签表prod_tag主要描述了商品分组标签的分组标题、分组状态、分组列表样式(0一列一个商品,1一列二个商品,2一列三个商品)等属性。如表11-7所示。
表11-7 商品分组标签表 prod_tag
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
id | bigint | 0 | 是 | 分组标签id |
title | varchar | 100 | 否 | 分组标题 |
seq | int | 否 | 排序 | |
status | tinyint | 0 | 否 | 状态(1为正常,0为删除) |
style | int | 0 | 否 | 列表样式(0:一列一个,1:一列两个,2:一列三个) |
create_time | timestamp | 0 | 否 | 创建时间 |
update_time | timestamp | 0 | 否 | 更新时间 |
(3) 商品与分组标签关系表 prod_tag_reference
商品与分组标签的关系是:多对多
商品与分组标签关系表prod_tag_reference主要描述了商品与分组标签关系的分组标签id、商品id、店铺id等属性。如表11-8所示。
表11-8 商品与分组标签关系表prod_tag_reference
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
reference_id | bigint | 0 | 是 | 分组引用id |
shop_id | bigint | 0 | 否 | 店铺id |
tag_id | bigint | 0 | 否 | 标签id |
prod_id | bigint | 0 | 否 | 商品id |
status | tinyint | 0 | 否 | 状态(1为正常,0为删除) |
create_time | timestamp | 0 | 否 | 创建时间 |
(4) 商品属性表 prod_prop
商品属性表prod_prop主要描述了商品属性的属性名称、属性规则、店铺id等属性。如表11-9所示。
表11-9 商品属性表prod_prop
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
prop_id | bigint | 0 | 是 | 属性id |
prop_name | varchar | 100 | 否 | 属性名称 |
rule | tinyint | 0 | 否 | ProdPropRule 1:销售属性(规格); 2:参数属性; |
shop_id | bigint | 0 | 否 | 店铺id |
(5) 商品属性值表 prod_prop_value
商品属性值表prod_prop_value主要描述了商品属性值的属性值名称、属性id等属性。如表11-10所示。
表11-10 商品属性值表prod_prop_value
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
value_id | bigint | 0 | 是 | 属性值ID |
prop_value | varchar | 100 | 否 | 属性值名称 |
prop_id | bigint | 0 | 否 | 属性ID |
(6) 商品评论表 prod_comm
商品评论表prod_comm主要描述了商品评论的商品id、商品名称、评论用户id、评论内容、回复内容、回复状态、IP来源、评论得分、评论图片、是否匿名、评论状态、评论的评价等属性。如表11-11所示。
表11-11 商品评论表prod_comm
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
prod_comm_id | bigint | 0 | 是 | 评论id |
prod_id | bigint | 0 | 否 | 商品ID |
prod_name | varchar | 255 | 否 | 商品的名字 |
order_item_id | varchar | 255 | 否 | 订单项ID |
open_id | varchar | 300 | 否 | 评论用户ID |
content | int | 否 | 评论内容 | |
reply_content | int | 0 | 否 | 掌柜回复内容 |
create_time | datetime | 0 | 否 | 记录时间 |
reply_time | datetime | 0 | 否 | 回复时间 |
reply_sts | int | 否 | 是否回复 0:未回复 1:已回复 | |
postip | varchar | 16 | 否 | IP来源 |
score | tinyint | 0 | 否 | 得分,0-5分 |
useful_counts | int | 0 | 否 | 有用的计数 |
pics | varchar | 1000 | 否 | 晒图的json字符串 |
is_anonymous | int | 0 | 否 | 是否匿名(1:是 0:否) |
status | int | 0 | 否 | 是否显示,1:为显示,0:待审核, -1:不通过审核,不显示。 如果需要审核评论,则是0,,否则1 |
evaluate | tinyint | 0 | 否 | 评价(0好评 1中评 2差评) |
shop_id | bigint | 0 | 否 | 店铺id |
(7) 商品表 prod
商品类prod主要描述了商品的商品名称、店铺id、商品原价、商品现价、商品卖点、商品详细描述、商品主图地址、商品状态、商品所属类目id、商品销量、商品总库存数量、等属性。如表11-12所示。
表11-12 商品表prod
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
prod_id | bigint | 0 | 是 | 商品ID |
prod_name | varchar | 300 | 否 | 商品的名字 |
shop_id | bigint | 0 | 否 | 店铺ID |
ori_price | decimal | 15 | 否 | 原价 |
price | decimal | 15 | 否 | 现价 |
brief | varchar | 500 | 否 | 简要描述,卖点等 |
content | text | 0 | 否 | 详细描述 |
pic | varchar | 255 | 否 | 商品主图 |
imgs | varchar | 1000 | 否 | 商品图片,多个图片以,分割 |
status | int | 0 | 否 | 默认是1,表示正常状态, -1表示删除, 0下架 |
category_id | bigint | 0 | 否 | 商品所属类目id |
sold_num | int | 0 | 否 | 销量 |
total_stocks | int | 0 | 否 | 总库存 |
delivery_mode | json | 0 | 否 | 配送模式 |
delivery_template_id | bigint | 0 | 运费模板id | |
create_time | timestamp | 0 | 录入时间 | |
update_time | timestamp | 0 | 修改时间 | |
putaway_time | timestamp | 0 | 上架时间 | |
version | int | 0 | 版本 乐观锁 |
(8) 商品sku表
Spu(prod表):华为Mate60Pro sku(sku表) -> 颜色:白色 版本:16G+1T
商品sku表主要描述了商品sku的商品id、商品sku的属性、商品sku原价、商品sku现价、商品sku实际库存数量、商品sku图片地址、商品sku名称、商品名称、等属性。如表11-13所示。
表11-13 商品sku表
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
sku_id | bigint | 0 | 是 | 单品ID |
prod_id | bigint | 0 | 否 | 商品ID |
properties | varchar | 2000 | 否 | 销售属性组合字符串,格式是p1:v1;p2:v2 |
ori_price | decimal | 15 | 否 | 原价 |
price | decimal | 15 | 否 | 现价 |
stocks | int | 500 | 否 | 商品在付款减库存的状态下,该sku上未付款的订单数量 |
actual_stocks | int | 0 | 否 | 实际库存 |
pic | varchar | 500 | 否 | sku图片 |
sku_name | varchar | 120 | 否 | sku名称 |
prod_name | varchar | 255 | 否 | 商品名称 |
model_id | varchar | 100 | 否 | 商品条形码 |
weight | double | 0 | 否 | 商品重量 |
volume | double | 0 | 否 | 商品体积 |
status | tinyint | 0 | 否 | 0 禁用 1 启用 |
delivery_template_id | bigint | 0 | 运费模板id | |
create_time | timestamp | 0 | 录入时间 | |
update_time | timestamp | 0 | 修改时间 | |
version | int | 0 | 版本 乐观锁 |
表11-12商品表prod和表11-13商品sku表中的version版本号字段是乐观锁中的版本号机制。而版本号机制是解决数据冲突的一种方案。
版本号机制一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数。当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取version值,在提交更新时,若刚才读取到的version值为当前数据库中的version值相等时才更新,否则重试更新操作,直到更新成功。
1.4.2 门店业务表结构
门店业务表包括:公告表、轮播图表、地区表。
下面详细描述以上三张表的结构。
(1) 公告表notice
公告表notice主要描述了公告的公告标题、公告内容、公告状态、是否置顶等属性。如表11-14所示。
表11-14 公告表
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
id | bigint | 0 | 是 | 公告id |
shop_id | bigint | 0 | 否 | 店铺id |
title | varchar | 100 | 否 | 公告标题 |
content | text | 15 | 否 | 公告内容 |
status | tinyint | 1 | 否 | 状态(1:公布 0:撤回) |
is_top | tinyint | 500 | 否 | 是否置顶:1置顶,0不置顶 |
create_time | timestamp | 0 | 否 | 录入时间 |
update_time | timestamp | 0 | 否 | 修改时间 |
(2)轮播图表 index_img
轮播图表index_img主要描述了轮播图的图片地址、图片状态、店铺id等属性。如表11-15所示。
表11-15 轮播图表
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
img_id | bigint | 0 | 是 | 轮播图id |
shop_id | bigint | 0 | 否 | 店铺id |
img_url | varchar | 200 | 否 | 图片 |
des | varchar | 200 | 否 | 说明文字,描述 |
title | varchar | 200 | 否 | 标题 |
link | varchar | 200 | 否 | 链接 |
status | tinyint | 1 | 否 | 状态:默认1显示,0不显示 |
seq | int | 0 | 否 | 顺序 |
create_time | timestamp | 0 | 否 | 录入时间 |
update_time | timestamp | 0 | 否 | 修改时间 |
(3) 地址表 area
地区表area主要描述了地区的地区名称、地区父节点id、地区级别等属性。如表11-16所示。
表11-16 地区表
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
area_id | bigint | 0 | 是 | 地区id |
area_name | varchar | 100 | 否 | 地区名称 |
parent_id | bigint | 0 | 否 | 地区父节点id |
level | Int | 0 | 否 | 级别 |
1.4.3 会员业务表结构
会员业务表包括:会员用户表、会员用户收藏记录表、会员用户收货地址表。该业务所涉及的上述3张表的关系如下图11-6所示。
图11-6 会员业务表关系示意图
下面详细描述以上三张表的结构。
(1) 会员用户表 member
会员用户表member主要描述了会员用户的微信openid、会员昵称、会员头像地址、注册时间等属性。如表11-17所示。
表11-17 会员用户表member
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
id | bigint | 0 | 是 | 会员表的主键 |
open_id | varchar | 36 | 否 | 微信openid |
nick_name | varchar | 50 | 否 | 用户昵称 |
real_name | varchar | 50 | 否 | 真实姓名 |
user_mail | varchar | 100 | 否 | 用户邮箱 |
pay_password | varchar | 50 | 否 | 支付密码 |
user_mobile | varchar | 50 | 否 | 手机号码 |
create_time | datetime | 0 | 否 | 注册时间 |
update_time | datetime | 0 | 否 | 修改时间 |
user_regip | varchar | 50 | 否 | 注册IP |
user_lasttime | datetime | 0 | 否 | 最后登录时间 |
user_lastip | varchar | 0 | 否 | 最后登录IP |
sex | char | 1 | 否 | M(男) or F(女) |
birth_date | char | 10 | 否 | 例如:2009-11-27 |
pic | varchar | 255 | 否 | 头像图片路径 |
status | int | 0 | 否 | 状态 1 正常 0 无效 |
score | int | 0 | 否 | 用户积分 |
(2) 会员用户收藏记录表 member_collection
会员收藏记录表member_collection主要描述了会员收藏记录的会员用户id、收藏商品id、收藏时间等属性。如表11-18所示。
表11-18 会员用户收藏记录表member_collection
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
id | bigint | 0 | 是 | 会员表的主键 |
open_id | varchar | 36 | 否 | 会员用户id |
prod_id | varchar | 50 | 否 | 商品id |
create_time | datetime | 50 | 否 | 收藏时间 |
(3) 会员收货地址表 member_addr
会员收货地址表member_addr主要描述了会员收货地址的会员用户id、收货人姓名、省id、省名称、市id、市名称、区id、区名称、收货详细地址、收货人手机号码、是否默认收货地址等属性。如表11-19所示。
表11-19 会员用户收货地址表member_addr
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
addr_id | bigint | 0 | 是 | 收货地址id |
open_id | varchar | 36 | 否 | 会员用户id |
receiver | varchar | 50 | 否 | 收货人姓名 |
province_id | bigint | 0 | 否 | 省id |
province | varchar | 100 | 否 | 省名称 |
city | varchar | 20 | 否 | 市名称 |
city_id | bigint | 0 | 否 | 市id |
area | varchar | 20 | 否 | 区名称 |
area_id | bigint | 0 | 否 | 区id |
post_code | varchar | 15 | 否 | 邮编 |
addr | varchar | 1000 | 否 | 收货详细地址 |
mobile | varchar | 20 | 否 | 收货人手机号码 |
status | int | 0 | 否 | 收货地址状态 |
common_addr | int | 0 | 否 | 1默认收货地址,0非默认 |
create_time | datetime | 0 | 否 | 创建时间 |
update_time | datetime | 0 | 否 | 修改时间 |
1.4.4 购物车业务表结构
购物车业务表包括:购物车表。
(1) 购物车表
购物车表basket主要描述了购物车的商品id、商品skuId、会员用户id、商品数量等属性。如表11-20所示。
表11-20 购物车表basket
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
basket_id | bigint | 0 | 是 | 会员表的主键 |
shop_id | bigint | 0 | 否 | 店铺id |
prod_id | bigint | 0 | 否 | 产品id |
sku_id | bigint | 0 | 否 | 商品skuId |
open_id | varchar | 50 | 否 | 会员用户id |
prod_count | int | 0 | 否 | 商品数量 |
create_time | timestamp | 0 | 否 | 购物时间 |
1.4.5 订单业务表结构
订单业务表包括:订单表、订单商品条目表。
图11-7 订单业务表关系示意图
下面详细描述以上两张表的结构。
(1) 订单表 order
订单表order主要描述了订单记录的订单编号、订单总值、实际总值、订单备注、订单状态、订单运费、订单收货地址id、订单商品总数量、订购时间、订单支付状态、订单关闭类型等属性。如表11-20所示。
表11-20 订单表order
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
order_id | bigint | 0 | 是 | 订单ID |
open_id | varchar | 36 | 否 | 订购用户ID |
order_number | varchar | 64 | 否 | 订单编号 |
total_money | decimal | 15 | 否 | 总值 |
actual_total | decimal | 15 | 否 | 实际总值 |
remarks | varchar | 1024 | 否 | 订单备注 |
status | int | 0 | 否 | 订单状态 1:待付款 2:待发货 3:待收货 4:待评价 5:成功 6:失败 |
dvy_type | varchar | 10 | 否 | 配送类型 |
dvy_id | bigint | 0 | 否 | 配送方式ID |
dvy_flow_id | varchar | 100 | 否 | 物流单号 |
freight_amount | decimal | 15 | 否 | 订单运费 |
addr_order_id | bigint | 0 | 否 | 用户订单地址Id |
product_nums | int | 0 | 否 | 订单商品总数 |
create_time | timestamp | 0 | 否 | 订购时间 |
update_time | timestamp | 0 | 否 | 订单更新时间 |
pay_time | timestamp | 0 | 否 | 付款时间 |
dvy_time | timestamp | 0 | 否 | 发货时间 |
finally_time | timestamp | 0 | 否 | 完成时间 |
cancel_time | timestamp | 0 | 否 | 取消时间 |
is_payed | tinyint | 1 | 否 | 是否已经支付,1:已经支付过,0:,没有支付过 |
delete_status | int | 0 | 否 | 用户订单删除状态,0:没有删除, 1:回收站, 2:永久删除 |
refund_sts | int | 0 | 否 | 0:默认,1:在处理,2:处理完成 |
reduce_amount | decimal | 15 | 否 | 优惠总额 |
close_type | tinyint | 0 | 否 | 订单关闭原因 1-超时未支付 2-退款关闭 4-买家取消 15-已通过货到付款交易 |
(2) 订单商品条目表 order_item
订单商品条目表order_item主要描述了购物车中商品条目对象的店铺id、订单编号、商品id、商品skuId、购买商品数量、商品名称、商品sku名称、商品图片地址、商品单价、商品总金额、购物时间、评论状态等属性。如表11-21所示。
表11-21 订单商品条目表order_item
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
---|---|---|---|---|
order_item_id | bigint | 0 | 是 | 订单项ID |
shop_id | bigint | 36 | 否 | 店铺id |
order_number | varchar | 64 | 否 | 订单编号 |
prod_id | bigint | 15 | 否 | 产品ID |
sku_id | bigint | 15 | 否 | 产品SkuID |
prod_count | int | 10 | 否 | 购物车产品个数 |
prod_name | varchar | 0 | 否 | 产品名称 |
sku_name | varchar | 10 | 否 | sku名称 |
pic | varchar | 0 | 否 | 产品主图片路径 |
price | decimal | 100 | 否 | 产品价格 |
product_total_amount | decimal | 15 | 否 | 单个商品总金额 |
create_time | timestamp | 0 | 否 | 购物时间 |
comm_sts | int | 0 | 否 | 评论状态: 0 未评价 1 已评价 |