Advertisement

[数仓]二、离线数仓(业务数据采集)

阅读量:

1章 电商业务****简介

1**.1 电商业务流程**

电商的业务流程可以以一个普通用户的浏览足迹为例进行说明,用户点开电商首页开始浏览,可能会通过分类查询也可能通过全文搜索寻找自己中意的商品,这些商品无疑都是存储在后台的管理系统中的。

当用户寻找到自己中意的商品,可能会想要购买,将商品添加到购物车后发现需要登录,登录后对商品进行结算,这时候购物车的管理和商品订单信息的生成都会对业务数据库产生影响,会生成相应的订单数据和支付数据。

订单正式生成之后,还会对订单进行跟踪处理,直到订单全部完成。电商的主要业务流程包括用户前台浏览商品时的商品详情的管理,用户商品加入购物车进行支付时用户个人中心&支付服务的管理,用户支付完成后订单后台服务的管理,这些流程涉及到了十几个甚至几十个业务数据表,甚至更多。

1**.2电商常识**

1.2.1SKU和SPU

SKU = Stock Keeping Unit(库存量基本单位)。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。

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

复制代码
 在电商系统中,SPU(Standard Product Unit)和SKU(Stock Keeping Unit)是商品管理中常见的概念:

    
  
    
 1. SPU(Standard Product Unit):
    
 SPU是标准化产品单元,它指的是具有相同属性、功能和外观的产品组。
    
 通常来说,同一个SPU下的产品在功能上是一致的,但可能存在一些细微的差异,比如颜色、尺寸等变量。
    
 在电商系统中,SPU通常用来表示一组类似的产品,方便管理和展示。
    
  
    
 2. SKU(Stock Keeping Unit):
    
 SKU是库存管理单位,是在特定商品下具有独特标识的产品个体。
    
 每个SKU一般对应着具体的产品属性,比如颜色、尺寸、版本等。
    
 具有不同属性的产品会有不同的SKU。SKU在电商系统中用于标识具体的产品个体,便于准确记录和管理库存。
    
  
    
 简单来说,SPU是针对一组相似产品的单元,而SKU是针对具体产品的唯一标识单元,
    
 用于区分不同的产品属性和库存管理。在电商系统中,SPU和SKU的使用有助于管理和展示商品信息,
    
 提高系统的效率和用户体验。

例如:iPhoneX手机就是SPU。一台银色、128G内存的、支持联通网络的iPhoneX,就是SKU。

SPU表示一类商品。同一SPU的商品可以共用商品图片、海报、销售属性等。

1.2.2****平台属性和销售属性

1)平台属性

2)销售属性

在电商系统中,平台属性和销售属性通常用于描述产品的特征和属性。它们的含义如下:

1. 平台属性(Platform Attributes):
- 平台属性是指在电商平台上用于描绘商品的固定属性,通常由平台事先定义或规定。
- 这些属性在整个平台上是一致的,是用于对商品进行归类、搜索和比较的标准属性。
- 例如,对于服装产品,平台属性可能包括颜色、尺码、品牌等,这些属性通常是固定的,用户选择时有限的选项。

2. 销售属性(Sales Attributes):
- 销售属性是指在销售过程中商家可以自由定义并用于描述商品的属性。
- 这些属性可以根据商品的特点进行灵活设置,帮助用户更全面地了解商品,促进销售。
- 例如,对于定制产品或特殊商品,销售属性可以包括用户自定义的材质、风格、功能等,用于特别标注该商品的个性化信息。

总的来说,平台属性是电商平台提供的通用、标准化的商品属性,而销售属性是商家根据实际情况提供的个性化、定制化的商品属性。这些属性的合理设置和使用可以帮助提升商品的展示效果和销售转化率。

1**.3电商系统表结构**

以下为本电商数仓系统涉及到的业务数据表结构关系。这34个表以订单表、用户表、SKU商品表、活动表和优惠券表为中心,延伸出了优惠券领用表、支付流水表、活动订单表、订单详情表、订单状态表、商品评论表、编码字典表、退单表、SPU商品表等,用户表提供用户的详细信息,支付流水表提供该订单的支付详情,订单详情表提供订单的商品数量等情况,商品表给订单详情表提供商品的详细信息。本次讲解以此34个表为例,实际项目中,业务数据库中表格远远不止这些。

Mock 业务数据的代码并没有生成所有的表数据,有些是直接在gmall.sql 文件中直接插入的,因此在导入gmall.sql中才会发现有些表有插入数据,有些表没有,而没有插入数据的表有mock程序插入。

1. 电商业务表

G:\Bigdata\Projects\大数据项目之电商数仓V6.0\12.mock\gmall.sql








2. 后台管理系统



1**.3.1****活动信息表(activity_info)**

v4.0

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

v6.0

字段名 字段说明
id 活动ID
activity_name 活动名称
activity_type 活动类型(1:满减,2:折扣)
activity_desc 活动描述
start_time 开始时间
end_time 结束时间
create_time 创建时间
operate_time 修改时间
复制代码
 SET NAMES utf8mb4;

    
 SET FOREIGN_KEY_CHECKS = 0;
    
  
    
 -- ----------------------------
    
 -- Table structure for activity_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `activity_info`;
    
 CREATE TABLE `activity_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动id',
    
   `activity_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '活动名称',
    
   `activity_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '活动类型(1:满减,2:折扣)',
    
   `activity_desc` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '活动描述',
    
   `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
    
   `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '活动表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of activity_info
    
 -- ----------------------------
    
 INSERT INTO `activity_info` VALUES (1, '小米手机专场', '3101', '小米手机满减2', '2022-01-13 01:01:54', '2023-06-19 00:00:00', '2022-05-27 00:00:00', NULL);
    
 INSERT INTO `activity_info` VALUES (2, 'CAREMiLLE口红满两个8折', '3102', 'CAREMiLLE口红满两个8折', '2022-01-13 01:01:54', '2023-06-19 00:00:00', '2022-05-27 00:00:00', NULL);
    
 INSERT INTO `activity_info` VALUES (3, '联想活动专场满减', '3101', '联想活动专场满减', '2022-01-13 01:01:54', '2023-06-19 00:00:00', '2022-05-27 00:00:00', NULL);
    
 INSERT INTO `activity_info` VALUES (4, 'TCL全场9折', '3103', 'TCL全场9折', '2022-01-13 01:01:54', '2023-06-19 00:00:00', '2022-05-27 00:00:00', NULL);

在 MySQL 中,SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; 这两个设置具有特定的含义:

1. SET NAMES utf8mb4;

  • 含义 :这个命令用于设置当前会话的字符集为 utf8mb4utf8mb4 是一种字符编码方式,能够支持完整的 Unicode 字符,包括常用的表情符号和某些特殊字符。
  • 目的 :确保输入和输出的字符数据能够正确处理和显示,特别是在涉及多种语言或特殊符号的应用场景中。

2. SET FOREIGN_KEY_CHECKS = 0;

  • 含义 :这个命令用于禁用外键约束检查。在执行此命令后,MySQL 将不再检查外键关系的完整性。
  • 目的 :通常在进行批量插入、删除或更新操作时使用,以避免由于外键约束导致的错误。这在需要临时操作数据而不想受到外键约束限制时非常有用。
  • 注意 :在禁用外键检查后,用户需要确保数据的一致性和完整性,因为数据库不会自动执行这些检查。

1.3.2****活动规则表(activity_rule

v4.0

id 编号
activity_id 活动ID
activity_type 活动类型
condition_amount 满减金额
condition_num 满减件数
benefit_amount 优惠金额
benefit_discount 优惠折扣
benefit_level 优惠级别

v6.0

id 编号
activity_id 活动ID
activity_type 活动类型
condition_amount 满减金额
condition_num 满减件数
benefit_amount 优惠金额
benefit_discount 优惠折扣
benefit_level 优惠级别
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for activity_rule
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `activity_rule`;
    
 CREATE TABLE `activity_rule`  (
    
   `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `activity_id` int NULL DEFAULT NULL COMMENT '活动id',
    
   `activity_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '活动类型',
    
   `condition_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '满减金额',
    
   `condition_num` bigint NULL DEFAULT NULL COMMENT '满减件数',
    
   `benefit_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '优惠金额',
    
   `benefit_discount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠折扣',
    
   `benefit_level` bigint NULL DEFAULT NULL COMMENT '优惠级别',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '活动规则表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of activity_rule
    
 -- ----------------------------
    
 INSERT INTO `activity_rule` VALUES (1, 1, '3101', 5000.00, NULL, 500.00, NULL, 1, '2022-02-13 01:08:32', NULL);
    
 INSERT INTO `activity_rule` VALUES (2, 1, '3101', 8000.00, NULL, 900.00, NULL, 2, '2022-02-13 01:08:32', NULL);
    
 INSERT INTO `activity_rule` VALUES (3, 2, '3102', NULL, 2, NULL, 8.50, 1, '2022-02-13 01:08:32', NULL);
    
 INSERT INTO `activity_rule` VALUES (4, 3, '3101', 5000.00, NULL, 250.00, NULL, 1, '2022-02-13 01:08:32', NULL);
    
 INSERT INTO `activity_rule` VALUES (5, 4, '3103', NULL, NULL, NULL, 9.00, 1, '2022-02-13 01:08:32', NULL);

1.3.3****活动商品关联表(activity_sku

字段名 字段说明
id 编号
activity_id 活动id
sku_id sku_id
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for activity_sku
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `activity_sku`;
    
 CREATE TABLE `activity_sku`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `activity_id` bigint NULL DEFAULT NULL COMMENT '活动id ',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'sku_id',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '活动商品关联表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of activity_sku
    
 -- ----------------------------
    
 INSERT INTO `activity_sku` VALUES (1, 1, 1, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `activity_sku` VALUES (2, 1, 2, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `activity_sku` VALUES (3, 1, 3, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `activity_sku` VALUES (4, 2, 26, '2021-12-14 00:00:00', NULL);

1.3.4****平台属性表(base_attr_info

字段名 字段说明
id 编号
attr_name 属性名称
category_id 分类id
category_level 分类层级
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_attr_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_attr_info`;
    
 CREATE TABLE `base_attr_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `attr_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '属性名称',
    
   `category_id` bigint NULL DEFAULT NULL COMMENT '分类id',
    
   `category_level` int NULL DEFAULT NULL COMMENT '分类层级',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '属性表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_attr_info
    
 -- ----------------------------
    
 INSERT INTO `base_attr_info` VALUES (23, '运行内存33', 61, 3, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_attr_info` VALUES (24, '机身内存', 61, 3, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_attr_info` VALUES (25, '处理器', 287, 3, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_attr_info` VALUES (26, '显卡', 287, 3, '2021-12-14 00:00:00', NULL);

1.3.5****平台属性值表(base_attr_value

字段名 字段说明
id 编号
value_name 属性值名称
attr_id 属性id
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_attr_value
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_attr_value`;
    
 CREATE TABLE `base_attr_value`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `value_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '属性值名称',
    
   `attr_id` bigint NULL DEFAULT NULL COMMENT '属性id',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '属性值表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_attr_value
    
 -- ----------------------------
    
 INSERT INTO `base_attr_value` VALUES (1, '红色', 18, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_attr_value` VALUES (2, '白色', 18, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_attr_value` VALUES (3, '红色', 19, '2021-12-14 00:00:00', NULL);

1.3.6****一级分类表(base_category1

v4.0

字段名 字段说明
id 编号
name 分类名称

v6.0

字段名 字段说明
id 一级品类ID
name 一级品类名称
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_category1
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_category1`;
    
 CREATE TABLE `base_category1`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '一级品类id',
    
   `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '一级品类名称',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '一级品类表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_category1
    
 -- ----------------------------
    
 INSERT INTO `base_category1` VALUES (1, '图书、音像、电子书刊', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_category1` VALUES (2, '手机', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_category1` VALUES (3, '家用电器', '2021-12-14 00:00:00', NULL);

1.3.7****二级分类表(base_category2

v4.0

字段名 字段说明
id 编号
name 二级分类名称
category1_id 一级分类编号

v6.0

字段名 字段说明
id 二级品类ID
name 二级品类名称
category1_id 一级品类ID
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_category2
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_category2`;
    
 CREATE TABLE `base_category2`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '二级品类id',
    
   `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '二级品类名称',
    
   `category1_id` bigint NULL DEFAULT NULL COMMENT '一级品类编号',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '二级品类表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_category2
    
 -- ----------------------------
    
 INSERT INTO `base_category2` VALUES (1, '电子书刊', 1, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_category2` VALUES (2, '音像', 1, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_category2` VALUES (3, '英文原版', 1, '2021-12-14 00:00:00', NULL);

1.3.8****三级分类表(base_category3

v4.0

字段名 字段说明
id 编号
name 三级分类名称
category2_id 二级分类编号

v6.0

字段名 字段说明
id 三级品类ID
name 三级品类名称
category2_id 二级品类ID
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_category3
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_category3`;
    
 CREATE TABLE `base_category3`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '三级品类id',
    
   `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '三级品类名称',
    
   `category2_id` bigint NULL DEFAULT NULL COMMENT '二级品类编号',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '三级品类表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_category3
    
 -- ----------------------------
    
 INSERT INTO `base_category3` VALUES (1, '电子书', 1, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_category3` VALUES (2, '网络原创', 1, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_category3` VALUES (3, '数字杂志', 1, '2021-12-14 00:00:00', NULL);

1.3.****9****字典表(base_dic

字段名 字段说明
dic_code 编号
dic_name 编码名称
parent_code 父编号
create_time 创建日期
operate_time 修改日期
复制代码
 -- ----------------------------

    
 -- Table structure for base_dic
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_dic`;
    
 CREATE TABLE `base_dic`  (
    
   `dic_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
    
   `dic_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码名称',
    
   `parent_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父编号',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改日期',
    
   PRIMARY KEY (`dic_code`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_dic
    
 -- ----------------------------
    
 INSERT INTO `base_dic` VALUES ('07', '退单状态', NULL, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_dic` VALUES ('0701', '商家审核中', '07', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_dic` VALUES ('0702', '商家审核通过', '07', '2021-12-14 00:00:00', NULL);

1.3.1****0****省份表(base_province

v4.0

字段名 字段说明
id id
name 省名称
region_id 大区id
area_code 行政区位码
iso_code 国际编码
iso_3166_2 ISO3166编码

v6.0

字段名 字段说明
id 省份ID
name 省份名称
region_id 地区ID
area_code 行政区位码
iso_code 旧版国际标准地区编码
iso_3166_2 新版国际标准地区编码
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_province
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_province`;
    
 CREATE TABLE `base_province`  (
    
   `id` bigint NOT NULL COMMENT 'id',
    
   `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份名称',
    
   `region_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地区id',
    
   `area_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地区编码',
    
   `iso_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '旧版国际标准地区编码,供可视化使用',
    
   `iso_3166_2` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '新版国际标准地区编码,供可视化使用',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_province
    
 -- ----------------------------
    
 INSERT INTO `base_province` VALUES (1, '北京', '1', '110000', 'CN-11', 'CN-BJ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (2, '天津', '1', '120000', 'CN-12', 'CN-TJ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (3, '山西', '1', '140000', 'CN-14', 'CN-SX', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (4, '内蒙古', '1', '150000', 'CN-15', 'CN-NM', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (5, '河北', '1', '130000', 'CN-13', 'CN-HE', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (6, '上海', '2', '310000', 'CN-31', 'CN-SH', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (7, '江苏', '2', '320000', 'CN-32', 'CN-JS', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (8, '浙江', '2', '330000', 'CN-33', 'CN-ZJ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (9, '安徽', '2', '340000', 'CN-34', 'CN-AH', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (10, '福建', '2', '350000', 'CN-35', 'CN-FJ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (11, '江西', '2', '360000', 'CN-36', 'CN-JX', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (12, '山东', '2', '370000', 'CN-37', 'CN-SD', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (13, '重庆', '6', '500000', 'CN-50', 'CN-CQ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (14, '台湾', '2', '710000', 'CN-71', 'CN-TW', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (15, '黑龙江', '3', '230000', 'CN-23', 'CN-HL', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (16, '吉林', '3', '220000', 'CN-22', 'CN-JL', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (17, '辽宁', '3', '210000', 'CN-21', 'CN-LN', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (18, '陕西', '7', '610000', 'CN-61', 'CN-SN', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (19, '甘肃', '7', '620000', 'CN-62', 'CN-GS', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (20, '青海', '7', '630000', 'CN-63', 'CN-QH', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (21, '宁夏', '7', '640000', 'CN-64', 'CN-NX', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (22, '新疆', '7', '650000', 'CN-65', 'CN-XJ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (23, '河南', '4', '410000', 'CN-41', 'CN-HA', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (24, '湖北', '4', '420000', 'CN-42', 'CN-HB', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (25, '湖南', '4', '430000', 'CN-43', 'CN-HN', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (26, '广东', '5', '440000', 'CN-44', 'CN-GD', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (27, '广西', '5', '450000', 'CN-45', 'CN-GX', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (28, '海南', '5', '460000', 'CN-46', 'CN-HI', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (29, '香港', '5', '810000', 'CN-91', 'CN-HK', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (30, '澳门', '5', '820000', 'CN-92', 'CN-MO', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (31, '四川', '6', '510000', 'CN-51', 'CN-SC', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (32, '贵州', '6', '520000', 'CN-52', 'CN-GZ', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (33, '云南', '6', '530000', 'CN-53', 'CN-YN', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_province` VALUES (34, '西藏', '6', '540000', 'CN-54', 'CN-XZ', '2021-12-14 00:00:00', NULL);

1.3.1****1****地区表(base_region

v4.0

字段名 字段说明
id 大区id
region_name 大区名称

v6.0

字段名 字段说明
id 地区ID
region_name 地区名称
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_region
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_region`;
    
 CREATE TABLE `base_region`  (
    
   `id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地区id',
    
   `region_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地区名称',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '地区表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_region
    
 -- ----------------------------
    
 INSERT INTO `base_region` VALUES ('1', '华北', '2020-05-01 11:20:40', NULL);
    
 INSERT INTO `base_region` VALUES ('2', '华东', '2020-05-01 11:20:40', NULL);
    
 INSERT INTO `base_region` VALUES ('3', '东北', '2020-05-01 11:20:40', NULL);
    
 INSERT INTO `base_region` VALUES ('4', '华中', '2020-05-01 11:20:40', NULL);
    
 INSERT INTO `base_region` VALUES ('5', '华南', '2020-05-01 11:20:40', NULL);
    
 INSERT INTO `base_region` VALUES ('6', '西南', '2020-05-01 11:20:40', NULL);
    
 INSERT INTO `base_region` VALUES ('7', '西北', '2020-05-01 11:20:40', NULL);

1.3.1****2****品牌表(base_trademark

v4.0

字段名 字段说明
id 编号
tm_name 属性值
logo_url 品牌logo的图片路径

v6.0

字段名 字段说明
id 品牌ID
tm_name 品牌名称
logo_url 品牌LOGO的图片路径
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for base_trademark
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_trademark`;
    
 CREATE TABLE `base_trademark`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `tm_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '品牌名称',
    
   `logo_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品牌logo的图片路径',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '品牌表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_trademark
    
 -- ----------------------------
    
 INSERT INTO `base_trademark` VALUES (1, 'Redmi', NULL, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_trademark` VALUES (2, '苹果', '/static/default.jpg2323', '2021-12-14 00:00:00', NULL);

?1.3.1****3****购物车表(cart_info

v4.0

字段名 字段说明
id 编号
user_id 用户id
sku_id skuid
cart_price 放入购物车时价格
sku_num 数量
img_url 图片文件
sku_name sku名称 (冗余)
is_checked 是否已经下单
create_time 创建时间
operate_time 修改时间
is_ordered 是否已经下单
order_time 下单时间
source_type 来源类型
source_id 来源编号

v6.0

字段名 字段说明
id 编号
user_id 用户ID
sku_id SKU_ID
cart_price 放入购物车时价格
sku_num 数量
img_url 图片连接
sku_name SKU名称 (冗余)
is_checked 是否被选中
create_time 创建时间
operate_time 修改时间
is_ordered 是否已下单
order_time 下单时间
source_type 来源类型
source_id 来源编号
复制代码
 -- ----------------------------

    
 -- Table structure for cart_info -- 少了两个字段
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `cart_info`;
    
 CREATE TABLE `cart_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `user_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `cart_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '放入购物车时价格',
    
   `sku_num` int NULL DEFAULT NULL COMMENT '数量',
    
   `img_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品图片地址',
    
   `sku_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku名称 (冗余)',
    
   `is_checked` int NULL DEFAULT NULL COMMENT '是否被选中',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   `is_ordered` bigint NULL DEFAULT NULL COMMENT '是否已经下单',
    
   `order_time` datetime NULL DEFAULT NULL COMMENT '下单时间',
    
   `source_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源类型',
    
   `source_id` bigint(20) NULL DEFAULT NULL COMMENT '来源编号',
    
   PRIMARY KEY (`id`) USING BTREE,
    
   INDEX `idx_uid`(`user_id` ASC) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;

1.3.1****4****评价表(comment_info

字段名 字段说明
id 编号
user_id 用户id
nick_name 用户昵称
head_img 图片
sku_id 商品sku_id
spu_id 商品spu_id
order_id 订单编号
appraise 评价 1 好评 2 中评 3 差评
comment_txt 评价内容
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for comment_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `comment_info`;
    
 CREATE TABLE `comment_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    
   `nick_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户昵称',
    
   `head_img` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT 'spuid',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单编号',
    
   `appraise` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '评价 1 好评 2 中评 3 差评',
    
   `comment_txt` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '评价内容',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商品评论表' ROW_FORMAT = DYNAMIC;

1.3.1****5****优惠券信息表(coupon_info

v4.0

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

v6.0

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

    
 -- Table structure for coupon_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `coupon_info`;
    
 CREATE TABLE `coupon_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '购物券编号',
    
   `coupon_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购物券名称',
    
   `coupon_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购物券类型 1 现金券 2 折扣券 3 满减券 4 满件打折券',
    
   `condition_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '满额数',
    
   `condition_num` bigint NULL DEFAULT NULL COMMENT '满件数',
    
   `activity_id` bigint NULL DEFAULT NULL COMMENT '活动编号',
    
   `benefit_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '减免金额',
    
   `benefit_discount` decimal(10, 2) NULL DEFAULT NULL COMMENT '折扣',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `range_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌',
    
   `limit_num` int NOT NULL DEFAULT 0 COMMENT '最多领用次数',
    
   `taken_count` int NOT NULL DEFAULT 0 COMMENT '已领用次数',
    
   `start_time` datetime NULL DEFAULT NULL COMMENT '可以领取的开始时间',
    
   `end_time` datetime NULL DEFAULT NULL COMMENT '可以领取的结束时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   `expire_time` datetime NULL DEFAULT NULL COMMENT '过期时间',
    
   `range_desc` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '范围描述',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '优惠券信息表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of coupon_info
    
 -- ----------------------------
    
 INSERT INTO `coupon_info` VALUES (1, '口红品类券满99减30', '3201', 99.00, NULL, NULL, 30.00, NULL, '2022-06-06 00:00:00', '3301', 100, 0, '2022-02-13 01:15:41', '2023-12-13 01:15:58', NULL, '2023-12-13 01:15:58', NULL);
    
 INSERT INTO `coupon_info` VALUES (2, '口红品类券满199减70', '3201', 199.00, NULL, NULL, 70.00, NULL, '2022-05-20 00:00:00', '3301', 100, 0, '2022-02-13 01:15:41', '2023-12-13 01:15:58', NULL, '2023-12-13 01:15:58', NULL);

1.3.****16****优惠券优惠范围表(coupon_range

字段名 字段说明
id 购物券编号
coupon_id 优惠券id
range_type 范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌
range_id 范围id
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for coupon_range
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `coupon_range`;
    
 CREATE TABLE `coupon_range`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '购物券编号',
    
   `coupon_id` bigint NOT NULL DEFAULT 0 COMMENT '优惠券id',
    
   `range_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌',
    
   `range_id` bigint NOT NULL DEFAULT 0,
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '优惠券范围表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of coupon_range
    
 -- ----------------------------
    
 INSERT INTO `coupon_range` VALUES (1, 1, '3301', 477, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `coupon_range` VALUES (2, 2, '3301', 477, '2021-12-14 00:00:00', NULL);

1.3.****17****优惠券领用表(coupon_use

字段名 字段说明
id 编号
coupon_id 购物券ID
user_id 用户ID
order_id 订单ID
coupon_status 购物券状态(1:未使用 2:已使用)
get_time 获取时间
using_time 使用时间
used_time 支付时间
expire_time 过期时间
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for coupon_use
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `coupon_use`;
    
 CREATE TABLE `coupon_use`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `coupon_id` bigint NULL DEFAULT NULL COMMENT '购物券ID',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单ID',
    
   `coupon_status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购物券状态(1:未使用 2:已使用)',
    
   `get_time` datetime NULL DEFAULT NULL COMMENT '获取时间',
    
   `using_time` datetime NULL DEFAULT NULL COMMENT '使用时间',
    
   `used_time` datetime NULL DEFAULT NULL COMMENT '支付时间',
    
   `expire_time` datetime NULL DEFAULT NULL COMMENT '过期时间',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '优惠券领用表' ROW_FORMAT = DYNAMIC;

1.3.****18****收藏表(favor_info

字段名 字段说明
id 编号
user_id 用户id
sku_id skuid
spu_id 商品id
is_cancel 是否已取消 0 正常 1 已取消
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for favor_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `favor_info`;
    
 CREATE TABLE `favor_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT 'spuid',
    
   `is_cancel` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否已取消 0 正常 1 已取消',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商品收藏表' ROW_FORMAT = DYNAMIC;

financial_sku_cost

1.3.****19****订单明细表(order_detail)-- 14

v4.0

字段名 字段说明
id 编号
order_id 订单编号
sku_id sku_id
sku_name sku名称(冗余)
img_url 图片名称(冗余)
order_price 购买价格(下单时sku价格)
sku_num 购买个数
create_time 创建时间
source_type 来源类型
source_id 来源编号
split_total_amount 分摊总金额
split_activity_amount 分摊活动减免金额
split_coupon_amount 分摊优惠券减免金额

v6.0

字段名 字段说明
id 编号
order_id 订单ID
sku_id SKU_ID
sku_name SKU名称(冗余)
img_url 图片链接(冗余)
order_price 购买价格(下单时sku价格)
sku_num 购买个数
create_time 创建时间
source_type 来源类型
source_id 来源编号
split_total_amount 分摊总金额
split_activity_amount 分摊活动减免金额
split_coupon_amount 分摊优惠券减免金额
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for order_detail
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `order_detail`;
    
 CREATE TABLE `order_detail`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'sku_id',
    
   `sku_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku名称(冗余)',
    
   `img_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片链接(冗余)',
    
   `order_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '购买价格(下单时sku价格)',
    
   `sku_num` bigint NULL DEFAULT NULL COMMENT '购买个数',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `source_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源类型',
    
   `source_id` bigint(20) NULL DEFAULT NULL COMMENT '来源编号',
    
   `split_total_amount` decimal(16, 2) NULL DEFAULT NULL,
    
   `split_activity_amount` decimal(16, 2) NULL DEFAULT NULL,
    
   `split_coupon_amount` decimal(16, 2) NULL DEFAULT NULL,
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单明细表' ROW_FORMAT = DYNAMIC;

1.3.****20****订单明细活动关联表(order_detail_activity)-- 8

v4.0

字段名 字段说明
id 编号
order_id 订单id
order_detail_id 订单明细id
activity_id 活动ID
activity_rule_id 活动规则
sku_id skuID
create_time 获取时间

v6.0

字段名 字段说明
id 编号
order_id 订单ID
order_detail_id 订单明细ID
activity_id 活动ID
activity_rule_id 活动规则ID
sku_id SKU_ID
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for order_detail_activity
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `order_detail_activity`;
    
 CREATE TABLE `order_detail_activity`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `order_detail_id` bigint NULL DEFAULT NULL COMMENT '订单明细id',
    
   `activity_id` bigint NULL DEFAULT NULL COMMENT '活动id',
    
   `activity_rule_id` bigint NULL DEFAULT NULL COMMENT '活动规则id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单明细活动关联表' ROW_FORMAT = DYNAMIC;

1.3.****21****订单明细优惠券关联表(order_detail_coupon)-- 8

v4.0

字段名 字段说明
id 编号
order_id 订单id
order_detail_id 订单明细id
coupon_id 购物券ID
coupon_use_id 购物券领用id
sku_id skuID
create_time 获取时间

v6.0

字段名 字段说明
id 编号
order_id 订单ID
order_detail_id 订单明细ID
coupon_id 购物券ID
coupon_use_id 购物券领用ID
sku_id SKU_ID
create_time 获取时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for order_detail_coupon
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `order_detail_coupon`;
    
 CREATE TABLE `order_detail_coupon`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `order_detail_id` bigint NULL DEFAULT NULL COMMENT '订单明细id',
    
   `coupon_id` bigint NULL DEFAULT NULL COMMENT '购物券id',
    
   `coupon_use_id` bigint NULL DEFAULT NULL COMMENT '购物券领用id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单明细优惠券关联表' ROW_FORMAT = DYNAMIC;

1.3.****22****订单表(order_info)-- 25字段

v4.0

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

v6.0

字段名 字段说明
id 编号
consignee 收货人
consignee_tel 收件人电话
total_amount 总金额
order_status 订单状态
user_id 用户ID
payment_way 付款方式
delivery_address 送货地址
order_comment 订单备注
out_trade_no 订单交易编号(第三方支付用)
trade_body 订单描述(第三方支付用)
create_time 创建时间
operate_time 修改时间
expire_time 失效时间
process_status 进度状态
tracking_no 物流单编号
parent_order_id 父订单编号
img_url 图片路径
province_id 省份ID
activity_reduce_amount 活动减免金额
coupon_reduce_amount 优惠券减免金额
original_total_amount 原价金额
feight_fee 运费金额
feight_fee_reduce 运费减免金额
refundable_time 可退款时间(签收后30天)
复制代码
 -- ----------------------------

    
 -- Table structure for order_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `order_info`;
    
 CREATE TABLE `order_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `consignee` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货人',
    
   `consignee_tel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人电话',
    
   `total_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '总金额',
    
   `order_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单状态',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    
   `payment_way` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '付款方式',
    
   `delivery_address` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '送货地址',
    
   `order_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单备注',
    
   `out_trade_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单交易编号(第三方支付用)',
    
   `trade_body` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单描述(第三方支付用)',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
    
   `expire_time` datetime NULL DEFAULT NULL COMMENT '失效时间',
    
   `process_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '进度状态',
    
   `tracking_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单编号',
    
   `parent_order_id` bigint NULL DEFAULT NULL COMMENT '父订单编号',
    
   `img_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片链接',
    
   `province_id` int NULL DEFAULT NULL COMMENT '省份id',
    
   `activity_reduce_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '活动减免金额',
    
   `coupon_reduce_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '优惠券减免金额',
    
   `original_total_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '原始总金额',
    
   `feight_fee` decimal(16, 2) NULL DEFAULT NULL COMMENT '运费金额',
    
   `feight_fee_reduce` decimal(16, 2) NULL DEFAULT NULL COMMENT '运费减免金额',
    
   `refundable_time` datetime NULL DEFAULT NULL COMMENT '可退款时间(签收后30天)',
    
   PRIMARY KEY (`id`) USING BTREE,
    
   INDEX `idx_uid_status`(`order_status` ASC, `user_id` ASC) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单表' ROW_FORMAT = DYNAMIC;

1.3.2****3****退单表(order_refund_info)-- 12

v4.0

字段名 字段说明
id 编号
user_id 用户id
order_id 订单id
sku_id skuid
refund_type 退款类型
refund_num 退货件数
refund_amount 退款金额
refund_reason_type 原因类型
refund_reason_txt 原因内容
refund_status 退款状态(0:待审批 1:已退款)
create_time 创建时间

v6.0

字段名 字段说明
id 编号
user_id 用户ID
order_id 订单ID
sku_id SKU_ID
refund_type 退款类型
refund_num 退货件数
refund_amount 退款金额
refund_reason_type 原因类型
refund_reason_txt 原因内容
refund_status 退款状态(0:待审批 1:已退款)
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for order_refund_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `order_refund_info`;
    
 CREATE TABLE `order_refund_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `refund_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款类型',
    
   `refund_num` bigint NULL DEFAULT NULL COMMENT '退货件数',
    
   `refund_amount` decimal(16, 2) NULL DEFAULT NULL COMMENT '退款金额',
    
   `refund_reason_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原因类型',
    
   `refund_reason_txt` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原因内容',
    
   `refund_status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态(0:待审批 1:已退款)',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退单表' ROW_FORMAT = DYNAMIC;

1.3.2****4****订单状态流水表(order_status_log

v4.0

字段名 字段说明
id 编号
order_id 订单编号
order_status 订单状态
operate_time 操作时间

v6.0

字段名 字段说明
id 编号
order_id 订单编号
order_status 订单状态
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for order_status_log
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `order_status_log`;
    
 CREATE TABLE `order_status_log`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `order_status` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单状态',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单状态流水表' ROW_FORMAT = DYNAMIC;

1.3.****25****支付表(payment_info)-- 13

v4.0

字段名 字段说明
id 编号
out_trade_no 对外业务编号
order_id 订单编号
user_id 用户id
payment_type 支付类型(微信 支付宝)
trade_no 交易编号
total_amount 支付金额
subject 交易内容
payment_status 支付状态
create_time 创建时间
callback_time 回调时间
callback_content 回调信息

v6.0

字段名 字段说明
id 编号
out_trade_no 对外业务编号
order_id 订单编号
user_id 用户ID
payment_type 支付类型(微信 支付宝)
trade_no 交易编号
total_amount 支付金额
subject 交易内容
payment_status 支付状态
create_time 创建时间
callback_time 回调时间
callback_content 回调信息
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for payment_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `payment_info`;
    
 CREATE TABLE `payment_info`  (
    
   `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `out_trade_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对外业务编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    
   `payment_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付类型(微信 支付宝)',
    
   `trade_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易编号',
    
   `total_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '支付金额',
    
   `subject` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易内容',
    
   `payment_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `callback_time` datetime NULL DEFAULT NULL COMMENT '回调时间',
    
   `callback_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '回调信息',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付信息表' ROW_FORMAT = DYNAMIC;

1.3.****26****退款表(refund_payment)-- 13

v4.0

字段名 字段说明
id 编号
out_trade_no 对外业务编号
order_id 订单编号
sku_id 商品sku_id
payment_type 支付类型(微信 支付宝)
trade_no 交易编号
total_amount 退款金额
subject 交易内容
refund_status 退款状态
create_time 创建时间
callback_time 回调时间
callback_content 回调信息

v6.0

字段名 字段说明
id 编号
out_trade_no 对外业务编号
order_id 订单编号
sku_id SKU_ID
payment_type 支付类型(微信 支付宝)
trade_no 交易编号
total_amount 退款金额
subject 交易内容
refund_status 退款状态
create_time 创建时间
callback_time 回调时间
callback_content 回调信息
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for refund_payment
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `refund_payment`;
    
 CREATE TABLE `refund_payment`  (
    
   `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `out_trade_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对外业务编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `payment_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付类型(微信 支付宝)',
    
   `trade_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易编号',
    
   `total_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '退款金额',
    
   `subject` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易内容',
    
   `refund_status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `callback_time` datetime NULL DEFAULT NULL COMMENT '回调时间',
    
   `callback_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '回调信息',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE,
    
   INDEX `idx_out_trade_no`(`out_trade_no` ASC) USING BTREE,
    
   INDEX `idx_order_id`(`order_id` ASC) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款支付表' ROW_FORMAT = DYNAMIC;

1.3.****27****SKU平台属性表(sku_attr_value

v4.0

字段名 字段说明
id 编号
attr_id 属性id(冗余)
value_id 属性值id
sku_id skuid
attr_name 属性名称
value_name 属性值名称

v6.0

字段名 字段说明
id 编号
attr_id 属性ID(冗余)
value_id 属性值ID
sku_id SKU_ID
attr_name 属性名称
value_name 属性值名称
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for sku_attr_value
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `sku_attr_value`;
    
 CREATE TABLE `sku_attr_value`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `attr_id` bigint NULL DEFAULT NULL COMMENT '平台属性id(冗余)',
    
   `value_id` bigint NULL DEFAULT NULL COMMENT '平台属性值id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `attr_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '平台属性名称',
    
   `value_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '平台属性值名称',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'sku平台属性值关联表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of sku_attr_value
    
 -- ----------------------------
    
 INSERT INTO `sku_attr_value` VALUES (1, 106, 176, 1, '手机一级1', '安卓手机', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `sku_attr_value` VALUES (2, 107, 177, 1, '二级手机2', '小米', '2021-12-14 00:00:00', NULL);

1.3.****28****SKU信息表(sku_info

v4.0

字段名 字段说明
id 库存id(itemID)
spu_id 商品id
price 价格
sku_name sku名称
sku_desc 商品规格描述
weight 重量
tm_id 品牌(冗余)
category3_id 三级分类id(冗余)
sku_default_img 默认显示图片(冗余)
is_sale 是否销售(1:是 0:否)
create_time 创建时间

v6.0

字段名 字段说明
id SKU_ID
spu_id SPU_ID 商品id
price 价格
sku_name SKU名称
sku_desc 商品规格描述
weight 重量
tm_id 品牌ID(冗余)
category3_id 三级品类ID(冗余)
sku_default_img 默认显示图片(冗余)
is_sale 是否销售(1:是 0:否)
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for sku_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `sku_info`;
    
 CREATE TABLE `sku_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'skuid',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT 'spuid',
    
   `price` decimal(10, 0) NULL DEFAULT NULL COMMENT '价格',
    
   `sku_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku名称',
    
   `sku_desc` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品规格描述',
    
   `weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '重量',
    
   `tm_id` bigint NULL DEFAULT NULL COMMENT '品牌id(冗余)',
    
   `category3_id` bigint NULL DEFAULT NULL COMMENT '三级品类id(冗余)',
    
   `sku_default_img` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认显示图片地址(冗余)',
    
   `is_sale` tinyint NOT NULL DEFAULT 0 COMMENT '是否在售(1:是 0:否)',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'sku表' ROW_FORMAT = DYNAMIC;

1.3.****29****SKU销售属性表(sku_sale_attr_value

通常情况下,SPU包含了平台属性和销售属性,而SKU主要用于区分不同的产品变体,因此通常只包含销售属性。

v4.0

字段名 字段说明
id id
sku_id 库存单元id
spu_id spu_id(冗余)
sale_attr_value_id 销售属性值id
sale_attr_id 销售属性id
sale_attr_name 销售属性值名称
sale_attr_value_name 销售属性值名称

v6.0

字段名 字段说明
id 编号
sku_id SKU_ID 库存单元id
spu_id SPU_ID(冗余)
sale_attr_value_id 销售属性值ID
sale_attr_id 销售属性ID
sale_attr_name 销售属性名称
sale_attr_value_name 销售属性值名称
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for sku_sale_attr_value
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `sku_sale_attr_value`;
    
 CREATE TABLE `sku_sale_attr_value`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'sku_id',
    
   `spu_id` int NULL DEFAULT NULL COMMENT 'spu_id(冗余)',
    
   `sale_attr_value_id` bigint NULL DEFAULT NULL COMMENT '销售属性值id',
    
   `sale_attr_id` bigint NULL DEFAULT NULL COMMENT '销售属性id',
    
   `sale_attr_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售属性名称',
    
   `sale_attr_value_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售属性值名称',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'sku销售属性值表' ROW_FORMAT = DYNAMIC;

1.3.3****0****SPU信息表(spu_info

v4.0

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

v6.0

字段名 字段说明
id SPU_ID
spu_name SPU名称
description 商品描述(后台简述)
category3_id 三级品类ID
tm_id 品牌ID
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for spu_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `spu_info`;
    
 CREATE TABLE `spu_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'spu_id',
    
   `spu_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'spu名称',
    
   `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述信息',
    
   `category3_id` bigint NULL DEFAULT NULL COMMENT '三级品类id',
    
   `tm_id` bigint NULL DEFAULT NULL COMMENT '品牌id',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'spu表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of spu_info
    
 -- ----------------------------
    
 INSERT INTO `spu_info` VALUES (1, '小米12sultra', '小米10', 61, 1, '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `spu_info` VALUES (2, 'Redmi 10X', 'Redmi 10X', 61, 1, '2021-12-14 00:00:00', NULL);

1.3.****31****SPU销售属性表(spu_sale_attr

v4.0

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

v6.0

字段名 字段说明
id 编号(业务中无关联)
spu_id SPU_ID
base_sale_attr_id 销售属性ID
sale_attr_name 销售属性名称(冗余)
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for spu_sale_attr
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `spu_sale_attr`;
    
 CREATE TABLE `spu_sale_attr`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号(业务中无关联)',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT '商品id',
    
   `base_sale_attr_id` bigint NULL DEFAULT NULL COMMENT '销售属性id',
    
   `sale_attr_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售属性名称(冗余)',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'spu销售属性表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of spu_sale_attr
    
 -- ----------------------------
    
 INSERT INTO `spu_sale_attr` VALUES (1, 1, 1, '颜色', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `spu_sale_attr` VALUES (2, 1, 2, '版本', '2021-12-14 00:00:00', NULL);

1.3.****32****SPU销售属性值表(spu_sale_attr_value

v4.0

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

v6.0

字段名 字段说明
id 销售属性值编号
spu_id SPU_ID
base_sale_attr_id 销售属性ID
sale_attr_value_name 销售属性值名称
sale_attr_name 销售属性名称(冗余)
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for spu_sale_attr_value
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `spu_sale_attr_value`;
    
 CREATE TABLE `spu_sale_attr_value`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '销售属性值编号',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT 'spuid',
    
   `base_sale_attr_id` bigint NULL DEFAULT NULL COMMENT '销售属性id',
    
   `sale_attr_value_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售属性值名称',
    
   `sale_attr_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售属性名称(冗余)',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'spu销售属性值表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of spu_sale_attr_value
    
 -- ----------------------------
    
 INSERT INTO `spu_sale_attr_value` VALUES (1, 1, 1, '冷杉绿', '颜色', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `spu_sale_attr_value` VALUES (2, 1, 1, '经典黑', '颜色', '2021-12-14 00:00:00', NULL);

1.3.****33****用户地址表(user_address

v4.0

字段名 字段说明
id 编号
user_id 用户id
province_id 省份id
user_address 用户地址
consignee 收件人
phone_num 联系方式
is_default 是否是默认

v6.0

字段名 字段说明
id 编号
user_id 用户ID
province_id 省份ID
user_address 用户地址
consignee 收件人
phone_num 联系方式
is_default 是否是默认
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for user_address
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `user_address`;
    
 CREATE TABLE `user_address`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    
   `province_id` bigint NULL DEFAULT NULL COMMENT '省份id',
    
   `user_address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户地址',
    
   `consignee` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人',
    
   `phone_num` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系方式',
    
   `is_default` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否是默认',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户地址表' ROW_FORMAT = DYNAMIC;

1.3.****34****用户信息表(user_info

v4.0

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

v6.0

字段名 字段说明
id 编号
login_name 用户名称
nick_name 用户昵称
passwd 用户密码
name 用户姓名
phone_num 手机号
email 邮箱
head_img 头像
user_level 用户级别
birthday 用户生日
gender 性别 M男,F女
create_time 创建时间
operate_time 修改时间
status 状态
复制代码
 -- ----------------------------

    
 -- Table structure for user_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `user_info`;
    
 CREATE TABLE `user_info`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `login_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称',
    
   `nick_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户昵称',
    
   `passwd` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户密码',
    
   `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户姓名',
    
   `phone_num` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
    
   `email` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
    
   `head_img` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
    
   `user_level` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户级别',
    
   `birthday` date NULL DEFAULT NULL COMMENT '用户生日',
    
   `gender` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别 M男,F女',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   `status` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of user_info
    
 -- ----------------------------
    
 INSERT INTO `user_info` VALUES (1, '5vifw38y83', '亮政', NULL, '马亮政', '13624443478', '5vifw38y83@163.com', NULL, '3', '1998-05-08', 'M', '2022-06-08 00:00:00', NULL, NULL);
    
 INSERT INTO `user_info` VALUES (2, 'maoddwb', '珍贞', NULL, '韩珍贞', '13796741171', 'maoddwb@0355.net', NULL, '3', '1987-12-08', 'F', '2022-06-08 00:00:00', NULL, NULL);

1.3.35****营销坑位表(promotion_pos)(v6.0) -- 6

字段名 字段说明
id 营销坑位ID
pos_location 营销坑位位置
pos_type 营销坑位类型
promotion_type 营销类型
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for promotion_pos
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `promotion_pos`;
    
 CREATE TABLE `promotion_pos`  (
    
   `id` bigint NOT NULL COMMENT '营销坑位id',
    
   `pos_location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '营销坑位位置',
    
   `pos_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '营销坑位类型:banner,宫格,列表, 瀑布',
    
   `promotion_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '营销类型:算法、固定、搜索',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '营销坑位表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of promotion_pos
    
 -- ----------------------------
    
 INSERT INTO `promotion_pos` VALUES (1, '首页banner', '4201', '4101', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (2, '首页下方瀑布推荐', '4204', '4102', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (3, '搜索页排行列表', '4203', '4102', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (4, '详情页下方9宫格', '4202', '4102', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (5, '购物车底部瀑布', '4104', '4102', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (6, '我的页底部瀑布', '4104', '4102', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (7, '新品精选-新发现瀑布', '4204', '4101', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (8, '双十一活动页瀑布', '4204', '4101', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (9, '双十一活动banner', '4201', '4101', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_pos` VALUES (10, '商品搜索结果列表瀑布', '4204', '4103', '2021-12-14 00:00:00', NULL);

1.3.36****营销渠道表(promotion_refer)(v6.0)

字段名 字段说明
id 营销渠道ID
refer_name 营销渠道名称
create_time 创建时间
operate_time 修改时间
复制代码
 -- ----------------------------

    
 -- Table structure for promotion_refer
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `promotion_refer`;
    
 CREATE TABLE `promotion_refer`  (
    
   `id` bigint NOT NULL COMMENT '外部营销渠道id',
    
   `refer_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部营销渠道名称',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '营销渠道表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of promotion_refer
    
 -- ----------------------------
    
 INSERT INTO `promotion_refer` VALUES (1, '百度推广', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_refer` VALUES (2, '小红书软文', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_refer` VALUES (3, '手机推送消息', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_refer` VALUES (4, '微信公众号', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `promotion_refer` VALUES (5, '微博推广', '2021-12-14 00:00:00', NULL);

1.3.37 秒杀商品 seckill_goods

复制代码
 -- ----------------------------

    
 -- Table structure for seckill_goods
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `seckill_goods`;
    
 CREATE TABLE `seckill_goods`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT,
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT 'spu_id',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'sku_id',
    
   `sku_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
    
   `sku_default_img` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品图片',
    
   `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '原价格',
    
   `cost_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '秒杀价格',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '添加日期',
    
   `check_time` datetime NULL DEFAULT NULL COMMENT '审核日期',
    
   `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核状态',
    
   `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
    
   `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
    
   `num` int NULL DEFAULT NULL COMMENT '秒杀商品数',
    
   `stock_count` int NULL DEFAULT NULL COMMENT '剩余库存数',
    
   `sku_desc` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

1.3.38 sku_image

复制代码
 -- ----------------------------

    
 -- Table structure for sku_image
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `sku_image`;
    
 CREATE TABLE `sku_image`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `img_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片名称(冗余)',
    
   `img_url` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片路径(冗余)',
    
   `spu_img_id` bigint NULL DEFAULT NULL COMMENT 'spu图片id',
    
   `is_default` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否默认',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存单元图片表' ROW_FORMAT = DYNAMIC;

1.3.39 spu_image

复制代码
 -- ----------------------------

    
 -- Table structure for spu_image
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `spu_image`;
    
 CREATE TABLE `spu_image`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT '商品id',
    
   `img_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片名称',
    
   `img_url` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片路径',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'spu图片表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of spu_image
    
 -- ----------------------------
    
 INSERT INTO `spu_image` VALUES (1, 1, '2ff0882c9607e57c.jpg2', 'http://47.93.148.192:8080/group1/M00/00/01/rBHu8l-rfvmAIpgZAAIvrX6L9fo612.jpg', NULL, NULL);
    
 INSERT INTO `spu_image` VALUES (2, 1, 'ead186426badb626.jpg3', 'http://47.93.148.192:8080/group1/M00/00/01/rBHu8l-rfvmAHpFuAACTenfIJWo734.jpg', NULL, NULL);

1.3.40 spu_poster

"poster" 通常指海报或宣传图,用于展示产品或服务的信息、特点或宣传元素。"SPU Poster" 表示具体产品的宣传海报,用于展示某个标准产品单元的功能、外观或特性,帮助用户了解和选择该产品。SPU 海报通常包含产品的图片、描述、价格等信息,旨在吸引消费者对该特定产品感兴趣。

复制代码
 -- ----------------------------

    
 -- Table structure for spu_poster
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `spu_poster`;
    
 CREATE TABLE `spu_poster`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `spu_id` bigint NULL DEFAULT NULL COMMENT '商品id',
    
   `img_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称',
    
   `img_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件路径',
    
   `create_time` datetime NOT NULL COMMENT '创建时间',
    
   `operate_time` datetime NOT NULL COMMENT '更新时间',
    
   `is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除 1(true)已删除, 0(false)未删除',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商品海报表' ROW_FORMAT = DYNAMIC;

1.3.41 ware_info 存储仓库信息

复制代码
 -- ----------------------------

    
 -- Table structure for ware_info
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `ware_info`;
    
 CREATE TABLE `ware_info`  (
    
   `id` bigint NOT NULL,
    
   `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    
   `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    
   `areacode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

1.3.42 ware_order_task 库存工单管理

ware_order_task 表是一个用于管理库存工作单的表。这个表存储了一些与订单处理和库存管理相关的信息:
1. id:编号,用于识别每个工作单的唯一标识符。
2. order_id:订单编号,与具体订单对应。
3. consignee:收货人姓名。
4. consignee_tel:收货人电话。
5. delivery_address:送货地址,描述订单需要配送到的地址。
6. order_comment:订单备注,可能包含一些关于订单的额外信息。
7. payment_way:付款方式,可能表示订单的支付方式。
8. task_status:工单状态,用于跟踪工作单的处理进度。
9. order_body:订单描述,可能包含更详细的订单信息。
10. tracking_no:物流单号,用于追踪订单的物流信息。
11. create_time:创建时间,记录工作单的创建时间。
12. ware_id:仓库编号,可能表示与工作单相关联的仓库。
13. task_comment:工作单备注,可能包含关于工作单的其他信息。

综上所述,ware_order_task 表用于跟踪订单的处理状态、库存管理以及物流信息,是一个用于管理库存工作单的表。

复制代码
 -- ----------------------------

    
 -- Table structure for ware_order_task
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `ware_order_task`;
    
 CREATE TABLE `ware_order_task`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `order_id` bigint NULL DEFAULT NULL COMMENT '订单编号',
    
   `consignee` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货人',
    
   `consignee_tel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收货人电话',
    
   `delivery_address` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '送货地址',
    
   `order_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单备注',
    
   `payment_way` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '付款方式 1:在线付款 2:货到付款',
    
   `task_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作单状态',
    
   `order_body` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单描述',
    
   `tracking_no` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单号',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `ware_id` bigint NULL DEFAULT NULL COMMENT '仓库编号',
    
   `task_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作单备注',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存工作单表 库存工作单表' ROW_FORMAT = DYNAMIC;

1.3.43 ware_order_task_detail

复制代码
 -- ----------------------------

    
 -- Table structure for ware_order_task_detail
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `ware_order_task_detail`;
    
 CREATE TABLE `ware_order_task_detail`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'sku_id',
    
   `sku_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku名称',
    
   `sku_num` int NULL DEFAULT NULL COMMENT '购买个数',
    
   `task_id` bigint NULL DEFAULT NULL COMMENT '工作单编号',
    
   `refund_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存工作单明细表 库存工作单明细表' ROW_FORMAT = DYNAMIC;

1.3.44 ware_sku 商品库存信息

复制代码
 -- ----------------------------

    
 -- Table structure for ware_sku
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `ware_sku`;
    
 CREATE TABLE `ware_sku`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'skuid',
    
   `warehouse_id` bigint NULL DEFAULT NULL COMMENT '仓库id',
    
   `stock` int NULL DEFAULT NULL COMMENT '库存数',
    
   `stock_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货名称',
    
   `stock_locked` int NULL DEFAULT NULL COMMENT '锁定库存数',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'sku与仓库关联表' ROW_FORMAT = DYNAMIC;

1.3.45 cms_banner

创建了一个名为 cms_banner 的表,用于在数据库中存储首页轮播广告的相关信息。下面是这个表的结构和字段含义:

- id: 唯一的广告ID,此字段为主键,类型为 bigint,用于唯一标识每条广告数据。
- title: 广告标题,类型为 varchar(20),用于描述广告的标题,长度不超过20个字符。
- image_url: 图片地址,类型为 varchar(500),用于存储广告图片的URL地址,长度不超过500个字符。
- link_url: 链接地址,类型为 varchar(500),用于存储广告点击后跳转的链接地址,长度不超过500个字符。
- sort: 排序字段,类型为 int,用于对广告进行排序,数字越小越靠前显示。
- create_time: 创建时间,类型为 datetime,记录广告的创建时间。
- operate_time: 修改时间,类型为 datetime,记录对广告进行修改的时间。

这个表的设计适用于在CMS系统中管理首页轮播广告的内容,通过存储广告的标题、图片地址、链接地址等信息,可以实现在网站首页展示轮播广告,并且可以根据排序字段控制广告的显示顺序。

复制代码
 -- ----------------------------

    
 -- Table structure for cms_banner
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `cms_banner`;
    
 CREATE TABLE `cms_banner`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    
   `title` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '标题',
    
   `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '图片地址',
    
   `link_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '链接地址',
    
   `sort` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '首页banner表' ROW_FORMAT = DYNAMIC;

1.3.46 前端数据保护表 base_frontend_param

复制代码
 -- ----------------------------

    
 -- Table structure for base_frontend_param
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_frontend_param`;
    
 CREATE TABLE `base_frontend_param`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '属性名称',
    
   `delete_id` bigint NULL DEFAULT NULL COMMENT '分类id',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '前端数据保护表' ROW_FORMAT = DYNAMIC;

1.3.47 base_sale_attr 基础销售属性

复制代码
 -- ----------------------------

    
 -- Table structure for base_sale_attr
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `base_sale_attr`;
    
 CREATE TABLE `base_sale_attr`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    
   `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '销售属性名称',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   `operate_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '基本销售属性表' ROW_FORMAT = DYNAMIC;
    
  
    
 -- ----------------------------
    
 -- Records of base_sale_attr
    
 -- ----------------------------
    
 INSERT INTO `base_sale_attr` VALUES (1, '颜色', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_sale_attr` VALUES (2, '版本', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_sale_attr` VALUES (3, '尺码', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_sale_attr` VALUES (4, '类别', '2021-12-14 00:00:00', NULL);
    
 INSERT INTO `base_sale_attr` VALUES (5, '处理器或显卡', NULL, NULL);

1.3.48 financial_sku_cost 成本信息

financial_sku_cost表通常用于记录与产品或商品相关的成本信息。在财务或商业环境中,该表可能包含各种与产品成本有关的数据,例如采购成本、生产成本、运输成本等。这些数据通常用于计算产品销售价格、利润率以及财务报表中的相关指标。

具体来说,financial_sku_cost表可能包括以下字段或列:
- SKU(Stock Keeping Unit):产品编号或唯一标识符。
- 成本类型:表示记录的成本是采购成本、生产成本还是其他类型的成本。
- 成本金额:记录的具体成本金额数值。
- 成本日期:记录成本信息的日期或时间戳。
- 供应商信息:提供该成本信息的供应商或厂商。
- 生效日期:成本信息生效的日期。
- 备注:关于成本信息的其他相关说明或注释。

这些信息有助于企业了解产品成本结构,从而进行成本控制、定价策略制定以及盈利分析等决策。根据特定业务场景和需求,financial_sku_cost表的具体设计和内容可能会有所不同。

复制代码
 -- ----------------------------

    
 -- Table structure for financial_sku_cost
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `financial_sku_cost`;
    
 CREATE TABLE `financial_sku_cost`  (
    
   `id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
    
   `sku_id` bigint NULL DEFAULT NULL COMMENT 'sku_id',
    
   `sku_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku名称',
    
   `busi_date` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务日期',
    
   `is_lastest` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否最近',
    
   `sku_cost` decimal(16, 2) NULL DEFAULT NULL COMMENT '商品结算成本',
    
   `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

1.3.49 z_log

行为日志是否写入数据库一份 ,写入z_log表中

复制代码
 -- ----------------------------

    
 -- Table structure for z_log 
    
 -- ----------------------------
    
 DROP TABLE IF EXISTS `z_log`;
    
 CREATE TABLE `z_log`  (
    
   `id` bigint NOT NULL AUTO_INCREMENT,
    
   `log` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    
   PRIMARY KEY (`id`) USING BTREE
    
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

2章 业务数据采集模块

2.1 MySQL安装

2.1.1 安装包准备

1)将安装包和JDBC驱动上传到/opt/software,共计6个

复制代码
 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm

    
 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
    
 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
    
 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm
    
 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
    
 mysql-connector-java-5.1.27-bin.jar

2****)如果是虚拟机按照如下步骤执行****

(1)卸载自带的Mysql-libs(如果之前安装过MySQL,要全都卸载掉)

[seven@hadoop102 software]$ rpm -qa | grep -i -E mysql|mariadb | xargs -n1 sudo rpm -e --nodeps

****3)如果是阿里云服务器按照如下步骤执行
****说明:由于阿里云服务器安装的是Linux最小系统版,没有如下工具,所以需要安装。
(1)卸载MySQL依赖,虽然机器上没有装MySQL,但是这一步不可少
[seven@hadoop102 software]# sudo yum remove mysql-libs

(2)下载依赖并安装

[seven@hadoop102 software]# sudo yum install libaio
[seven@hadoop102 software]# sudo yum -y install autoconf

2**.1.2 安装MySQL**

1)安装MySQL依赖

[seven@hadoop102 software] sudo rpm -ivh 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm [seven@hadoop102 software] sudo rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
[seven@hadoop102 software]$ sudo rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm

2)安装mysql-client

[seven@hadoop102 software]$ sudo rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm

3)安装mysql-server

[seven@hadoop102 software]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm

注意:如果报如下错误,这是由于yum安装了旧版本的GPG keys所造成,从rpm版本4.1后,在安装或升级软件包时会自动检查软件包的签名。

warning: 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64

解决办法

[seven@hadoop102 software]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm --force --nodeps

****4)启动MySQL
****[seven@hadoop102 software]$ sudo systemctl start mysqld

****5)查看MySQL密码
****[seven@hadoop102 software]$ sudo cat /var/log/mysqld.log | grep password

2**.1.3配置MySQL**

配置只要是root用户 + 密码,在任何主机上都能登录MySQL数据库。

1)用刚刚查到的密码进入MySQL(如果报错,给密码加单引号)

[seven@hadoop102 software]$ mysql -uroot -p'password'

2)设置复杂密码(由于MySQL密码策略,此密码必须足够复杂)

mysql> set password=password("Qs23=zs32");

3)更改MySQL密码策略

mysql> set global validate_password_length=4;

mysql> set global validate_password_policy=0;

4)设置简单好记的密码

mysql> set password=password("000000");

5)进入MySQL库

mysql> use mysql

6)查询user表

mysql> select user, host from user;

7)修改user表,把Host表内容修改为%

mysql> update user set host="%" where user="root";

8****)刷新****

mysql> flush privileges;

9****)****退出

mysql> quit;

===v6.0 安装MySQL======

1 安装包准备

1)将资料里mysql文件夹及里面所有内容上传到/opt****/software/mysql********目录下****

[seven@hadoop102~]# mkdir /opt/software/mysql
[seven@hadoop102 software]$ cd /opt/software/mysql/

复制代码
 install_mysql.sh

    
 mysql-community-client-8.0.31-1.el7.x86_64.rpm
    
 mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
    
 mysql-community-common-8.0.31-1.el7.x86_64.rpm
    
 mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
    
 mysql-community-libs-8.0.31-1.el7.x86_64.rpm
    
 mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
    
 mysql-community-server-8.0.31-1.el7.x86_64.rpm
    
 mysql-connector-j-8.0.31.jar

2 安装MySQL

1****)如果是阿里云服务器按照如下步骤执行****

说明:由于阿里云服务器安装的是Linux最小系统版,没有如下工具,所以需要安装。

(1)卸载MySQL依赖,虽然机器上没有装MySQL,但是这一步不可少

[seven@hadoop102 mysql]# sudo yum remove mysql-libs

(2)下载依赖并安装

[seven@hadoop102 mysql]# sudo yum install libaio

[seven@hadoop102 mysql]# sudo yum -y install autoconf

2****)切换到hadoop102的root用户****

[seven@hadoop102 mysql]$ su root

3****)执行/opt********/software/mysql/********目录下install_****mysql.sh

[root@hadoop102 mysql]# vim install_mysql.sh

复制代码
 #!/bin/bash

    
  
    
 set -x
    
 [ "$(whoami)" = "root" ] || exit 1
    
 [ "$(ls *.rpm | wc -l)" = "7" ] || exit 1
    
 test -f mysql-community-client-8.0.31-1.el7.x86_64.rpm && \
    
 test -f mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm && \
    
 test -f mysql-community-common-8.0.31-1.el7.x86_64.rpm && \
    
 test -f mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm && \
    
 test -f mysql-community-libs-8.0.31-1.el7.x86_64.rpm && \
    
 test -f mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm && \
    
 test -f mysql-community-server-8.0.31-1.el7.x86_64.rpm || exit 1
    
  
    
 # 卸载MySQL
    
 systemctl stop mysql mysqld 2>/dev/null
    
 rpm -qa | grep -i 'mysql\|mariadb' | xargs -n1 rpm -e --nodeps 2>/dev/null
    
 rm -rf /var/lib/mysql /var/log/mysqld.log /usr/lib64/mysql /etc/my.cnf /usr/my.cnf
    
  
    
 set -e
    
 # 安装并启动MySQL
    
 yum install -y *.rpm >/dev/null 2>&1
    
 systemctl start mysqld
    
  
    
 #更改密码级别并重启MySQL
    
 sed -i '/\[mysqld\]/avalidate_password.length=4\nvalidate_password.policy=0' /etc/my.cnf
    
 systemctl restart mysqld
    
  
    
 # 更改MySQL配置
    
 tpass=$(cat /var/log/mysqld.log | grep "temporary password" | awk '{print $NF}')
    
 cat << EOF | mysql -uroot -p"${tpass}" --connect-expired-password >/dev/null 2>&1
    
 set password='000000';
    
 update mysql.user set host='%' where user='root';
    
 alter user 'root'@'%' identified with mysql_native_password by '000000';
    
 flush privileges;
    
 EOF

如果遇到远程工具连接数据库失败的情况,执行以下命令查看:

mysql> select user,host,plugin from mysql.user;

+------------------+-----------+-----------------------+
|user|host|plugin|

+------------------+-----------+-----------------------+

root % caching_sha2_password
mysql.session localhost caching_sha2_password
mysql.sys localhost caching_sha2_password

+------------------+-----------+-----------------------+
4 rows in set (0.01 sec)

这里的plugin仍然是caching模式,看起来是脚本里面的命令并没有执行成功,重新执行:

alter user 'root'@'%' identified with mysql_native_password by '000000';
flush privileges;
mysql> select user,host,plugin from mysql.user;

+------------------+-----------+-----------------------+
|user|host|plugin|

+------------------+-----------+-----------------------+

root % mysql_native_password
mysql.session localhost caching_sha2_password
mysql.sys localhost caching_sha2_password

+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

2.2业务数据****生成

2.2**.1******连接MySQL

通过MySQL可视化客户端连接数据库。

2.2**.2建表语句**

1)通过SQLyog创建数据库

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

3)导入数据库结构脚本(gmall.sql


复制代码
 mysql> show tables;

    
 +------------------------+
    
|Tables_in_gmall|

    
 +------------------------+
    
|activity_info|

    
|activity_rule|

    
|activity_sku|

    
|base_attr_info|

    
|base_attr_value|

    
|base_category1|

    
|base_category2|

    
|base_category3|

    
|base_dic|

    
|base_frontend_param|

    
|base_province|

    
|base_region|

    
|base_sale_attr|

    
|base_trademark|

    
|cart_info|

    
|cms_banner|

    
|comment_info|

    
|coupon_info|

    
|coupon_range|

    
|coupon_use|

    
|favor_info|

    
|financial_sku_cost|

    
|order_detail|

    
|order_detail_activity|

    
|order_detail_coupon|

    
|order_info|

    
|order_refund_info|

    
|order_status_log|

    
|payment_info|

    
|promotion_pos|

    
|promotion_refer|

    
|refund_payment|

    
|seckill_goods|

    
|sku_attr_value|

    
|sku_image|

    
|sku_info|

    
|sku_sale_attr_value|

    
|spu_image|

    
|spu_info|

    
|spu_poster|

    
|spu_sale_attr|

    
|spu_sale_attr_value|

    
|user_address|

    
|user_info|

    
|ware_info|

    
|ware_order_task|

    
|ware_order_task_detail|

    
|ware_sku|

    
|z_log|

    
 +------------------------+
    
 49 rows in set (0.00 sec)

2.2**.3生成业务数据**

1)在hadoop102的/opt/module/目录下创建db_log文件夹

[seven@hadoop102 module]$ mkdir db_log/

2)把gmall2020-mock-db-2021-01-22.jar和application.properties上传到hadoop102的/opt/module/db_log路径上。

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

复制代码
 logging.level.root=info

    
  
    
 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
 spring.datasource.url=jdbc:mysql://hadoop102:3306/gmall?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    
 spring.datasource.username=root
    
 spring.datasource.password=000000
    
  
    
 logging.pattern.console=%m%n
    
 mybatis-plus.global-config.db-config.field-strategy=not_null
    
  
    
 #业务日期
    
 mock.date=2020-06-14
    
 #是否重置  注意:第一次执行必须设置为1,后续不需要重置不用设置为1
    
 mock.clear=1
    
 #是否重置用户 注意:第一次执行必须设置为1,后续不需要重置不用设置为1
    
 mock.clear.user=1
    
  
    
 #生成新用户数量
    
 mock.user.count=100
    
 #男性比例
    
 mock.user.male-rate=20
    
 #用户数据变化概率
    
 mock.user.update-rate:20
    
  
    
 #收藏取消比例
    
 mock.favor.cancel-rate=10
    
 #收藏数量
    
 mock.favor.count=100
    
  
    
 #每个用户添加购物车的概率
    
 mock.cart.user-rate=50
    
 #每次每个用户最多添加多少种商品进购物车
    
 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=50
    
 #用户从购物中购买商品比例
    
 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

4)并在该目录下执行,如下命令,生成2020-06-14日期数据:

[seven@hadoop102 db_log]$ java -jar gmall2020-mock-db-2021-01-22.jar

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

2**.2.4****业务数据建模**

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

1)下载地址

EZDML - 下载

2)使用说明

(1)新建模型

(2)命名模型

(3)点击图标,选中模型

(4)导入数据库

(5)配置数据库连接

(6)选择导入的表(标注红点的表不需要导入

(7)建立表关系

第一步:点击选中主表(主键所在的表)

第二步:点击连接按钮

第三步:点击从表,配置连接条件

第四步:效果展示

3)使用技巧

(1)缩略图

(2)热键

按住shift键,用鼠标点击表,进行多选,可实现批量移动
按住ctrl键,用鼠标圈选表,也可进行多选,实现批量移动

2.3****Sqoop安装

2.3.1****下载并解压

1)sqoop官网地址:http://sqoop.apache.org

2)下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/

3)上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到hadoop102的/opt/software路径中

4)解压sqoop安装包到指定目录,如:

[seven@hadoop102 software]$ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/

5)解压sqoop安装包到指定目录,如:

[seven@hadoop102 module]$ mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop

2.3**.2 修改配置文件**

1)进入到/opt/module/sqoop/conf目录,重命名配置文件

[seven@hadoop102 conf]$ mv sqoop-env-template.sh sqoop-env.sh

2)修改配置文件

[seven@hadoop102 conf]$ vim sqoop-env.sh

增加如下内容

复制代码
 export HADOOP_COMMON_HOME=/opt/module/hadoop-3.1.3

    
 ​​​​​​​export HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3
    
 export HIVE_HOME=/opt/module/hive
    
 export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
    
 export ZOOCFGDIR=/opt/module/zookeeper-3.5.7/conf

2.3**.3 拷贝JDBC驱动**

1)将mysql-connector-java-5.1.48.jar 上传到/opt/software路径

2)进入到/opt/software/路径,拷贝jdbc驱动到sqoop的lib目录下。

[seven@hadoop102 software]$ cp mysql-connector-java-5.1.48.jar /opt/module/sqoop/lib/

2.3**.4 验证Sqoop**

(1)我们可以通过某一个command来验证sqoop配置是否正确:

[seven@hadoop102 sqoop]$ bin/sqoop help

(2)出现一些Warning警告(警告信息已省略),并伴随着帮助命令的输出:

复制代码
 Available commands:

    
   codegen            Generate code to interact with database records
    
   create-hive-table     Import a table definition into Hive
    
   eval               Evaluate a SQL statement and display the results
    
   export             Export an HDFS directory to a database table
    
   help               List available commands
    
   import             Import a table from a database to HDFS
    
   import-all-tables     Import tables from a database to HDFS
    
   import-mainframe    Import datasets from a mainframe server to HDFS
    
   job                Work with saved jobs
    
   list-databases        List available databases on a server
    
   list-tables           List available tables in a database
    
   merge              Merge results of incremental imports
    
   metastore           Run a standalone Sqoop metastore
    
   version            Display version information

2.3**.5 测试Sqoop是否能够成功连接数据库**

[seven@hadoop102 sqoop]$ bin/sqoop list-databases --connect jdbc:mysql://hadoop102:3306/ --username root --password 000000

出现如下输出:

复制代码
 information_schema

    
 metastore
    
 mysql
    
 oozie
    
 performance_schema

2.3**.6Sqoop基本使用**

将mysql中user_info表数据导入到HDFS的/test路径

复制代码
 bin/sqoop import \

    
 --connect jdbc:mysql://hadoop102:3306/gmall \
    
 --username root \
    
 --password 000000 \
    
 --table user_info \
    
 --columns id,login_name \
    
 --where "id>=10 and id<=30" \
    
 --target-dir /test \
    
 --delete-target-dir \
    
 --fields-terminated-by '\t' \
    
 --num-mappers 2 \
    
 --split-by id

2.4****同步策略

数据同步策略的类型包括:全量同步、增量同步、新增及变化同步、特殊情况

  • 全量表:存储完整的数据。
  • 增量表:存储新增加的数据。
  • 新增及变化表:存储新增加的数据和变化的数据。
  • 特殊表:只需要存储一次。

2.4.1 全量同步策略

2.4.2增量同步策略

2.4.3****新增及变化策略

2.4**.4******特殊策略

某些特殊的表,可不必遵循上述同步策略。例如某些不会发生变化的表(地区表,省份表,民族表)可以只存一份固定值。

2.5****业务数据导入HDFS

2.5**.1分析表同步策略**

在生产环境,个别小公司,为了简单处理,所有表全量导入。
中大型公司,由于数据量比较大,还是严格按照同步策略导入数据。

2.5**.2业务数据首日同步脚本**

1)脚本编写

(1)在/home/seven/bin目录下创建
[seven@hadoop102 bin]$ vim mysql_to_hdfs_init.sh

添加如下内容:

复制代码
 #! /bin/bash

    
  
    
 APP=gmall
    
 sqoop=/opt/module/sqoop/bin/sqoop
    
  
    
 if [ -n "$2" ] ;then
    
    do_date=$2
    
 else 
    
    echo "请传入日期参数"
    
    exit
    
 fi 
    
  
    
 import_data(){
    
 $sqoop import \
    
 --connect jdbc:mysql://hadoop102:3306/$APP \
    
 --username root \
    
 --password 000000 \
    
 --target-dir /origin_data/$APP/db/$1/$do_date \
    
 --delete-target-dir \
    
 --query "$2 where \$CONDITIONS" \
    
 --num-mappers 1 \
    
 --fields-terminated-by '\t' \
    
 --compress \
    
 --compression-codec lzop \
    
 --null-string '\ N' \
    
 --null-non-string '\ N'
    
  
    
 hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /origin_data/$APP/db/$1/$do_date
    
 }
    
  
    
 import_order_info(){
    
   import_data order_info "select
    
                         id, 
    
                         total_amount, 
    
                         order_status, 
    
                         user_id, 
    
                         payment_way,
    
                         delivery_address,
    
                         out_trade_no, 
    
                         create_time, 
    
                         operate_time,
    
                         expire_time,
    
                         tracking_no,
    
                         province_id,
    
                         activity_reduce_amount,
    
                         coupon_reduce_amount,                            
    
                         original_total_amount,
    
                         feight_fee,
    
                         feight_fee_reduce      
    
                     from order_info"
    
 }
    
  
    
 import_coupon_use(){
    
   import_data coupon_use "select
    
                       id,
    
                       coupon_id,
    
                       user_id,
    
                       order_id,
    
                       coupon_status,
    
                       get_time,
    
                       using_time,
    
                       used_time,
    
                       expire_time
    
                     from coupon_use"
    
 }
    
  
    
 import_order_status_log(){
    
   import_data order_status_log "select
    
                               id,
    
                               order_id,
    
                               order_status,
    
                               operate_time
    
                             from order_status_log"
    
 }
    
  
    
 import_user_info(){
    
   import_data "user_info" "select 
    
                         id,
    
                         login_name,
    
                         nick_name,
    
                         name,
    
                         phone_num,
    
                         email,
    
                         user_level, 
    
                         birthday,
    
                         gender,
    
                         create_time,
    
                         operate_time
    
                       from user_info"
    
 }
    
  
    
 import_order_detail(){
    
   import_data order_detail "select 
    
                           id,
    
                           order_id, 
    
                           sku_id,
    
                           sku_name,
    
                           order_price,
    
                           sku_num, 
    
                           create_time,
    
                           source_type,
    
                           source_id,
    
                           split_total_amount,
    
                           split_activity_amount,
    
                           split_coupon_amount
    
                         from order_detail"
    
 }
    
  
    
 import_payment_info(){
    
   import_data "payment_info"  "select 
    
                             id,  
    
                             out_trade_no, 
    
                             order_id, 
    
                             user_id, 
    
                             payment_type, 
    
                             trade_no, 
    
                             total_amount,  
    
                             subject, 
    
                             payment_status,
    
                             create_time,
    
                             callback_time 
    
                           from payment_info"
    
 }
    
  
    
 import_comment_info(){
    
   import_data comment_info "select
    
                           id,
    
                           user_id,
    
                           sku_id,
    
                           spu_id,
    
                           order_id,
    
                           appraise,
    
                           create_time
    
                         from comment_info"
    
 }
    
  
    
 import_order_refund_info(){
    
   import_data order_refund_info "select
    
                             id,
    
                             user_id,
    
                             order_id,
    
                             sku_id,
    
                             refund_type,
    
                             refund_num,
    
                             refund_amount,
    
                             refund_reason_type,
    
                             refund_status,
    
                             create_time
    
                           from order_refund_info"
    
 }
    
  
    
 import_sku_info(){
    
   import_data sku_info "select 
    
                       id,
    
                       spu_id,
    
                       price,
    
                       sku_name,
    
                       sku_desc,
    
                       weight,
    
                       tm_id,
    
                       category3_id,
    
                       is_sale,
    
                       create_time
    
                     from sku_info"
    
 }
    
  
    
 import_base_category1(){
    
   import_data "base_category1" "select 
    
                               id,
    
                               name 
    
                             from base_category1"
    
 }
    
  
    
 import_base_category2(){
    
   import_data "base_category2" "select
    
                               id,
    
                               name,
    
                               category1_id 
    
                             from base_category2"
    
 }
    
  
    
 import_base_category3(){
    
   import_data "base_category3" "select
    
                               id,
    
                               name,
    
                               category2_id
    
                             from base_category3"
    
 }
    
  
    
 import_base_province(){
    
   import_data base_province "select
    
                           id,
    
                           name,
    
                           region_id,
    
                           area_code,
    
                           iso_code,
    
                           iso_3166_2
    
                         from base_province"
    
 }
    
  
    
 import_base_region(){
    
   import_data base_region "select
    
                           id,
    
                           region_name
    
                         from base_region"
    
 }
    
  
    
 import_base_trademark(){
    
   import_data base_trademark "select
    
                             id,
    
                             tm_name
    
                           from base_trademark"
    
 }
    
  
    
 import_spu_info(){
    
   import_data spu_info "select
    
                         id,
    
                         spu_name,
    
                         category3_id,
    
                         tm_id
    
                       from spu_info"
    
 }
    
  
    
 import_favor_info(){
    
   import_data favor_info "select
    
                       id,
    
                       user_id,
    
                       sku_id,
    
                       spu_id,
    
                       is_cancel,
    
                       create_time,
    
                       cancel_time
    
                     from favor_info"
    
 }
    
  
    
 import_cart_info(){
    
   import_data cart_info "select
    
                     id,
    
                     user_id,
    
                     sku_id,
    
                     cart_price,
    
                     sku_num,
    
                     sku_name,
    
                     create_time,
    
                     operate_time,
    
                     is_ordered,
    
                     order_time,
    
                     source_type,
    
                     source_id
    
                   from cart_info"
    
 }
    
  
    
 import_coupon_info(){
    
   import_data coupon_info "select
    
                       id,
    
                       coupon_name,
    
                       coupon_type,
    
                       condition_amount,
    
                       condition_num,
    
                       activity_id,
    
                       benefit_amount,
    
                       benefit_discount,
    
                       create_time,
    
                       range_type,
    
                       limit_num,
    
                       taken_count,
    
                       start_time,
    
                       end_time,
    
                       operate_time,
    
                       expire_time
    
                     from coupon_info"
    
 }
    
  
    
 import_activity_info(){
    
   import_data activity_info "select
    
                           id,
    
                           activity_name,
    
                           activity_type,
    
                           start_time,
    
                           end_time,
    
                           create_time
    
                         from activity_info"
    
 }
    
  
    
 import_activity_rule(){
    
     import_data activity_rule "select
    
                                 id,
    
                                 activity_id,
    
                                 activity_type,
    
                                 condition_amount,
    
                                 condition_num,
    
                                 benefit_amount,
    
                                 benefit_discount,
    
                                 benefit_level
    
                             from activity_rule"
    
 }
    
  
    
 import_base_dic(){
    
     import_data base_dic "select
    
                         dic_code,
    
                         dic_name,
    
                         parent_code,
    
                         create_time,
    
                         operate_time
    
                       from base_dic"
    
 }
    
  
    
  
    
 import_order_detail_activity(){
    
     import_data order_detail_activity "select
    
                                                             id,
    
                                                             order_id,
    
                                                             order_detail_id,
    
                                                             activity_id,
    
                                                             activity_rule_id,
    
                                                             sku_id,
    
                                                             create_time
    
                                                         from order_detail_activity"
    
 }
    
  
    
  
    
 import_order_detail_coupon(){
    
     import_data order_detail_coupon "select
    
                                                             id,
    
 								                                                order_id,
    
                                                             order_detail_id,
    
                                                             coupon_id,
    
                                                             coupon_use_id,
    
                                                             sku_id,
    
                                                             create_time
    
                                                         from order_detail_coupon"
    
 }
    
  
    
  
    
 import_refund_payment(){
    
     import_data refund_payment "select
    
                                                     id,
    
                                                     out_trade_no,
    
                                                     order_id,
    
                                                     sku_id,
    
                                                     payment_type,
    
                                                     trade_no,
    
                                                     total_amount,
    
                                                     subject,
    
                                                     refund_status,
    
                                                     create_time,
    
                                                     callback_time
    
                                                 from refund_payment"                                                    
    
  
    
 }
    
  
    
 import_sku_attr_value(){
    
     import_data sku_attr_value "select
    
                                                 id,
    
                                                 attr_id,
    
                                                 value_id,
    
                                                 sku_id,
    
                                                 attr_name,
    
                                                 value_name
    
                                             from sku_attr_value"
    
 }
    
  
    
  
    
 import_sku_sale_attr_value(){
    
     import_data sku_sale_attr_value "select
    
                                                         id,
    
                                                         sku_id,
    
                                                         spu_id,
    
                                                         sale_attr_value_id,
    
                                                         sale_attr_id,
    
                                                         sale_attr_name,
    
                                                         sale_attr_value_name
    
                                                     from sku_sale_attr_value"
    
 }
    
  
    
 case $1 in
    
   "order_info")
    
      import_order_info
    
 ;;
    
   "base_category1")
    
      import_base_category1
    
 ;;
    
   "base_category2")
    
      import_base_category2
    
 ;;
    
   "base_category3")
    
      import_base_category3
    
 ;;
    
   "order_detail")
    
      import_order_detail
    
 ;;
    
   "sku_info")
    
      import_sku_info
    
 ;;
    
   "user_info")
    
      import_user_info
    
 ;;
    
   "payment_info")
    
      import_payment_info
    
 ;;
    
   "base_province")
    
      import_base_province
    
 ;;
    
   "base_region")
    
      import_base_region
    
 ;;
    
   "base_trademark")
    
      import_base_trademark
    
 ;;
    
   "activity_info")
    
       import_activity_info
    
 ;;
    
   "cart_info")
    
       import_cart_info
    
 ;;
    
   "comment_info")
    
       import_comment_info
    
 ;;
    
   "coupon_info")
    
       import_coupon_info
    
 ;;
    
   "coupon_use")
    
       import_coupon_use
    
 ;;
    
   "favor_info")
    
       import_favor_info
    
 ;;
    
   "order_refund_info")
    
       import_order_refund_info
    
 ;;
    
   "order_status_log")
    
       import_order_status_log
    
 ;;
    
   "spu_info")
    
       import_spu_info
    
 ;;
    
   "activity_rule")
    
       import_activity_rule
    
 ;;
    
   "base_dic")
    
       import_base_dic
    
 ;;
    
   "order_detail_activity")
    
       import_order_detail_activity
    
 ;;
    
   "order_detail_coupon")
    
       import_order_detail_coupon
    
 ;;
    
   "refund_payment")
    
       import_refund_payment
    
 ;;
    
   "sku_attr_value")
    
       import_sku_attr_value
    
 ;;
    
   "sku_sale_attr_value")
    
       import_sku_sale_attr_value
    
 ;;
    
   "all")
    
    import_base_category1
    
    import_base_category2
    
    import_base_category3
    
    import_order_info
    
    import_order_detail
    
    import_sku_info
    
    import_user_info
    
    import_payment_info
    
    import_base_region
    
    import_base_province
    
    import_base_trademark
    
    import_activity_info
    
    import_cart_info
    
    import_comment_info
    
    import_coupon_use
    
    import_coupon_info
    
    import_favor_info
    
    import_order_refund_info
    
    import_order_status_log
    
    import_spu_info
    
    import_activity_rule
    
    import_base_dic
    
    import_order_detail_activity
    
    import_order_detail_coupon
    
    import_refund_payment
    
    import_sku_attr_value
    
    import_sku_sale_attr_value
    
 ;;
    
 esac

说明1:

[ -n 变量值 ] 判断变量的值,是否为空

-- 变量的值,非空,返回true

-- 变量的值,为空,返回false

说明2:

查看date命令的使用,[seven@hadoop102 ~]$ date --help

(2)增加脚本执行权限

[seven@hadoop102 bin]$ chmod +x mysql_to_hdfs_init.sh

2)脚本使用

[seven@hadoop102 bin]$ mysql_to_hdfs_init.sh all 2020-06-14

2.5.3****业务数据每日同步脚本

1)脚本编写

(1)在/home/seven/bin目录下创建

[seven@hadoop102 bin]$ vim mysql_to_hdfs.sh

添加如下内容:

复制代码
 #! /bin/bash

    
  
    
 APP=gmall
    
 sqoop=/opt/module/sqoop/bin/sqoop
    
  
    
 if [ -n "$2" ] ;then
    
     do_date=$2
    
 else
    
     do_date=`date -d '-1 day' +%F`
    
 fi
    
  
    
 import_data(){
    
 $sqoop import \
    
 --connect jdbc:mysql://hadoop102:3306/$APP \
    
 --username root \
    
 --password 000000 \
    
 --target-dir /origin_data/$APP/db/$1/$do_date \
    
 --delete-target-dir \
    
 --query "$2 and  \$CONDITIONS" \
    
 --num-mappers 1 \
    
 --fields-terminated-by '\t' \
    
 --compress \
    
 --compression-codec lzop \
    
 --null-string '\ N' \
    
 --null-non-string '\ N'
    
  
    
 hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /origin_data/$APP/db/$1/$do_date
    
 }
    
  
    
 import_order_info(){
    
   import_data order_info "select
    
                         id, 
    
                         total_amount, 
    
                         order_status, 
    
                         user_id, 
    
                         payment_way,
    
                         delivery_address,
    
                         out_trade_no, 
    
                         create_time, 
    
                         operate_time,
    
                         expire_time,
    
                         tracking_no,
    
                         province_id,
    
                         activity_reduce_amount,
    
                         coupon_reduce_amount,                            
    
                         original_total_amount,
    
                         feight_fee,
    
                         feight_fee_reduce      
    
                     from order_info
    
                     where (date_format(create_time,'%Y-%m-%d')='$do_date' 
    
                     or date_format(operate_time,'%Y-%m-%d')='$do_date')"
    
 }
    
  
    
 import_coupon_use(){
    
   import_data coupon_use "select
    
                       id,
    
                       coupon_id,
    
                       user_id,
    
                       order_id,
    
                       coupon_status,
    
                       get_time,
    
                       using_time,
    
                       used_time,
    
                       expire_time
    
                     from coupon_use
    
                     where (date_format(get_time,'%Y-%m-%d')='$do_date'
    
                     or date_format(using_time,'%Y-%m-%d')='$do_date'
    
                     or date_format(used_time,'%Y-%m-%d')='$do_date'
    
                     or date_format(expire_time,'%Y-%m-%d')='$do_date')"
    
 }
    
  
    
 import_order_status_log(){
    
   import_data order_status_log "select
    
                               id,
    
                               order_id,
    
                               order_status,
    
                               operate_time
    
                             from order_status_log
    
                             where date_format(operate_time,'%Y-%m-%d')='$do_date'"
    
 }
    
  
    
 import_user_info(){
    
   import_data "user_info" "select 
    
                         id,
    
                         login_name,
    
                         nick_name,
    
                         name,
    
                         phone_num,
    
                         email,
    
                         user_level, 
    
                         birthday,
    
                         gender,
    
                         create_time,
    
                         operate_time
    
                       from user_info 
    
                       where (DATE_FORMAT(create_time,'%Y-%m-%d')='$do_date' 
    
                       or DATE_FORMAT(operate_time,'%Y-%m-%d')='$do_date')"
    
 }
    
  
    
 import_order_detail(){
    
   import_data order_detail "select 
    
                           id,
    
                           order_id, 
    
                           sku_id,
    
                           sku_name,
    
                           order_price,
    
                           sku_num, 
    
                           create_time,
    
                           source_type,
    
                           source_id,
    
                           split_total_amount,
    
                           split_activity_amount,
    
                           split_coupon_amount
    
                         from order_detail 
    
                         where DATE_FORMAT(create_time,'%Y-%m-%d')='$do_date'"
    
 }
    
  
    
 import_payment_info(){
    
   import_data "payment_info"  "select 
    
                             id,  
    
                             out_trade_no, 
    
                             order_id, 
    
                             user_id, 
    
                             payment_type, 
    
                             trade_no, 
    
                             total_amount,  
    
                             subject, 
    
                             payment_status,
    
                             create_time,
    
                             callback_time 
    
                           from payment_info 
    
                           where (DATE_FORMAT(create_time,'%Y-%m-%d')='$do_date' 
    
                           or DATE_FORMAT(callback_time,'%Y-%m-%d')='$do_date')"
    
 }
    
  
    
 import_comment_info(){
    
   import_data comment_info "select
    
                           id,
    
                           user_id,
    
                           sku_id,
    
                           spu_id,
    
                           order_id,
    
                           appraise,
    
                           create_time
    
                         from comment_info
    
                         where date_format(create_time,'%Y-%m-%d')='$do_date'"
    
 }
    
  
    
 import_order_refund_info(){
    
   import_data order_refund_info "select
    
                             id,
    
                             user_id,
    
                             order_id,
    
                             sku_id,
    
                             refund_type,
    
                             refund_num,
    
                             refund_amount,
    
                             refund_reason_type,
    
                             refund_status,
    
                             create_time
    
                           from order_refund_info
    
                           where date_format(create_time,'%Y-%m-%d')='$do_date'"
    
 }
    
  
    
 import_sku_info(){
    
   import_data sku_info "select 
    
                       id,
    
                       spu_id,
    
                       price,
    
                       sku_name,
    
                       sku_desc,
    
                       weight,
    
                       tm_id,
    
                       category3_id,
    
                       is_sale,
    
                       create_time
    
                     from sku_info where 1=1"
    
 }
    
  
    
 import_base_category1(){
    
   import_data "base_category1" "select 
    
                               id,
    
                               name 
    
                             from base_category1 where 1=1"
    
 }
    
  
    
 import_base_category2(){
    
   import_data "base_category2" "select
    
                               id,
    
                               name,
    
                               category1_id 
    
                             from base_category2 where 1=1"
    
 }
    
  
    
 import_base_category3(){
    
   import_data "base_category3" "select
    
                               id,
    
                               name,
    
                               category2_id
    
                             from base_category3 where 1=1"
    
 }
    
  
    
 import_base_province(){
    
   import_data base_province "select
    
                           id,
    
                           name,
    
                           region_id,
    
                           area_code,
    
                           iso_code,
    
                           iso_3166_2
    
                         from base_province
    
                         where 1=1"
    
 }
    
  
    
 import_base_region(){
    
   import_data base_region "select
    
                           id,
    
                           region_name
    
                         from base_region
    
                         where 1=1"
    
 }
    
  
    
 import_base_trademark(){
    
   import_data base_trademark "select
    
                             id,
    
                             tm_name
    
                           from base_trademark
    
                           where 1=1"
    
 }
    
  
    
 import_spu_info(){
    
   import_data spu_info "select
    
                         id,
    
                         spu_name,
    
                         category3_id,
    
                         tm_id
    
                       from spu_info
    
                       where 1=1"
    
 }
    
  
    
 import_favor_info(){
    
   import_data favor_info "select
    
                       id,
    
                       user_id,
    
                       sku_id,
    
                       spu_id,
    
                       is_cancel,
    
                       create_time,
    
                       cancel_time
    
                     from favor_info
    
                     where 1=1"
    
 }
    
  
    
 import_cart_info(){
    
   import_data cart_info "select
    
                     id,
    
                     user_id,
    
                     sku_id,
    
                     cart_price,
    
                     sku_num,
    
                     sku_name,
    
                     create_time,
    
                     operate_time,
    
                     is_ordered,
    
                     order_time,
    
                     source_type,
    
                     source_id
    
                   from cart_info
    
                   where 1=1"
    
 }
    
  
    
 import_coupon_info(){
    
   import_data coupon_info "select
    
                       id,
    
                       coupon_name,
    
                       coupon_type,
    
                       condition_amount,
    
                       condition_num,
    
                       activity_id,
    
                       benefit_amount,
    
                       benefit_discount,
    
                       create_time,
    
                       range_type,
    
                       limit_num,
    
                       taken_count,
    
                       start_time,
    
                       end_time,
    
                       operate_time,
    
                       expire_time
    
                     from coupon_info
    
                     where 1=1"
    
 }
    
  
    
 import_activity_info(){
    
   import_data activity_info "select
    
                           id,
    
                           activity_name,
    
                           activity_type,
    
                           start_time,
    
                           end_time,
    
                           create_time
    
                         from activity_info
    
                         where 1=1"
    
 }
    
  
    
 import_activity_rule(){
    
     import_data activity_rule "select
    
                                 id,
    
                                 activity_id,
    
                                 activity_type,
    
                                 condition_amount,
    
                                 condition_num,
    
                                 benefit_amount,
    
                                 benefit_discount,
    
                                 benefit_level
    
                             from activity_rule
    
                             where 1=1"
    
 }
    
  
    
 import_base_dic(){
    
     import_data base_dic "select
    
                         dic_code,
    
                         dic_name,
    
                         parent_code,
    
                         create_time,
    
                         operate_time
    
                       from base_dic
    
                       where 1=1"
    
 }
    
  
    
  
    
 import_order_detail_activity(){
    
     import_data order_detail_activity "select
    
                                                             id,
    
                                                             order_id,
    
                                                             order_detail_id,
    
                                                             activity_id,
    
                                                             activity_rule_id,
    
                                                             sku_id,
    
                                                             create_time
    
                                                         from order_detail_activity
    
                                                         where date_format(create_time,'%Y-%m-%d')='$do_date'"
    
 }
    
  
    
  
    
 import_order_detail_coupon(){
    
     import_data order_detail_coupon "select
    
                                                             id,
    
 								                                                order_id,
    
                                                             order_detail_id,
    
                                                             coupon_id,
    
                                                             coupon_use_id,
    
                                                             sku_id,
    
                                                             create_time
    
                                                         from order_detail_coupon
    
                                                         where date_format(create_time,'%Y-%m-%d')='$do_date'"
    
 }
    
  
    
  
    
 import_refund_payment(){
    
     import_data refund_payment "select
    
                                                     id,
    
                                                     out_trade_no,
    
                                                     order_id,
    
                                                     sku_id,
    
                                                     payment_type,
    
                                                     trade_no,
    
                                                     total_amount,
    
                                                     subject,
    
                                                     refund_status,
    
                                                     create_time,
    
                                                     callback_time
    
                                                 from refund_payment
    
                                                 where (DATE_FORMAT(create_time,'%Y-%m-%d')='$do_date' 
    
                                                 or DATE_FORMAT(callback_time,'%Y-%m-%d')='$do_date')"                                                    
    
  
    
 }
    
  
    
 import_sku_attr_value(){
    
     import_data sku_attr_value "select
    
                                                 id,
    
                                                 attr_id,
    
                                                 value_id,
    
                                                 sku_id,
    
                                                 attr_name,
    
                                                 value_name
    
                                             from sku_attr_value
    
                                             where 1=1"
    
 }
    
  
    
  
    
 import_sku_sale_attr_value(){
    
     import_data sku_sale_attr_value "select
    
                                                         id,
    
                                                         sku_id,
    
                                                         spu_id,
    
                                                         sale_attr_value_id,
    
                                                         sale_attr_id,
    
                                                         sale_attr_name,
    
                                                         sale_attr_value_name
    
                                                     from sku_sale_attr_value
    
                                                     where 1=1"
    
 }
    
  
    
 case $1 in
    
   "order_info")
    
      import_order_info
    
 ;;
    
   "base_category1")
    
      import_base_category1
    
 ;;
    
   "base_category2")
    
      import_base_category2
    
 ;;
    
   "base_category3")
    
      import_base_category3
    
 ;;
    
   "order_detail")
    
      import_order_detail
    
 ;;
    
   "sku_info")
    
      import_sku_info
    
 ;;
    
   "user_info")
    
      import_user_info
    
 ;;
    
   "payment_info")
    
      import_payment_info
    
 ;;
    
   "base_province")
    
      import_base_province
    
 ;;
    
   "activity_info")
    
       import_activity_info
    
 ;;
    
   "cart_info")
    
       import_cart_info
    
 ;;
    
   "comment_info")
    
       import_comment_info
    
 ;;
    
   "coupon_info")
    
       import_coupon_info
    
 ;;
    
   "coupon_use")
    
       import_coupon_use
    
 ;;
    
   "favor_info")
    
       import_favor_info
    
 ;;
    
   "order_refund_info")
    
       import_order_refund_info
    
 ;;
    
   "order_status_log")
    
       import_order_status_log
    
 ;;
    
   "spu_info")
    
       import_spu_info
    
 ;;
    
   "activity_rule")
    
       import_activity_rule
    
 ;;
    
   "base_dic")
    
       import_base_dic
    
 ;;
    
   "order_detail_activity")
    
       import_order_detail_activity
    
 ;;
    
   "order_detail_coupon")
    
       import_order_detail_coupon
    
 ;;
    
   "refund_payment")
    
       import_refund_payment
    
 ;;
    
   "sku_attr_value")
    
       import_sku_attr_value
    
 ;;
    
   "sku_sale_attr_value")
    
       import_sku_sale_attr_value
    
 ;;
    
 "all")
    
    import_base_category1
    
    import_base_category2
    
    import_base_category3
    
    import_order_info
    
    import_order_detail
    
    import_sku_info
    
    import_user_info
    
    import_payment_info
    
    import_base_trademark
    
    import_activity_info
    
    import_cart_info
    
    import_comment_info
    
    import_coupon_use
    
    import_coupon_info
    
    import_favor_info
    
    import_order_refund_info
    
    import_order_status_log
    
    import_spu_info
    
    import_activity_rule
    
    import_base_dic
    
    import_order_detail_activity
    
    import_order_detail_coupon
    
    import_refund_payment
    
    import_sku_attr_value
    
    import_sku_sale_attr_value
    
 ;;
    
 esac

(2)增加脚本执行权限

[seven@hadoop102 bin]$ chmod +x mysql_to_hdfs.sh

2)脚本使用

[seven@hadoop102 bin]$ mysql_to_hdfs.sh all 2020-06-15

2.5**.4项目经验**

Hive中的Null在底层是以“\N”来存储,而MySQL中的Null在底层就是Null,为了保证数据两端的一致性。在导出数据时采用--input-null-string和--input-null-non-string两个参数。导入数据时采用--null-string和--null-non-string。

3章 数据环境准备

3.1 Hive安装部署

(1)把apache-hive-3.1.2-bin.tar.gz上传到Linux的/opt/software目录下

(2)解压apache-hive-3.1.2-bin.tar.gz到/opt/module/目录下面

[seven@hadoop102 software]$ tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/

(3)修改apache-hive-3.1.2-bin.tar.gz的名称为hive

[seven@hadoop102 software]$ mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive

(4)修改/etc/profile.d/my_env.sh,添加环境变量

[seven@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh

添加内容

复制代码
 #HIVE_HOME

    
 export HIVE_HOME=/opt/module/hive
    
 export PATH=$PATH:$HIVE_HOME/bin

重启Xshell对话框或者source一下 /etc/profile.d/my_env.sh文件,使环境变量生效

[seven@hadoop102 software]$ source /etc/profile.d/my_env.sh

(5)解决日志Jar包冲突,进入/opt/module/hive/lib目录

[seven@hadoop102 lib]$ mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak

3.2 Hive元数据配置到MySQL

3.2.1****拷贝驱动

将MySQL的JDBC驱动拷贝到Hive的lib目录下

[seven@hadoop102 lib]$ cp /opt/software/mysql-connector-java-5.1.27.jar /opt/module/hive/lib/

3.2.2 配置Metastore到MySQL

(1)在$HIVE_HOME/conf目录下新建hive-site.xml文件

[seven@hadoop102 conf]$ vim hive-site.xml

(2)添加如下内容

复制代码
 <?xml version="1.0"?>

    
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
 <configuration>
    
     <property>
    
     <name>javax.jdo.option.ConnectionURL</name>
    
     <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
    
     </property>
    
  
    
     <property>
    
     <name>javax.jdo.option.ConnectionDriverName</name>
    
     <value>com.mysql.jdbc.Driver</value>
    
     </property>
    
  
    
     <property>
    
     <name>javax.jdo.option.ConnectionUserName</name>
    
     <value>root</value>
    
     </property>
    
  
    
     <property>
    
     <name>javax.jdo.option.ConnectionPassword</name>
    
     <value>000000</value>
    
     </property>
    
  
    
     <property>
    
     <name>hive.metastore.warehouse.dir</name>
    
     <value>/user/hive/warehouse</value>
    
     </property>
    
  
    
     <property>
    
     <name>hive.metastore.schema.verification</name>
    
     <value>false</value>
    
     </property>
    
  
    
     <property>
    
     <name>hive.server2.thrift.port</name>
    
     <value>10000</value>
    
     </property>
    
  
    
     <property>
    
     <name>hive.server2.thrift.bind.host</name>
    
     <value>hadoop102</value>
    
     </property>
    
  
    
     <property>
    
     <name>hive.metastore.event.db.notification.api.auth</name>
    
     <value>false</value>
    
     </property>
    
     
    
     <property>
    
     <name>hive.cli.print.header</name>
    
     <value>true</value>
    
     </property>
    
  
    
     <property>
    
     <name>hive.cli.print.current.db</name>
    
     <value>true</value>
    
     </property>
    
 </configuration>

3.3****启动Hive

3.3.1****初始化元数据库

(1)登陆MySQL

[seven@hadoop102 conf]$ mysql -uroot -p000000

(2)新建Hive元数据库

mysql> create database metastore;

mysql> quit;

(3)初始化Hive元数据库

[seven@hadoop102 conf]$ schematool -initSchema -dbType mysql -verbose

3.3.2启动Hive****客户端

(1)启动Hive客户端

[seven@hadoop102 hive]$ bin/hive

(2)查看一下数据库

hive (default)> show databases;

OK

database_name

default

全部评论 (0)

还没有任何评论哟~