[数仓]二、离线数仓(业务数据采集)
第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;
- 含义 :这个命令用于设置当前会话的字符集为
utf8mb4。utf8mb4是一种字符编码方式,能够支持完整的 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 | 手机号 |
| 邮箱 | |
| head_img | 头像 |
| user_level | 用户级别 |
| birthday | 用户生日 |
| gender | 性别 M男,F女 |
| create_time | 创建时间 |
| operate_time | 修改时间 |
| status | 状态 |
v6.0
| 字段名 | 字段说明 |
|---|---|
| id | 编号 |
| login_name | 用户名称 |
| nick_name | 用户昵称 |
| passwd | 用户密码 |
| name | 用户姓名 |
| phone_num | 手机号 |
| 邮箱 | |
| 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)下载地址
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
