Files
tashow-platform/sql/mysql/order.sql
2025-11-04 16:13:28 +08:00

339 lines
22 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 基础实体表结构 (BaseDO) 不单独建表,字段会被继承到其他表中
CREATE TABLE `tz_trade_order`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单编号,主键自增',
`order_num` varchar(64) NOT NULL COMMENT '订单流水号',
`order_type` tinyint NOT NULL COMMENT '订单类型 (枚举 TradeOrderTypeEnum)',
`order_terminal` tinyint NOT NULL COMMENT '订单来源 (枚举 TerminalEnum)',
`order_status` tinyint NOT NULL COMMENT '订单状态 (枚举 TradeOrderStatusEnum)',
`user_id` bigint NOT NULL COMMENT '用户编号',
`user_ip` varchar(64) DEFAULT NULL COMMENT '用户IP',
`user_name` varchar(64) DEFAULT NULL COMMENT '用户昵称',
`user_mobile` varchar(11) DEFAULT NULL COMMENT '用户手机号',
`user_remark` varchar(512) DEFAULT NULL COMMENT '用户备注',
`finish_time` datetime DEFAULT NULL COMMENT '订单完成时间',
`cancel_time` datetime DEFAULT NULL COMMENT '订单取消时间',
`cancel_type` tinyint DEFAULT NULL COMMENT '取消类型 (枚举 TradeOrderCancelTypeEnum)',
`cancel_reason` varchar(128) DEFAULT NULL COMMENT '取消原因',
`cancel_remark` varchar(255) DEFAULT NULL COMMENT '取消原因备注',
`merchant_id` bigint DEFAULT NULL COMMENT '商家编号',
`merchant_name` varchar(64) DEFAULT NULL COMMENT '商家名称',
`merchant_remark` varchar(512) DEFAULT NULL COMMENT '商家备注',
`comment_status` tinyint(1) DEFAULT NULL COMMENT '是否评价 (true-已评价, false-未评价)',
`expense_price` int DEFAULT NULL COMMENT '商品成本(单),单位:分',
`price` int DEFAULT NULL COMMENT '商品原价(单),单位:分',
`discount_price` int DEFAULT NULL COMMENT '优惠金额(总),单位:分',
`delivery_price` int DEFAULT NULL COMMENT '运费金额(总),单位:分',
`adjust_price` int DEFAULT NULL COMMENT '订单调价(总),单位:分',
`pay_price` int DEFAULT NULL COMMENT '应付金额(总),单位:分',
`live_price` int DEFAULT NULL COMMENT '实收金额(总),单位:分',
`pay_order_id` bigint DEFAULT NULL COMMENT '支付订单编号',
`pay_status` tinyint(1) DEFAULT NULL COMMENT '是否已支付 (true-已支付, false-未支付)',
`pay_type` tinyint DEFAULT NULL COMMENT '支付方式PayTypeEnum',
`pay_time` datetime DEFAULT NULL COMMENT '付款时间',
`pay_channel_code` tinyint DEFAULT NULL COMMENT '支付渠道(PayTypeEnum)',
`delivery_type` tinyint DEFAULT NULL COMMENT '配送方式 (枚举 DeliveryTypeEnum)',
`logistics_id` bigint DEFAULT '0' COMMENT '发货物流公司编号',
`logistics_no` varchar(64) DEFAULT '' COMMENT '发货物流单号',
`delivery_time` datetime DEFAULT NULL COMMENT '发货时间',
`receive_time` datetime DEFAULT NULL COMMENT '收货时间',
`receiver_name` varchar(64) DEFAULT NULL COMMENT '收件人名称',
`receiver_mobile` varchar(20) DEFAULT NULL COMMENT '收件人手机',
`receiver_area_id` int DEFAULT NULL COMMENT '收件人地区编号',
`receiver_detail_address` varchar(512) DEFAULT NULL COMMENT '收件人详细地址',
`pick_up_store_id` bigint DEFAULT NULL COMMENT '自提门店编号',
`pick_up_verify_code` varchar(64) DEFAULT NULL COMMENT '自提核销码',
`refund_status` tinyint DEFAULT NULL COMMENT '退款状态 (枚举 TradeOrderRefundStatusEnum)',
`refund_price` int DEFAULT NULL COMMENT '退款金额,单位:分',
`refund_time` datetime DEFAULT NULL COMMENT '退款时间',
`after_sale_id` bigint DEFAULT NULL COMMENT '售后单编号',
`after_sale_status` tinyint DEFAULT NULL COMMENT '售后状态 (枚举 TradeOrderItemAfterSaleStatusEnum)',
`finance_id` bigint DEFAULT NULL COMMENT '财务单编号',
`finance_status` tinyint DEFAULT NULL COMMENT '财务状态 (枚举 TradeOrderItemFinanceEnum)',
`version` int NOT NULL DEFAULT '0' COMMENT '版本号(乐观锁)',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
`creator` varchar(64) DEFAULT NULL COMMENT '创建者',
`updater` varchar(64) DEFAULT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT '1' COMMENT '租户编号',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order_num` (`order_num`),
KEY `idx_user_id` (`user_id`),
KEY `idx_status` (`order_status`),
KEY `idx_pay_status` (`pay_status`)
) ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT ='交易订单表';
-- 交易订单项表 (trade_order_item)
CREATE TABLE `tz_trade_order_item`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`user_id` bigint NOT NULL COMMENT '用户编号',
`order_id` bigint NOT NULL COMMENT '订单编号',
`cart_id` bigint DEFAULT NULL COMMENT '购物车项编号',
`spu_id` bigint NOT NULL COMMENT '商品 SPU 编号',
`spu_name` varchar(256) NOT NULL COMMENT '商品 SPU 名称',
`spu_type` tinyint(1) NOT NULL COMMENT '商品类型1商品 2服务',
`sku_id` bigint NOT NULL COMMENT '商品 SKU 编号',
`sku_name` varchar(255) NOT NULL COMMENT '商品 SKU 名称',
`shop_id` bigint DEFAULT NULL COMMENT '店铺id',
`shop_name` varchar(64) DEFAULT NULL COMMENT '店铺名称',
`shop_logo` varchar(255) DEFAULT NULL COMMENT '店铺logo',
`order_category_name` varchar(64) NOT NULL COMMENT '订单类目名称',
`order_category_id` bigint NOT NULL COMMENT '订单类目id',
`pic_url` varchar(512) NOT NULL COMMENT '商品图片',
`count` int NOT NULL COMMENT '购买数量',
`unit` varchar(16) DEFAULT NULL COMMENT '商品单位',
`expense_price` int DEFAULT NULL COMMENT '商品成本(单),单位:分',
`price` int DEFAULT NULL COMMENT '商品原价(单),单位:分',
`discount_price` int DEFAULT NULL COMMENT '优惠金额(总),单位:分',
`delivery_price` int DEFAULT NULL COMMENT '运费金额(总),单位:分',
`adjust_price` int DEFAULT NULL COMMENT '订单调价(总),单位:分',
`pay_price` int DEFAULT NULL COMMENT '应付金额(总),单位:分',
`live_price` int DEFAULT NULL COMMENT '实收金额(总),单位:分',
`refund_status` tinyint DEFAULT NULL COMMENT '退款状态 (枚举 TradeOrderRefundStatusEnum)',
`refund_price` int DEFAULT NULL COMMENT '退款金额,单位:分',
`refund_time` datetime DEFAULT NULL COMMENT '退款时间',
`sub_type` tinyint(1) DEFAULT '1' COMMENT '预约类型1预约 2 加急)',
`sub_time` datetime DEFAULT NULL COMMENT '预约时间',
`serve_address` varchar(255) DEFAULT NULL COMMENT '服务地址',
`serve_content` varchar(255) DEFAULT NULL COMMENT '服务内容',
`properties` json DEFAULT NULL COMMENT '属性数组',
`serve_info` json DEFAULT NULL COMMENT '服务信息',
`serve_ext_info` json DEFAULT NULL COMMENT '扩展服务信息,存储额外的服务相关数据',
`price_ext_info` json DEFAULT NULL COMMENT '附加费信息',
`version` int NOT NULL DEFAULT '0' COMMENT '版本号(乐观锁)',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
`creator` varchar(64) DEFAULT NULL COMMENT '创建者',
`updater` varchar(64) DEFAULT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT '1' COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_sku_id` (`sku_id`),
KEY `idx_user_id` (`user_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT ='交易订单项表';
-- 订单日志表 (trade_order_log)
CREATE TABLE `tz_trade_order_log`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`user_id` bigint(20) NOT NULL COMMENT '用户编号',
`user_type` tinyint(4) NOT NULL COMMENT '用户类型 (枚举 UserTypeEnum)',
`order_id` bigint(20) NOT NULL COMMENT '订单号',
`before_status` int(11) DEFAULT NULL COMMENT '操作前状态',
`after_status` int(11) DEFAULT NULL COMMENT '操作后状态',
`operate_type` tinyint(4) NOT NULL COMMENT '操作类型 (枚举 TradeOrderOperateTypeEnum)',
`content` varchar(1024) NOT NULL COMMENT '订单日志信息',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT '1' COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_user_id` (`user_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='订单日志表';
-- 售后订单表 (tz_trade_after_sale)
CREATE TABLE `tz_trade_after_sale`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '售后编号,主键自增',
`no` varchar(64) NOT NULL COMMENT '售后单号',
`status` tinyint(4) NOT NULL COMMENT '退款状态 (枚举 AfterSaleStatusEnum)',
`way` tinyint(4) NOT NULL COMMENT '售后方式 (枚举 AfterSaleWayEnum)',
`type` tinyint(4) NOT NULL COMMENT '售后类型 (枚举 AfterSaleTypeEnum)',
`user_id` bigint(20) NOT NULL COMMENT '用户编号',
`apply_reason` varchar(256) NOT NULL COMMENT '申请原因',
`apply_description` varchar(512) DEFAULT NULL COMMENT '补充描述',
`apply_pic_urls` json DEFAULT NULL COMMENT '补充凭证图片',
`order_id` bigint(20) NOT NULL COMMENT '交易订单编号',
`order_no` varchar(64) NOT NULL COMMENT '订单流水号',
`order_item_id` bigint(20) NOT NULL COMMENT '交易订单项编号',
`prod_id` bigint(20) NOT NULL COMMENT '商品 SPU 编号',
`prod_name` varchar(256) NOT NULL COMMENT '商品 SPU 名称',
`sku_id` bigint(20) NOT NULL COMMENT '商品 SKU 编号',
`properties` json DEFAULT NULL COMMENT '属性数组',
`pic_url` varchar(512) DEFAULT NULL COMMENT '商品图片',
`count` int(11) NOT NULL COMMENT '退货商品数量',
`audit_time` datetime DEFAULT NULL COMMENT '审批时间',
`audit_user_id` bigint(20) DEFAULT NULL COMMENT '审批人',
`audit_reason` varchar(512) DEFAULT NULL COMMENT '审批备注',
`refund_price` int(11) NOT NULL COMMENT '退款金额,单位:分',
`pay_refund_id` bigint(20) DEFAULT NULL COMMENT '支付退款编号',
`refund_time` datetime DEFAULT NULL COMMENT '退款时间',
`logistics_id` bigint(20) DEFAULT NULL COMMENT '退货物流公司编号',
`logistics_no` varchar(64) DEFAULT NULL COMMENT '退货物流单号',
`delivery_time` datetime DEFAULT NULL COMMENT '退货时间',
`receive_time` datetime DEFAULT NULL COMMENT '收货时间',
`receive_reason` varchar(512) DEFAULT NULL COMMENT '收货备注',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_no` (`no`),
KEY `idx_user_id` (`user_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_item_id` (`order_item_id`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='售后订单表';
-- 交易售后日志表 (tz_trade_after_sale_log)
CREATE TABLE `tz_trade_after_sale_log`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`user_id` bigint(20) NOT NULL COMMENT '用户编号',
`user_type` tinyint(4) NOT NULL COMMENT '用户类型 (枚举 UserTypeEnum)',
`after_sale_id` bigint(20) NOT NULL COMMENT '售后编号',
`before_status` tinyint(4) DEFAULT NULL COMMENT '操作前状态',
`after_status` tinyint(4) DEFAULT NULL COMMENT '操作后状态',
`operate_type` tinyint(4) NOT NULL COMMENT '操作类型 (枚举 AfterSaleOperateTypeEnum)',
`content` varchar(512) NOT NULL COMMENT '操作明细',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_after_sale_id` (`after_sale_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_operate_type` (`operate_type`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='交易售后日志表';
-- 快递公司表 (trade_delivery_express)
CREATE TABLE `tz_trade_delivery_express`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增',
`code` varchar(64) NOT NULL COMMENT '快递公司 code',
`name` varchar(128) NOT NULL COMMENT '快递公司名称',
`logo` varchar(512) DEFAULT NULL COMMENT '快递公司 logo',
`sort` int(11) DEFAULT NULL COMMENT '排序',
`status` tinyint(4) NOT NULL COMMENT '状态 (枚举 CommonStatusEnum)',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_code` (`code`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='快递公司表';
-- 快递运费模板表 (trade_delivery_express_template)
CREATE TABLE `tz_trade_delivery_express_template`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增',
`name` varchar(128) NOT NULL COMMENT '模板名称',
`charge_mode` tinyint(4) NOT NULL COMMENT '配送计费方式 (枚举 DeliveryExpressChargeModeEnum)',
`sort` int(11) DEFAULT NULL COMMENT '排序',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='快递运费模板表';
-- 快递运费模板计费配置表 (trade_delivery_express_template_charge)
CREATE TABLE `tz_trade_delivery_express_template_charge`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增',
`template_id` bigint(20) NOT NULL COMMENT '配送模板编号',
`area_ids` varchar(512) NOT NULL COMMENT '配送区域编号列表',
`charge_mode` tinyint(4) NOT NULL COMMENT '配送计费方式',
`start_count` double NOT NULL COMMENT '首件数量(件数,重量,或体积)',
`start_price` int(11) NOT NULL COMMENT '起步价,单位:分',
`extra_count` double NOT NULL COMMENT '续件数量(件, 重量,或体积)',
`extra_price` int(11) NOT NULL COMMENT '额外价,单位:分',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_template_id` (`template_id`),
CONSTRAINT `fk_express_template_charge_template_id` FOREIGN KEY (`template_id`) REFERENCES `tz_trade_delivery_express_template` (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='快递运费模板计费配置表';
-- 快递运费模板包邮配置表 (trade_delivery_express_template_free)
CREATE TABLE `tz_trade_delivery_express_template_free`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`template_id` bigint(20) NOT NULL COMMENT '配送模板编号',
`area_ids` varchar(512) NOT NULL COMMENT '配送区域编号列表',
`free_price` int(11) DEFAULT NULL COMMENT '包邮金额,单位:分',
`free_count` int(11) DEFAULT NULL COMMENT '包邮件数',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_template_id` (`template_id`),
CONSTRAINT `fk_express_template_free_template_id` FOREIGN KEY (`template_id`) REFERENCES `tz_trade_delivery_express_template` (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='快递运费模板包邮配置表';
-- 自提门店表 (trade_delivery_pick_up_store)
CREATE TABLE `tz_trade_delivery_pick_up_store`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(128) NOT NULL COMMENT '门店名称',
`introduction` varchar(512) DEFAULT NULL COMMENT '门店简介',
`phone` varchar(20) NOT NULL COMMENT '门店手机',
`area_id` int(11) NOT NULL COMMENT '区域编号',
`detail_address` varchar(512) NOT NULL COMMENT '门店详细地址',
`logo` varchar(512) DEFAULT NULL COMMENT '门店 logo',
`opening_time` time NOT NULL COMMENT '营业开始时间',
`closing_time` time NOT NULL COMMENT '营业结束时间',
`latitude` double DEFAULT NULL COMMENT '纬度',
`longitude` double DEFAULT NULL COMMENT '经度',
`verify_user_ids` varchar(512) DEFAULT NULL COMMENT '核销员工用户编号数组',
`status` tinyint(4) NOT NULL COMMENT '门店状态 (枚举 CommonStatusEnum)',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_area_id` (`area_id`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='自提门店表';
-- 订单预约时间修改记录表 (tz_trade_sub_log)
CREATE TABLE `tz_trade_sub_log`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`user_id` bigint(20) NOT NULL COMMENT '用户编号',
`order_id` bigint(20) NOT NULL COMMENT '订单号',
`sub_time` datetime NOT NULL COMMENT '预约时间',
`create_time` datetime NOT NULL COMMENT '创建时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_user_id` (`user_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='订单预约时间修改记录表';