3. 业务数据采集平台概述

电商业务简介

电商业务流程

以用户的浏览足迹为例说明

用户点开电商首页开始浏览,通过分类查询或通过全文搜索寻找自己中意的商品 , 将商品添加到购物车后,对商品进行结算,这时候购物车的管理和商品订单信息的生成都会对业务数据库产生影响,会生成相应的订单数据和支付数据

订单正式生成之后,还会对订单进行跟踪处理,直到订单全部完成

电商的业务流程 : 用户前台浏览商品时的商品详情的管理,用户商品加入购物车进行支付时用户个人中心&支付服务的管理,用户支付完成后订单后台服务的管理

在这里插入图片描述

电商常识

SKU和SPU

SKU (Stock Keeping Unit)(库存量基本单位): 产品统一编号 , 每种产品均对应有唯一的SKU号 , 如 : 一台银色、128G内存的、支持联通网络的iPhoneX

SPU( Standard Product Unit ):是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息集合 , 如 : iPhoneX手机

SPU : 一类商品

同一SPU的商品可以共用 :

  • 商品图片
  • 海报
  • 销售属性

在这里插入图片描述

平台属性和销售属性

平台属性 :

在这里插入图片描述

销售属性 :

在这里插入图片描述

电商业务数据

电商系统表结构

中心 :

  • 订单表 :
  • 用户表 : 用户的详细信息
  • SKU商品表 : 商品的详细信息
  • 活动表
  • 优惠券表

延伸 :

  • 优惠券领用表
  • 支付流水表 : 该订单的支付详情
  • 活动订单表
  • 订单详情表 : 订单的商品数量
  • 订单状态表
  • 商品评论表
  • 编码字典表退单表
  • SPU商品表

电商业务表 :

在这里插入图片描述

后台管理系统 :

在这里插入图片描述

活动信息表(activity_info)

字段名字段说明类型
id活动idbigint(20)
activity_name活动名称varchar(200)
activity_type活动类型(1:满减,2:折扣)varchar(10)
activity_desc活动描述varchar(2000)
start_time开始时间datetime(0)
end_time结束时间datetime(0)
create_time创建时间datetime(0)

活动规则表(activity_rule)

字段名

字段名字段说明类型
id编号int(11)
activity_id活动IDint(11)
activity_type活动类型varchar(20)
condition_amount满减金额decimal(16, 2)
condition_num满减件数bigint(20)
benefit_amount优惠金额decimal(16, 2)
benefit_discount优惠折扣decimal(10, 2)
benefit_level优惠级别bigint(20)

活动商品关联表(activity_sku)

字段名字段说明类型
id编号bigint(20)
activity_id活动 idbigint(20)
sku_idsku_idbigint(20)
create_time创建时间datetime(0)

平台属性表(base_attr_info)

字段名字段说明类型
id编号bigint(20)
attr_name属性名称varchar(100)
category_id分类idbigint(20)
category_level分类层级int(11)

平台属性值表(base_attr_value)

字段名字段说明类型
id编号bigint(20)
value_name属性值名称varchar(100)
attr_id属性idbigint(20)

一级分类表(base_category1)

字段名字段说明类型
id编号bigint(20)
name分类名称varchar(10)

二级分类表(base_category2)

字段名字段说明类型
id编号bigint(20)
name二级分类名称varchar(200)
category1_id一级分类编号bigint(20)

三级分类表(base_category3)

字段名字段说明类型
id编号bigint(20)
name三级分类名称varchar(200)
category2_id二级分类编号bigint(20)

字典表(base_dic)

字段名字段说明类型
dic_code编号varchar(10)
dic_name编码名称varchar(100)
parent_code父编号varchar(10)
create_time创建日期datetime(0)
operate_time修改日期datetime(0)

省份表(base_province)

字段名字段说明类型
ididbigint(20)
name省名称varchar(20)
region_id大区idvarchar(20)
area_code行政区位码varchar(20)
iso_code国际编码varchar(20)
iso_3166_2ISO3166编码varchar(20)

地区表(base_region)

字段名字段说明类型
id大区idvarchar(20)
region_name大区名称varchar(20)

品牌表(base_trademark)

字段名字段说明类型
id编号bigint(20)
tm_name属性值varchar(100)
logo_url品牌logo的图片路径varchar(200)

购物车表(cart_info)

字段名字段说明类型
id编号bigint(20)
user_id用户idvarchar(200)
sku_idskuidbigint(20)
cart_price放入购物车时价格decimal(10,2)
sku_num数量int(11)
img_url图片文件varchar(200)
sku_namesku名称 (冗余)varchar(200)
is_checkedint(1)
create_time创建时间datetime
operate_time修改时间datetime
is_ordered是否已经下单bigint(20)
order_time下单时间datetime
source_type来源类型varchar(20)
source_id来源编号bigint(20)

评价表(comment_info)

字段名字段说明类型
id编号bigint(20)
user_id用户idbigint(20)
nick_name用户昵称varchar(20)
head_imgvarchar(200)
sku_idskuidbigint(20)
spu_id商品idbigint(20)
order_id订单编号bigint(20)
appraise评价 1 好评 2 中评 3 差评varchar(10)
comment_txt评价内容varchar(2000)
create_time创建时间datetime
operate_time修改时间datetime

优惠券信息表(coupon_info)

字段名字段说明类型
id购物券编号bigint(20)
coupon_name购物券名称varchar(100)
coupon_type购物券类型 1 现金券 2 折扣券 3 满减券 4 满件打折券varchar(10)
condition_amount满额数(3)decimal(10,2)
condition_num满件数(4)bigint(20)
activity_id活动编号bigint(20)
benefit_amount减金额(1 3)decimal(16,2)
benefit_discount折扣(2 4)decimal(16,2)
create_time创建时间datetime
range_type范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌varchar(10)
limit_num最多领用次数int(11)
taken_count已领用次数int(11)
start_time可以领取的开始日期datetime
end_time可以领取的结束日期datetime
operate_time修改时间datetime
expire_time过期时间datetime
range_desc范围描述varchar(500)

优惠券优惠范围表(coupon_range)

字段名字段说明类型
id购物券编号bigint(20)
coupon_id优惠券idbigint(20)
range_type范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌varchar(10)
range_idbigint(20)

优惠券领用表(coupon_use)

字段名字段说明类型
id编号bigint(20)
coupon_id购物券IDbigint(20)
user_id用户IDbigint(20)
order_id订单IDbigint(20)
coupon_status购物券状态(1:未使用 2:已使用)varchar(10)
get_time获取时间datetime
using_time使用时间datetime
used_time支付时间datetime
expire_time过期时间datetime

收藏表(favor_info)

字段名字段说明类型
id编号bigint(20)
user_id用户名称bigint(20)
sku_idskuidbigint(20)
spu_id商品idbigint(20)
is_cancel是否已取消 0 正常 1 已取消varchar(1)
create_time创建时间datetime
cancel_time修改时间datetime

订单明细表(order_detail)

字段名字段说明类型
id编号bigint(20)
order_id订单编号bigint(20)
sku_idsku_idbigint(20)
sku_namesku名称(冗余)varchar(200)
img_url图片名称(冗余)varchar(200)
order_price购买价格(下单时sku价格)decimal(10,2)
sku_num购买个数bigint(20)
create_time创建时间datetime
source_type来源类型varchar(20)
source_id来源编号bigint(20)
split_total_amount分摊总金额decimal(16,2)
split_activity_amount分摊活动减免金额decimal(16,2)
split_coupon_amount分摊优惠券减免金额decimal(16,2)

订单明细活动关联表(order_detail_activity)

字段名字段说明类型
id编号bigint(20)
order_id订单idbigint(20)
order_detail_id订单明细idbigint(20)
activity_id活动IDbigint(20)
activity_rule_id活动规则bigint(20)
sku_idskuIDbigint(20)
create_time获取时间datetime

订单明细优惠券关联表(order_detail_coupon)

字段名字段说明类型
id编号bigint(20)
order_id订单idbigint(20)
order_detail_id订单明细idbigint(20)
coupon_id购物券IDbigint(20)
coupon_use_id购物券领用idbigint(20)
sku_idskuIDbigint(20)
create_time获取时间datetime

订单表(order_info)

字段名字段说明类型
id编号bigint(20)
consignee收货人varchar(100)
consignee_tel收件人电话varchar(20)
total_amount总金额
order_status订单状态varchar(20)
user_id用户idbigint(20)
payment_way付款方式varchar(20)
delivery_address送货地址varchar(1000)
order_comment订单备注varchar(200)
out_trade_no订单交易编号(第三方支付用)varchar(50)
trade_body订单描述(第三方支付用)varchar(200)
create_time创建时间datetime
operate_time操作时间datetime
expire_time失效时间datetime
process_status进度状态varchar(20)
tracking_no物流单编号varchar(100)
parent_order_id父订单编号bigint(20)
img_url图片路径varchar(200)
province_id地区int(20)
activity_reduce_amount促销金额decimal(16,2)
coupon_reduce_amount优惠券decimal(16,2)
original_total_amount原价金额decimal(16,2)
freight_fee运费decimal(16,2)
freight_fee_reduce运费减免decimal(16,2)
refundable_time可退款日期(签收后30天)datetime

退单表(order_refund_info)

字段名字段说明类型
id编号bigint(20)
user_id用户idbigint(20)
order_id订单idbigint(20)
sku_idskuidbigint(20)
refund_type退款类型varchar(20)
refund_num退货件数bigint(20)
refund_amount退款金额decimal(16,2)
refund_reason_type原因类型varchar(200)
refund_reason_txt原因内容bigint(20)
refund_status退款状态(0:待审批 1:已退款)bigint(10)
create_time创建时间datetime

订单状态流水表(order_status_log)

字段名字段说明类型
id主键bigint(11)
order_id订单idbigint(11)
order_status订单状态varchar(11)
operate_time操作时间datetime

支付表(payment_info)

字段名字段说明类型
id编号int(11)
out_trade_no对外业务编号varchar(50)
order_id订单编号bigint(50)
user_id用户idbigint(20)
payment_type支付类型(微信 支付宝)varchar(20)
trade_no交易编号varchar(50)
total_amount支付金额decimal(10,2)
subject交易内容varchar(200)
payment_status支付状态varchar(20)
create_time创建时间datetime
callback_time回调时间datetime
callback_content回调信息text

退款表(refund_payment)

字段名字段说明类型
id编号int(11)
out_trade_no对外业务编号bigint(20)
order_id订单编号bigint(20)
sku_id商品idbigint(20)
payment_type支付类型(微信 支付宝)varchar(20)
trade_no交易编号varchar(50)
total_amount退款金额decimal(10,2)
subject交易内容varchar(200)
refund_status退款状态varchar(30)
create_time创建时间datetime
callback_time回调时间datetime
callback_content回调信息text

SKU平台属性值表(sku_attr_value)

字段名字段说明类型
id编号bigint(20)
attr_id属性id(冗余)bigint(20)
value_id属性值idbigint(20)
sku_idskuidbigint(20)
attr_name属性名称varchar(30)
value_name属性值名称varchar(30)

SKU信息表(sku_info)

字段名字段说明类型
id库存id(itemID)bigint(20)
spu_id商品idbigint(20)
price价格decimal(10,0)
sku_namesku名称varchar(200)
sku_desc商品规格描述varchar(2000)
weight重量decimal(10,2)
tm_id品牌(冗余)bigint(20)
category3_id三级分类id(冗余)bigint(20)
sku_default_img默认显示图片(冗余)varchar(300)
is_sale是否销售(1:是 0:否)tinyint(3)
create_time创建时间datetime

SKU销售属性表(sku_sale_attr_value)

字段名字段说明类型
ididbigint(20)
sku_id库存单元idbigint(20)
spu_idspu_id(冗余)int(11)
sale_attr_value_id销售属性值idbigint(20)
sale_attr_id销售属性idbigint(20)
sale_attr_name销售属性名varchar(30)
sale_attr_value_name销售属性值名称varchar(30)

SPU信息表(spu_info)

字段名字段说明类型
id商品idbigint(20)
spu_name商品名称varchar(200)
description商品描述(后台简述)varchar(1000)
category3_id三级分类idbigint(20)
tm_id品牌idbigint(20)

SPU销售属性表(spu_sale_attr)

字段名字段说明类型
id编号(业务中无关联)bigint(20)
spu_id商品idbigint(20)
base_sale_attr_id销售属性idbigint(20)
sale_attr_name销售属性名称(冗余)varchar(20)

SPU销售属性值表(spu_sale_attr_value)

字段名字段说明类型
id销售属性值编号bigint(20)
spu_id商品idbigint(20)
base_sale_attr_id销售属性idbigint(20)
sale_attr_value_name销售属性值名称varchar(20)
sale_attr_name销售属性名称(冗余)varchar(20)

用户地址表(user_address)

字段名字段说明类型
id编号bigint(20)
user_id用户idbigint(20)
province_id省份idbigint(20)
user_address用户地址varchar(500)
consignee收件人varchar(40)
phone_num联系方式varchar(40)
is_default是否是默认varchar(1)

用户信息表(user_info)

字段名字段说明类型
id编号bigint(20)
login_name用户名称varchar(200)
nick_name用户昵称varchar(200)
passwd用户密码varchar(200)
name用户姓名varchar(200)
phone_num手机号varchar(200)
email邮箱varchar(200)
head_img头像varchar(200)
user_level用户级别varchar(200)
birthday用户生日date
gender性别 M男,F女varchar(1)
create_time创建时间datetime
operate_time修改时间datetime
status状态varchar(200)

模拟生成业务数据

MySQL安装

Docker 安装

https://blog.csdn.net/qq_44226094/article/details/123194965

业务数据生成

设置数据库名称为 gmall,编码为 utf-8,排序规则为 utf8_general_ci

在这里插入图片描述

选择 sql 文件进行导入

在这里插入图片描述

cpucode101/opt/module/db_log 文件夹

mkdir db_log

在这里插入图片描述

gmall2020-mock-db-2021-11-14.jarapplication.properties 上传到 cpucode101/opt/module/db_log 路径上

在这里插入图片描述

修改文件所有者和文件关联组

sudo chown cpu:cpu application.properties
sudo chown cpu:cpu gmall2020-mock-db-2021-11-14.jar

在这里插入图片描述

根据需求修改 application.properties 相关配置

vim application.properties
logging.level.root=info

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://cpucode102:3306/gmall?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=xxxxxx

logging.pattern.console=%m%n

mybatis-plus.global-config.db-config.field-strategy=not_null
mybatis.mapperLocations=classpath:mapper/*.xml

#业务日期
mock.date=2020-06-14
#是否重置,首日须设置为1
mock.clear=1
#是否重置用户,首日须设置为1
mock.clear.user=1

#生成新用户数量
mock.user.count=200
#男性比例
mock.user.male-rate=20
#用户数据变化概率
mock.user.update-rate:20

#收藏取消比例
mock.favor.cancel-rate=10
#收藏数量
mock.favor.count=100

#每个用户添加购物车的概率
mock.cart.user-rate=10
#每次每个用户最多添加多少种商品进购物车
mock.cart.max-sku-count=8 
#每个商品最多买几个
mock.cart.max-sku-num=3 

#购物车来源  用户查询,商品推广,智能推荐, 促销活动
mock.cart.source-type-rate=60:20:10:10

#用户下单比例
mock.order.user-rate=30
#用户从购物中购买商品比例
mock.order.sku-rate=50
#是否参加活动
mock.order.join-activity=1
#是否使用购物券
mock.order.use-coupon=1
#购物券领取人数
mock.coupon.user-count=100

#支付比例
mock.payment.rate=70
#支付方式 支付宝:微信 :银联
mock.payment.payment-type=30:60:10

#评价比例 好:中:差:自动
mock.comment.appraise-rate=30:10:10:50

#退款原因比例:质量问题 商品描述与实际描述不一致 缺货 号码不合适 拍错 不想买了 其他
mock.refund.reason-rate=30:10:20:5:15:5:5

logging.level.com.atguigu.gmall2020.mock.db.mapper=debug

在这里插入图片描述

生成 2020-06-14 日期数据:

java -jar gmall2020-mock-db-2021-11-14.jar

在这里插入图片描述

查看 gmall 数据库,观察是否有 2020-06-14 的数据出现

vim application.properties

修改其中的数据

#业务日期
mock.date=2020-06-15
#是否重置,首日须置为1,之后置为0
mock.clear=0
#是否重置用户,首日须置为1,之后置为0
mock.clear.user=0

重新启动 , 插入新数据

java -jar gmall2020-mock-db-2021-11-14.jar

业务数据梳理工具

CHINER 这款数据库设计工具,来辅助我们梳理复杂的业务表关系

导入 mysql

在这里插入图片描述

使用这个导入

在这里插入图片描述

加关系图

在这里插入图片描述

点击拖拽就可以

在这里插入图片描述

业务数据采集平台搭建 :

https://blog.csdn.net/qq_44226094/article/details/123171150

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值