admin/db.sql
2026-04-15 15:25:38 +08:00

800 lines
42 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.

-- OMS Admin schema
-- Target database: MySQL 8.0+
-- Notes:
-- 1. Physical foreign keys are intentionally omitted. The project uses logical foreign keys plus indexes to reduce import friction,
-- avoid circular dependency issues, and better fit soft-delete based business flows.
-- 2. The source spec references `t_sales_product_allocation_rule`, but no concrete table definition exists. The actual design stores
-- allocation scheme on `t_sales_product` and provider rows on `t_sales_product_allocation_provider`.
-- 3. `t_order` keeps SenderId/RecipientId/DeclarationId for compatibility with the original spec, while child tables also keep OrderId.
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `t_warehouse_address`;
DROP TABLE IF EXISTS `t_recharge_record`;
DROP TABLE IF EXISTS `t_customer_sub_account`;
DROP TABLE IF EXISTS `t_customer`;
DROP TABLE IF EXISTS `t_label_print_record`;
DROP TABLE IF EXISTS `t_outbound_record`;
DROP TABLE IF EXISTS `t_inbound_record`;
DROP TABLE IF EXISTS `t_label_template`;
DROP TABLE IF EXISTS `t_auto_trigger`;
DROP TABLE IF EXISTS `t_weight_rounding_info`;
DROP TABLE IF EXISTS `t_weight_rounding`;
DROP TABLE IF EXISTS `t_weight_rule_info`;
DROP TABLE IF EXISTS `t_weight_rule`;
DROP TABLE IF EXISTS `t_kpi_area_info`;
DROP TABLE IF EXISTS `t_kpi_area`;
DROP TABLE IF EXISTS `t_service_channel_publish_record`;
DROP TABLE IF EXISTS `t_service_channel_price_detail`;
DROP TABLE IF EXISTS `t_service_channel_price_factor`;
DROP TABLE IF EXISTS `t_service_channel_price`;
DROP TABLE IF EXISTS `t_service_channel`;
DROP TABLE IF EXISTS `t_service_channel_group`;
DROP TABLE IF EXISTS `t_sales_product_publish_record`;
DROP TABLE IF EXISTS `t_sales_product_allocation_provider`;
DROP TABLE IF EXISTS `t_sales_product_price_detail`;
DROP TABLE IF EXISTS `t_sales_product_price_factor`;
DROP TABLE IF EXISTS `t_sales_product_price`;
DROP TABLE IF EXISTS `t_sales_product`;
DROP TABLE IF EXISTS `t_order_fee`;
DROP TABLE IF EXISTS `t_order_weight`;
DROP TABLE IF EXISTS `t_order_declaration`;
DROP TABLE IF EXISTS `t_order_recipient`;
DROP TABLE IF EXISTS `t_order_sender`;
DROP TABLE IF EXISTS `t_order_task_fail`;
DROP TABLE IF EXISTS `t_order_task`;
DROP TABLE IF EXISTS `t_order_template`;
DROP TABLE IF EXISTS `t_order`;
CREATE TABLE `t_order` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`RequestId` VARCHAR(64) NULL COMMENT '请求幂等ID',
`ServiceNo` VARCHAR(64) NOT NULL COMMENT '运单号',
`ClientNo` VARCHAR(64) NULL COMMENT '客户单号',
`TrackNo` VARCHAR(64) NULL COMMENT '跟踪号',
`ProductCode` VARCHAR(128) NULL COMMENT '产品编码',
`ChannelCode` VARCHAR(128) NULL COMMENT '渠道编码',
`ConsigneeCountry` VARCHAR(8) NULL COMMENT '国家二字码',
`CargoAttribute` VARCHAR(32) NULL COMMENT '货物属性:general/electronics/sensitive',
`OrderStatus` VARCHAR(32) NOT NULL COMMENT '订单状态',
`WarehouseId` BIGINT NULL COMMENT '仓库ID',
`CustomerId` BIGINT NULL COMMENT '客户ID',
`SenderId` BIGINT NULL COMMENT '发件人ID',
`RecipientId` BIGINT NULL COMMENT '收件人ID',
`DeclarationId` BIGINT NULL COMMENT '申报信息ID',
`ReceiveTime` DATETIME NULL COMMENT '收货时间',
`ShipTime` DATETIME NULL COMMENT '发货时间',
`PayTime` DATETIME NULL COMMENT '支付时间',
`SignTime` DATETIME NULL COMMENT '签收时间',
`IsCod` TINYINT NOT NULL DEFAULT 0 COMMENT '是否COD:0-否,1-是',
`CodCurrency` VARCHAR(16) NULL COMMENT 'COD币种',
`CodSum` DECIMAL(18,4) NULL COMMENT 'COD金额',
`DeclaredCurrency` VARCHAR(16) NULL COMMENT '申报币种',
`DeclaredSum` DECIMAL(18,4) NULL COMMENT '申报金额',
`Quantity` INT NULL COMMENT '包裹数量',
`IsIntercept` TINYINT NOT NULL DEFAULT 0 COMMENT '是否拦截:0-否,1-是',
`IsRemote` TINYINT NOT NULL DEFAULT 0 COMMENT '是否偏远:0-否,1-是',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_ord_service_no` (`ServiceNo`),
UNIQUE KEY `uk_ord_request_id` (`RequestId`),
KEY `idx_ord_customer_status_ctime` (`CustomerId`, `OrderStatus`, `CreateTime`),
KEY `idx_ord_track_no` (`TrackNo`),
KEY `idx_ord_client_no` (`ClientNo`),
KEY `idx_ord_product_channel` (`ProductCode`, `ChannelCode`),
KEY `idx_ord_warehouse_status` (`WarehouseId`, `OrderStatus`),
KEY `idx_ord_sender` (`SenderId`),
KEY `idx_ord_recipient` (`RecipientId`),
KEY `idx_ord_declaration` (`DeclarationId`)
) COMMENT='订单表';
CREATE TABLE `t_order_template` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`Name` VARCHAR(64) NOT NULL COMMENT '模板名称',
`Type` VARCHAR(16) NOT NULL COMMENT 'standard/custom',
`TemplateKey` VARCHAR(64) NULL COMMENT '模板标识',
`CustomerId` BIGINT NULL COMMENT '客户ID(自定义模板)',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_ord_tpl_type_key` (`Type`, `TemplateKey`),
KEY `idx_ord_tpl_customer_type` (`CustomerId`, `Type`)
) COMMENT='下单模板表';
CREATE TABLE `t_order_task` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`TaskName` VARCHAR(128) NOT NULL COMMENT '任务名称',
`Quantity` INT NULL COMMENT '数量',
`SuccessCount` INT NULL COMMENT '成功数',
`FailCount` INT NULL COMMENT '失败数',
`Status` VARCHAR(16) NOT NULL COMMENT '任务状态:processing/completed/pending',
`TemplateId` BIGINT NULL COMMENT '模板ID',
`CustomerId` BIGINT NULL COMMENT '客户ID',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_task_customer_status_ctime` (`CustomerId`, `Status`, `CreateTime`),
KEY `idx_ord_task_template` (`TemplateId`)
) COMMENT='下单任务表';
CREATE TABLE `t_order_task_fail` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`TaskId` BIGINT NOT NULL COMMENT '任务ID',
`RowNumber` INT NOT NULL COMMENT 'Excel行号',
`Reason` VARCHAR(512) NOT NULL COMMENT '失败原因',
`RawDataJson` JSON NULL COMMENT '原始行数据',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_task_fail_task` (`TaskId`),
KEY `idx_ord_task_fail_row` (`TaskId`, `RowNumber`)
) COMMENT='下单任务失败明细表';
CREATE TABLE `t_order_sender` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`OrderId` BIGINT NOT NULL COMMENT '订单ID',
`SenderName` VARCHAR(50) NULL COMMENT '姓名',
`Company` VARCHAR(255) NULL COMMENT '公司',
`Country` INT NULL COMMENT '国家',
`Province` VARCHAR(50) NULL COMMENT '州省',
`City` VARCHAR(50) NULL COMMENT '城市',
`ZipCode` VARCHAR(50) NULL COMMENT '邮编',
`StreetAddress1` VARCHAR(500) NULL COMMENT '地址1',
`StreetAddress2` VARCHAR(500) NULL COMMENT '地址2',
`StreetAddress3` VARCHAR(500) NULL COMMENT '地址3',
`HouseNumber` VARCHAR(50) NULL COMMENT '门牌号',
`Phone` VARCHAR(50) NULL COMMENT '手机',
`TelePhone` VARCHAR(50) NULL COMMENT '电话',
`Email` VARCHAR(60) NULL COMMENT '邮箱',
`IsDefault` TINYINT NOT NULL DEFAULT 0 COMMENT '是否默认:0-否,1-是',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_sender_order` (`OrderId`),
KEY `idx_ord_sender_phone` (`Phone`)
) COMMENT='订单发件人表';
CREATE TABLE `t_order_recipient` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`OrderId` BIGINT NOT NULL COMMENT '订单ID',
`RecipientsName` VARCHAR(30) NULL COMMENT '收件人名称',
`CompanyName` VARCHAR(60) NULL COMMENT '收件人公司名称',
`Country` INT NULL COMMENT '国家',
`Phone` VARCHAR(20) NULL COMMENT '收件人手机',
`TelePhone` VARCHAR(20) NULL COMMENT '收件人电话',
`ZipCode` VARCHAR(15) NULL COMMENT '收件人邮编',
`Province` VARCHAR(25) NULL COMMENT '收件人省/州',
`City` VARCHAR(25) NULL COMMENT '收件人城市',
`StreetNumber` VARCHAR(20) NULL COMMENT '收件人门牌号',
`StreetAddress1` VARCHAR(255) NULL COMMENT '收件人地址1',
`StreetAddress2` VARCHAR(255) NULL COMMENT '收件人地址2',
`StreetAddress3` VARCHAR(255) NULL COMMENT '收件人地址3',
`Email` VARCHAR(60) NULL COMMENT '收件人邮箱',
`TaxType` INT NULL COMMENT '税号类型',
`TaxNo` VARCHAR(35) NULL COMMENT '税号',
`CertificateType` INT NULL COMMENT '证件类型',
`CertificateNo` VARCHAR(30) NULL COMMENT '证件号码',
`Eori` VARCHAR(255) NULL COMMENT 'EORI',
`Vat` VARCHAR(255) NULL COMMENT 'Vat',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_rec_order` (`OrderId`),
KEY `idx_ord_rec_phone` (`Phone`),
KEY `idx_ord_rec_zip` (`ZipCode`)
) COMMENT='订单收件人表';
CREATE TABLE `t_order_declaration` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`OrderId` BIGINT NOT NULL COMMENT '订单ID',
`CnName` VARCHAR(500) NULL COMMENT '品名-中文',
`EnName` VARCHAR(500) NULL COMMENT '品名-英文',
`Sku` VARCHAR(255) NULL COMMENT 'SKU',
`Unit` VARCHAR(5) NULL COMMENT '单位',
`UnitPrice` DECIMAL(10,2) NULL COMMENT '单价',
`UnitWeight` DECIMAL(11,3) NULL COMMENT '单重',
`Quantity` INT NULL COMMENT '数量',
`Amount` DECIMAL(11,2) NULL COMMENT '总金额',
`Weight` DECIMAL(11,3) NULL COMMENT '总重量',
`HsCode` VARCHAR(50) NULL COMMENT 'HsCode',
`ImHsCode` VARCHAR(50) NULL COMMENT '进口HsCode',
`ExHsCode` VARCHAR(50) NULL COMMENT '出口HsCode',
`SkuImage` VARCHAR(255) NULL COMMENT '图片',
`Category` VARCHAR(20) NULL COMMENT '类别',
`Brand` VARCHAR(50) NULL COMMENT '品牌',
`BrandType` VARCHAR(50) NULL COMMENT '品牌类型',
`IsMagnetic` TINYINT NOT NULL DEFAULT 0 COMMENT '是否带磁带电:0-否,1-是',
`Distribution` VARCHAR(255) NULL COMMENT '配货信息',
`Material` VARCHAR(50) NULL COMMENT '材质',
`EnMaterial` VARCHAR(64) NULL COMMENT '英文材质',
`Purpose` VARCHAR(50) NULL COMMENT '用途',
`Attributes` VARCHAR(50) NULL COMMENT '属性',
`OriginCountry` VARCHAR(50) NULL COMMENT '原产国',
`SalesLink` VARCHAR(255) NULL COMMENT '销售链接',
`Model` VARCHAR(64) NULL COMMENT '型号',
`Specifications` VARCHAR(50) NULL COMMENT '规格',
`Comment` VARCHAR(500) NULL COMMENT '备注',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_decl_order` (`OrderId`),
KEY `idx_ord_decl_sku` (`Sku`)
) COMMENT='订单申报信息表';
CREATE TABLE `t_order_weight` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`OrderId` BIGINT NOT NULL COMMENT '订单ID',
`Type` VARCHAR(16) NOT NULL COMMENT '类型:forecast/receive/ship/downstream',
`Length` DECIMAL(10,2) NULL COMMENT '长(cm)',
`Width` DECIMAL(10,2) NULL COMMENT '宽(cm)',
`Height` DECIMAL(10,2) NULL COMMENT '高(cm)',
`ActualWeight` DECIMAL(10,3) NULL COMMENT '实重(kg)',
`VolumetricWeight` DECIMAL(10,3) NULL COMMENT '体积重(kg)',
`ChargeableWeight` DECIMAL(10,3) NULL COMMENT '计费重(kg)',
`Cubic` DECIMAL(12,6) NULL COMMENT '立方(m³)',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_wgt_order_type` (`OrderId`, `Type`)
) COMMENT='订单件重尺表';
CREATE TABLE `t_order_fee` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`OrderId` BIGINT NOT NULL COMMENT '订单ID',
`Type` VARCHAR(16) NOT NULL COMMENT '类型:receivable/payable',
`CostItem` VARCHAR(64) NOT NULL COMMENT '费用项',
`Amount` DECIMAL(18,4) NOT NULL COMMENT '金额',
`Currency` VARCHAR(16) NOT NULL COMMENT '币种:RMB/USD/EUR',
`DownstreamProvider` VARCHAR(128) NULL COMMENT '下游服务商',
`PriceNo` VARCHAR(64) NULL COMMENT '价格编号',
`PriceEffectiveTime` DATETIME NULL COMMENT '价格编号生效时间',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_ord_fee_order_type` (`OrderId`, `Type`),
KEY `idx_ord_fee_order_item` (`OrderId`, `CostItem`),
KEY `idx_ord_fee_price_no` (`PriceNo`)
) COMMENT='订单费用表';
CREATE TABLE `t_sales_product` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`ProductCode` VARCHAR(64) NOT NULL COMMENT '产品编码',
`ProductName` VARCHAR(128) NOT NULL COMMENT '产品名称',
`ProductGroup` VARCHAR(32) NULL COMMENT '分组(专线/快递/邮政)',
`MinTimeliness` INT NULL COMMENT '最小时效(天)',
`MaxTimeliness` INT NULL COMMENT '最大时效(天)',
`CustomerWaybill` VARCHAR(32) NULL COMMENT '系统面单/客户面单',
`BlacklistAreaId` BIGINT NULL COMMENT '黑名单区ID',
`RemoteAreaId` BIGINT NULL COMMENT '偏远分区ID',
`WeightRuleId` BIGINT NULL COMMENT '计重规则ID',
`WeightRoundingId` BIGINT NULL COMMENT '计重进位ID',
`ProductDescription` TEXT COMMENT '产品描述',
`PreStorageScript` TEXT COMMENT '入库前脚本',
`IsActive` TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用',
`Scheme` VARCHAR(32) NOT NULL COMMENT '排货方案:costLowest/timeFastest/overallBest',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_sp_code` (`ProductCode`),
KEY `idx_sp_group_active` (`ProductGroup`, `IsActive`),
KEY `idx_sp_scheme` (`Scheme`),
KEY `idx_sp_weight_rule` (`WeightRuleId`),
KEY `idx_sp_weight_rounding` (`WeightRoundingId`)
) COMMENT='销售产品表';
CREATE TABLE `t_sales_product_price` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`SalesProductId` BIGINT NOT NULL COMMENT '销售产品ID',
`SerialNumber` INT NOT NULL COMMENT '序号',
`Status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
`PriceName` VARCHAR(64) NOT NULL COMMENT '价格名称',
`CostItem` VARCHAR(64) NOT NULL COMMENT '费用项',
`CostUnit` VARCHAR(16) NOT NULL COMMENT '费用单位:kg/票/件',
`Currency` VARCHAR(16) NOT NULL COMMENT '币种:RMB/USD/EUR',
`ChargingTime` VARCHAR(32) NULL COMMENT '收费时机:预报/出库/签收',
`ChargingCondition` VARCHAR(64) NULL COMMENT '收费条件',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_spp_sp_serial` (`SalesProductId`, `SerialNumber`),
KEY `idx_spp_sp_status` (`SalesProductId`, `Status`)
) COMMENT='产品卖价表';
CREATE TABLE `t_sales_product_price_factor` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`PriceId` BIGINT NOT NULL COMMENT '产品卖价ID',
`SerialNumber` INT NOT NULL COMMENT '序号(决定因素排序)',
`Factor` VARCHAR(64) NOT NULL COMMENT '因素:货物类型/分区/重量/仓库/客户',
`FactorValues` JSON NULL COMMENT '因素值数组',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_sppf_price_serial` (`PriceId`, `SerialNumber`)
) COMMENT='产品卖价计费因素表';
CREATE TABLE `t_sales_product_price_detail` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`PriceId` BIGINT NOT NULL COMMENT '产品卖价ID',
`FactorValuesJson` JSON NULL COMMENT '非客户因素组合',
`CalculationFormula` VARCHAR(32) NOT NULL COMMENT '计算公式:总价/单价/续单价',
`CalculatedValue` DECIMAL(18,4) NULL COMMENT '计算值',
`CustomerGroupValues` JSON NULL COMMENT '客户组对应价格',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_sppd_price` (`PriceId`)
) COMMENT='产品卖价价格明细表';
CREATE TABLE `t_sales_product_allocation_provider` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`SalesProductId` BIGINT NOT NULL COMMENT '销售产品ID',
`SerialNumber` INT NOT NULL COMMENT '序号',
`ProviderName` VARCHAR(128) NOT NULL COMMENT '服务商名称',
`ServiceChannelId` BIGINT NULL COMMENT '服务渠道ID',
`Weight` INT NOT NULL COMMENT '权重(评分用)',
`CustomerIds` JSON NULL COMMENT '指定客户ID数组,空表示全部',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_spap_sp_serial` (`SalesProductId`, `SerialNumber`),
KEY `idx_spap_channel` (`ServiceChannelId`)
) COMMENT='排货规则服务商表';
CREATE TABLE `t_sales_product_publish_record` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`SalesProductId` BIGINT NOT NULL COMMENT '销售产品ID',
`Version` VARCHAR(32) NOT NULL COMMENT '版本号,如 20231227112339',
`OperatorType` VARCHAR(16) NOT NULL COMMENT '操作类型:price/rules',
`Status` VARCHAR(16) NOT NULL COMMENT '状态:生效/回滚/无效',
`PublishUser` VARCHAR(64) NOT NULL COMMENT '发布人',
`PublishTime` DATETIME NOT NULL COMMENT '发布时间',
`Description` VARCHAR(512) NULL COMMENT '版本备注',
`Content` JSON NULL COMMENT '发布内容JSON快照',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_sppr_prod_op_ver` (`SalesProductId`, `OperatorType`, `Version`),
KEY `idx_sppr_prod_op_time` (`SalesProductId`, `OperatorType`, `PublishTime`)
) COMMENT='销售产品发布记录表';
CREATE TABLE `t_service_channel_group` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`Name` VARCHAR(128) NOT NULL COMMENT '渠道组名称',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_scg_name` (`Name`)
) COMMENT='服务渠道组表';
CREATE TABLE `t_service_channel` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`GroupId` BIGINT NULL COMMENT '渠道组ID',
`ChannelCode` VARCHAR(64) NOT NULL COMMENT '渠道编码',
`ChannelName` VARCHAR(128) NOT NULL COMMENT '渠道名称',
`MinTime` INT NULL COMMENT '最小时效(天)',
`MaxTime` INT NULL COMMENT '最大时效(天)',
`ForecastType` VARCHAR(32) NULL COMMENT '预报单号类型(customer/waybill/tracking)',
`ForecastCode` VARCHAR(128) NULL COMMENT '预报单号',
`Description` TEXT COMMENT '描述',
`PreScript` TEXT COMMENT '入库前脚本',
`IsActive` TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_sc_code` (`ChannelCode`),
KEY `idx_sc_group_active` (`GroupId`, `IsActive`),
KEY `idx_sc_name` (`ChannelName`)
) COMMENT='服务渠道表';
CREATE TABLE `t_service_channel_price` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`ServiceChannelId` BIGINT NOT NULL COMMENT '服务渠道ID',
`SerialNumber` INT NOT NULL COMMENT '序号',
`Status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
`PriceName` VARCHAR(64) NOT NULL COMMENT '价格名称',
`CostItem` VARCHAR(64) NOT NULL COMMENT '费用项',
`CostUnit` VARCHAR(16) NOT NULL COMMENT '费用单位:kg/票/件',
`Currency` VARCHAR(16) NOT NULL COMMENT '币种:RMB/USD/EUR',
`ChargingTime` VARCHAR(32) NULL COMMENT '收费时机:预报/出库/签收',
`ChargingCondition` VARCHAR(64) NULL COMMENT '收费条件',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_scp_sc_serial` (`ServiceChannelId`, `SerialNumber`),
KEY `idx_scp_sc_status` (`ServiceChannelId`, `Status`)
) COMMENT='渠道买价表';
CREATE TABLE `t_service_channel_price_factor` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`PriceId` BIGINT NOT NULL COMMENT '渠道买价ID',
`SerialNumber` INT NOT NULL COMMENT '序号',
`Factor` VARCHAR(64) NOT NULL COMMENT '因素:货物类型/分区/重量/仓库/客户',
`FactorValues` JSON NULL COMMENT '因素值数组',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_scpf_price_serial` (`PriceId`, `SerialNumber`)
) COMMENT='渠道买价计费因素表';
CREATE TABLE `t_service_channel_price_detail` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`PriceId` BIGINT NOT NULL COMMENT '渠道买价ID',
`FactorValuesJson` JSON NULL COMMENT '非客户因素组合',
`CalculationFormula` VARCHAR(32) NOT NULL COMMENT '计算公式:总价/单价/续单价',
`CalculatedValue` DECIMAL(18,4) NULL COMMENT '计算值',
`CustomerGroupValues` JSON NULL COMMENT '客户组对应价格',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_scpd_price` (`PriceId`)
) COMMENT='渠道买价价格明细表';
CREATE TABLE `t_service_channel_publish_record` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`ServiceChannelId` BIGINT NOT NULL COMMENT '服务渠道ID',
`Version` VARCHAR(32) NOT NULL COMMENT '版本号',
`OperatorType` VARCHAR(16) NOT NULL COMMENT '操作类型:price/rules',
`Status` VARCHAR(16) NOT NULL COMMENT '状态:生效/回滚/无效',
`PublishUser` VARCHAR(64) NOT NULL COMMENT '发布人',
`PublishTime` DATETIME NOT NULL COMMENT '发布时间',
`Description` VARCHAR(512) NULL COMMENT '版本备注',
`Content` JSON NULL COMMENT '发布内容JSON快照',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_scpr_chan_op_ver` (`ServiceChannelId`, `OperatorType`, `Version`),
KEY `idx_scpr_chan_op_time` (`ServiceChannelId`, `OperatorType`, `PublishTime`)
) COMMENT='服务渠道发布记录表';
CREATE TABLE `t_kpi_area` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`AppKey` VARCHAR(64) NOT NULL COMMENT '应用标识',
`AreaType` VARCHAR(32) NOT NULL COMMENT '类型:blacklist/remote/warning',
`Name` VARCHAR(128) NOT NULL COMMENT '分区名称',
`SystemName` VARCHAR(128) NULL COMMENT '系统名称',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_kpi_area_app_type` (`AppKey`, `AreaType`),
KEY `idx_kpi_area_name` (`Name`)
) COMMENT='分区表';
CREATE TABLE `t_kpi_area_info` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`AreaId` BIGINT NOT NULL COMMENT '分区ID',
`CountryCode` VARCHAR(8) NULL COMMENT '国家二字码',
`CountryName` VARCHAR(64) NULL COMMENT '国家名称',
`Province` VARCHAR(128) NULL COMMENT '省份',
`City` VARCHAR(128) NULL COMMENT '城市',
`LeftPostcode` VARCHAR(32) NULL COMMENT '左侧邮编',
`RightPostcode` VARCHAR(32) NULL COMMENT '右侧邮编',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_kpi_info_area` (`AreaId`),
KEY `idx_kpi_info_area_country` (`AreaId`, `CountryCode`)
) COMMENT='分区明细表';
CREATE TABLE `t_weight_rule` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`AppKey` VARCHAR(64) NOT NULL COMMENT '应用标识',
`Name` VARCHAR(128) NOT NULL COMMENT '规则名称',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_wr_app_name` (`AppKey`, `Name`)
) COMMENT='计重规则表';
CREATE TABLE `t_weight_rule_info` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`RuleId` BIGINT NOT NULL COMMENT '计重规则ID',
`Client` VARCHAR(128) NOT NULL COMMENT '客户/客户组',
`Condition` VARCHAR(256) NOT NULL COMMENT '条件表达式',
`BillableWeight` VARCHAR(64) NOT NULL COMMENT '计费重取值',
`VolumetricFactor` VARCHAR(32) NOT NULL COMMENT '材积系数',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_wri_rule_client` (`RuleId`, `Client`)
) COMMENT='计重规则明细表';
CREATE TABLE `t_weight_rounding` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`AppKey` VARCHAR(64) NOT NULL COMMENT '应用标识',
`Name` VARCHAR(128) NOT NULL COMMENT '进位名称',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_wrd_app_name` (`AppKey`, `Name`)
) COMMENT='计重进位表';
CREATE TABLE `t_weight_rounding_info` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`RoundingId` BIGINT NOT NULL COMMENT '计重进位ID',
`StartValue` DECIMAL(18,4) NOT NULL COMMENT '起始值(kg)',
`EndValue` DECIMAL(18,4) NOT NULL COMMENT '结束值(kg)',
`Public` VARCHAR(32) NULL COMMENT '公共进位值',
`CustomerGroup1` VARCHAR(32) NULL COMMENT '客户组1进位值',
`CustomerGroup2` VARCHAR(32) NULL COMMENT '客户组2进位值',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_wrdi_round_range` (`RoundingId`, `StartValue`, `EndValue`)
) COMMENT='计重进位明细表';
CREATE TABLE `t_auto_trigger` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`Status` TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用',
`Operation` VARCHAR(32) NULL COMMENT '操作:拦截/警告/问题件',
`TriggerTiming` VARCHAR(32) NULL COMMENT '触发时机:下单/入库/出库',
`TriggerCondition` TEXT COMMENT '触发条件',
`PromptMessage` VARCHAR(512) NULL COMMENT '提示信息',
`Notifier` VARCHAR(128) NULL COMMENT '通知人',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_at_status_timing` (`Status`, `TriggerTiming`),
KEY `idx_at_operation` (`Operation`)
) COMMENT='自动触发表';
CREATE TABLE `t_label_template` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`Name` VARCHAR(128) NOT NULL COMMENT '模板名称',
`TemplateJson` JSON NULL COMMENT 'vg-print 模板 JSON',
`TemplateType` VARCHAR(32) NULL COMMENT '尾程/客户/入库/出库/sku',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_lt_name_type` (`Name`, `TemplateType`)
) COMMENT='标签模板表';
CREATE TABLE `t_inbound_record` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`WaybillNo` VARCHAR(64) NOT NULL COMMENT '运单号',
`Weight` DECIMAL(10,2) NULL COMMENT '实重(kg)',
`Length` DECIMAL(10,2) NULL COMMENT '长(cm)',
`Width` DECIMAL(10,2) NULL COMMENT '宽(cm)',
`Height` DECIMAL(10,2) NULL COMMENT '高(cm)',
`SalesProductId` BIGINT NULL COMMENT '销售产品ID',
`DestinationCountry` VARCHAR(8) NULL COMMENT '目的国',
`WarehouseId` BIGINT NULL COMMENT '仓库ID',
`OperateTime` DATETIME NOT NULL COMMENT '操作时间',
`OperatorId` BIGINT NULL COMMENT '操作人ID',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_inb_waybill_time` (`WaybillNo`, `OperateTime`),
KEY `idx_inb_warehouse_time` (`WarehouseId`, `OperateTime`),
KEY `idx_inb_product_time` (`SalesProductId`, `OperateTime`)
) COMMENT='入库记录表';
CREATE TABLE `t_outbound_record` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`WaybillNo` VARCHAR(64) NOT NULL COMMENT '运单号',
`WarehouseId` BIGINT NULL COMMENT '仓库ID',
`OperateTime` DATETIME NOT NULL COMMENT '操作时间',
`OperatorId` BIGINT NULL COMMENT '操作人ID',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_out_waybill_time` (`WaybillNo`, `OperateTime`),
KEY `idx_out_warehouse_time` (`WarehouseId`, `OperateTime`)
) COMMENT='出库记录表';
CREATE TABLE `t_label_print_record` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`WaybillNo` VARCHAR(64) NOT NULL COMMENT '运单号',
`CustomerOrderNo` VARCHAR(64) NULL COMMENT '客户单号',
`TrackingNo` VARCHAR(64) NULL COMMENT '跟踪号',
`OtherNumber` VARCHAR(64) NULL COMMENT '其他单号',
`LabelTemplateId` BIGINT NULL COMMENT '标签模板ID',
`PrintSuccess` TINYINT NOT NULL DEFAULT 0 COMMENT '是否打印成功',
`PrintTime` DATETIME NOT NULL COMMENT '打印时间',
`OperatorId` BIGINT NULL COMMENT '操作人ID',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_lpr_waybill_time` (`WaybillNo`, `PrintTime`),
KEY `idx_lpr_template` (`LabelTemplateId`),
KEY `idx_lpr_operator_time` (`OperatorId`, `PrintTime`)
) COMMENT='标签打印记录表';
CREATE TABLE `t_customer` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`CustomerCode` VARCHAR(32) NOT NULL COMMENT '客户编号,规则:前缀w+年份+序号',
`WechatAvatar` VARCHAR(255) NULL COMMENT '微信头像URL',
`WechatNickname` VARCHAR(64) NULL COMMENT '微信昵称',
`Email` VARCHAR(64) NULL COMMENT '邮箱,用于登录/找回密码',
`Phone` VARCHAR(16) NOT NULL COMMENT '手机号,用于登录/验证',
`Balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '账户余额',
`TotalQuota` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '总额度',
`UsedQuota` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '已用额度',
`Status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:0-禁用,1-正常,2-冻结',
`Remark` VARCHAR(512) NULL COMMENT '备注信息',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人(系统/管理员账号)',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
`Salesman` VARCHAR(32) NULL COMMENT '所属销售员账号',
`CustomerService` VARCHAR(32) NULL COMMENT '所属客服账号',
`CustomerGroup` TINYINT NULL COMMENT '客户分组:0-普通客户,1-VIP1,2-VIP2,3-VIP3,4-VIP4,5-VIP5',
`Role` VARCHAR(64) NULL COMMENT '角色,用于菜单权限',
`LastLoginIp` VARCHAR(64) NULL COMMENT '最后在线IP',
`LastLoginTime` DATETIME NULL COMMENT '最后在线时间',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`WechatOpenid` VARCHAR(64) NULL COMMENT '微信OpenID',
`Password` VARCHAR(64) NOT NULL COMMENT '密码(MD5加密存储)',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_cus_code` (`CustomerCode`),
UNIQUE KEY `uk_cus_phone` (`Phone`),
UNIQUE KEY `uk_cus_email` (`Email`),
UNIQUE KEY `uk_cus_openid` (`WechatOpenid`),
KEY `idx_cus_status_group` (`Status`, `CustomerGroup`),
KEY `idx_cus_sales_service` (`Salesman`, `CustomerService`)
) COMMENT='客户表';
CREATE TABLE `t_customer_sub_account` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`MainCustomerId` BIGINT NOT NULL COMMENT '主客户ID',
`SubAccountCode` VARCHAR(32) NOT NULL COMMENT '子账号编号',
`SubWechatAvatar` VARCHAR(255) NULL COMMENT '子账号微信头像',
`SubWechatNickname` VARCHAR(64) NULL COMMENT '子账号微信昵称',
`SubPhone` VARCHAR(16) NOT NULL COMMENT '子账号手机号',
`SubEmail` VARCHAR(64) NULL COMMENT '子账号邮箱',
`SubPassword` VARCHAR(64) NOT NULL COMMENT '子账号密码(MD5加密)',
`SubStatus` TINYINT NOT NULL DEFAULT 1 COMMENT '子账号状态:0-禁用,1-正常',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人(主客户/管理员)',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_csa_code` (`SubAccountCode`),
UNIQUE KEY `uk_csa_phone` (`SubPhone`),
KEY `idx_csa_main_status` (`MainCustomerId`, `SubStatus`),
KEY `idx_csa_email` (`SubEmail`)
) COMMENT='客户子账号表';
CREATE TABLE `t_recharge_record` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`CustomerId` BIGINT NOT NULL COMMENT '客户ID(主账号/子账号关联主账号ID)',
`SerialNumber` VARCHAR(64) NOT NULL COMMENT '流水号',
`RechargeTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '充值提交时间',
`PayType` TINYINT NOT NULL COMMENT '支付方式:1-微信,2-支付宝',
`RechargeAmount` DECIMAL(18,2) NOT NULL COMMENT '充值金额,>=0.01',
`RechargeScreenshot` VARCHAR(255) NULL COMMENT '充值截图URL',
`RechargeStatus` TINYINT NOT NULL DEFAULT 0 COMMENT '充值状态:0-待审核,1-审核通过,2-审核驳回',
`Remark` VARCHAR(512) NULL COMMENT '备注(客户/审核人填写)',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
`AuditTime` DATETIME NULL COMMENT '审核时间',
`AuditBy` VARCHAR(32) NULL COMMENT '审核人(管理员账号)',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_rr_serial` (`SerialNumber`),
KEY `idx_rr_customer_status_time` (`CustomerId`, `RechargeStatus`, `RechargeTime`),
KEY `idx_rr_audit_time` (`AuditTime`)
) COMMENT='充值记录表';
CREATE TABLE `t_warehouse_address` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`WarehouseName` VARCHAR(128) NOT NULL COMMENT '仓库名称',
`WarehouseType` VARCHAR(32) NOT NULL COMMENT 'main/transit/return/other',
`Recipient` VARCHAR(64) NULL COMMENT '收件人',
`ContactPhone` VARCHAR(32) NULL COMMENT '联系电话',
`ShippingAddress` TEXT COMMENT '收货地址',
`ServicePhone` VARCHAR(32) NULL COMMENT '客服电话',
`ServiceWechat` VARCHAR(64) NULL COMMENT '客服微信',
`ServiceWechatFiles` JSON NULL COMMENT '微信二维码图片',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_wa_name` (`WarehouseName`),
KEY `idx_wa_type` (`WarehouseType`)
) COMMENT='仓库地址表';
SET FOREIGN_KEY_CHECKS = 1;