1213 lines
64 KiB
SQL
1213 lines
64 KiB
SQL
-- 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_system_batch_email_record`;
|
||
DROP TABLE IF EXISTS `t_system_batch_email_account`;
|
||
DROP TABLE IF EXISTS `t_system_batch_email_template`;
|
||
DROP TABLE IF EXISTS `t_system_other_config`;
|
||
DROP TABLE IF EXISTS `t_warehouse_address`;
|
||
DROP TABLE IF EXISTS `t_notice_read`;
|
||
DROP TABLE IF EXISTS `t_notice`;
|
||
DROP TABLE IF EXISTS `t_dict`;
|
||
DROP TABLE IF EXISTS `t_country`;
|
||
DROP TABLE IF EXISTS `t_recharge_record`;
|
||
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` INT 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 '渠道编码',
|
||
`DownstreamSupplierCode` VARCHAR(64) NULL COMMENT '下游 API 服务商编码 supplierCode',
|
||
`DownstreamAppKey` VARCHAR(128) NULL COMMENT '下游 itfx 应用 AppKey',
|
||
`DownstreamAppId` INT NULL COMMENT '下游 itfx 应用 Id',
|
||
`ChannelForecastCode` VARCHAR(128) NULL COMMENT '渠道预报编码 ForecastCode',
|
||
`ConsigneeCountry` VARCHAR(8) NULL COMMENT '国家二字码',
|
||
`ConsigneeCountryName` VARCHAR(64) NULL COMMENT '国家中文名称',
|
||
`CargoAttribute` VARCHAR(32) NULL COMMENT '货物属性:general/electronics/sensitive',
|
||
`ExportCustomsMode` VARCHAR(32) NULL COMMENT '出口报关方式',
|
||
`PredeclareFailReason` VARCHAR(512) NULL COMMENT '预报失败原因',
|
||
`SalesProductRulesVersion` VARCHAR(64) NULL COMMENT '销售产品规则快照版本',
|
||
`SalesProductPriceVersion` VARCHAR(64) NULL COMMENT '销售产品价格快照版本',
|
||
`OrderStatus` VARCHAR(32) NOT NULL COMMENT '订单状态',
|
||
`WarehouseId` INT NULL COMMENT '仓库ID',
|
||
`CustomerId` INT NULL COMMENT '客户ID',
|
||
`SenderId` INT NULL COMMENT '发件人ID',
|
||
`RecipientId` INT NULL COMMENT '收件人ID',
|
||
`DeclarationId` INT NULL COMMENT '申报信息ID',
|
||
`ReceiveTime` DATETIME NULL COMMENT '收货时间',
|
||
`ShipTime` DATETIME NULL COMMENT '发货时间',
|
||
`PayTime` DATETIME NULL COMMENT '支付时间',
|
||
`IsPaid` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已支付:0-否,1-是',
|
||
`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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT 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` INT NULL COMMENT '客户ID(自定义模板)',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT 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` INT NULL COMMENT '模板ID',
|
||
`CustomerId` INT NULL COMMENT '客户ID',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`TaskId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`OrderId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`OrderId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`OrderId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`OrderId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`OrderId` INT 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 '价格编号生效时间',
|
||
`ChargingStage` VARCHAR(16) NULL COMMENT '计费阶段:forecast/inbound/outbound',
|
||
`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` INT 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` INT NULL COMMENT '黑名单区ID',
|
||
`RemoteAreaId` INT NULL COMMENT '偏远分区ID',
|
||
`PriceAreaId` INT NULL COMMENT '价格分区ID',
|
||
`WeightRuleId` INT NULL COMMENT '计重规则ID',
|
||
`WeightRoundingId` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`SalesProductId` INT 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',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`PriceId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`PriceId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`SalesProductId` INT NOT NULL COMMENT '销售产品ID',
|
||
`SerialNumber` INT NOT NULL COMMENT '序号',
|
||
`ProviderName` VARCHAR(128) NOT NULL COMMENT '服务商名称',
|
||
`ServiceChannelId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`SalesProductId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`Name` VARCHAR(128) NOT NULL COMMENT '渠道组名称',
|
||
`AppId` INT NOT NULL COMMENT '应用ID',
|
||
`ApiServiceProviderId` INT NOT NULL COMMENT 'API服务商ID',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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`),
|
||
KEY `idx_scg_app_provider` (`AppId`, `ApiServiceProviderId`)
|
||
) COMMENT='服务渠道组表';
|
||
|
||
CREATE TABLE `t_service_channel` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`GroupId` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`ServiceChannelId` INT 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',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`PriceId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`PriceId` INT 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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`ServiceChannelId` INT 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` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`AreaId` INT 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` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`RuleId` INT 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` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`RoundingId` INT 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` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT 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` INT NULL COMMENT '销售产品ID',
|
||
`DestinationCountry` VARCHAR(8) NULL COMMENT '目的国',
|
||
`WarehouseId` INT NULL COMMENT '仓库ID',
|
||
`OperateTime` DATETIME NOT NULL COMMENT '操作时间',
|
||
`OperatorId` INT NULL COMMENT '操作人ID',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT 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` INT NULL COMMENT '销售产品ID',
|
||
`DestinationCountry` VARCHAR(8) NULL COMMENT '目的国',
|
||
`ServiceChannelId` INT NULL COMMENT '服务渠道ID',
|
||
`WarehouseId` INT NULL COMMENT '仓库ID',
|
||
`OperateTime` DATETIME NOT NULL COMMENT '操作时间',
|
||
`OperatorId` INT NULL COMMENT '操作人ID',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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`),
|
||
KEY `idx_out_product_time` (`SalesProductId`, `OperateTime`),
|
||
KEY `idx_out_channel_time` (`ServiceChannelId`, `OperateTime`)
|
||
) COMMENT='出库记录表';
|
||
|
||
CREATE TABLE `t_label_print_record` (
|
||
`Id` INT 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` INT NULL COMMENT '标签模板ID',
|
||
`PrintSuccess` TINYINT NOT NULL DEFAULT 0 COMMENT '是否打印成功',
|
||
`PrintTime` DATETIME NOT NULL COMMENT '打印时间',
|
||
`OperatorId` INT NULL COMMENT '操作人ID',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`ParentCustomerId` INT NULL COMMENT '父客户ID,NULL表示主客户',
|
||
`UserId` INT NOT NULL COMMENT '关联用户表自增userid',
|
||
`CustomerCode` VARCHAR(32) NOT NULL COMMENT '客户编号,规则:前缀w+年份+序号',
|
||
`CustomerName` VARCHAR(128) NOT NULL COMMENT '客户名称',
|
||
`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',
|
||
`LastLoginIp` VARCHAR(64) NULL COMMENT '最后在线IP',
|
||
`LastLoginTime` DATETIME NULL COMMENT '最后在线时间',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_user` (`UserId`),
|
||
UNIQUE KEY `uk_cus_phone` (`Phone`),
|
||
UNIQUE KEY `uk_cus_email` (`Email`),
|
||
UNIQUE KEY `uk_cus_openid` (`WechatOpenid`),
|
||
KEY `idx_cus_parent_status` (`ParentCustomerId`, `Status`),
|
||
KEY `idx_cus_status_group` (`Status`, `CustomerGroup`),
|
||
KEY `idx_cus_sales_service` (`Salesman`, `CustomerService`)
|
||
) COMMENT='客户表';
|
||
|
||
CREATE TABLE `t_recharge_record` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`CustomerId` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
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_country` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`ChineseName` VARCHAR(128) NOT NULL COMMENT '国家中文名',
|
||
`EnglishName` VARCHAR(128) NOT NULL COMMENT '国家英文名',
|
||
`CountryCode` VARCHAR(2) NOT NULL COMMENT 'ISO 3166-1 alpha-2 国家二字码',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_country_code` (`CountryCode`),
|
||
KEY `idx_country_name` (`EnglishName`, `ChineseName`)
|
||
) COMMENT='国家表';
|
||
|
||
CREATE TABLE `t_dict` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`DictType` VARCHAR(64) NOT NULL COMMENT '字典类型',
|
||
`DictSort` INT NOT NULL DEFAULT 0 COMMENT '排序值',
|
||
`DictCode` VARCHAR(64) NOT NULL COMMENT '字典编码',
|
||
`DictName` VARCHAR(128) NOT NULL COMMENT '字典名称',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_dict_type_code` (`DictType`, `DictCode`),
|
||
KEY `idx_dict_type_sort` (`DictType`, `DictSort`, `Id`)
|
||
) COMMENT='系统字典表';
|
||
|
||
CREATE TABLE `t_system_other_config` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`ConfigCode` VARCHAR(64) NOT NULL COMMENT '配置编码,如 track_service',
|
||
`ConfigName` VARCHAR(128) NOT NULL COMMENT '配置名称',
|
||
`Enabled` TINYINT NOT NULL DEFAULT 0 COMMENT '是否启用:0-否,1-是',
|
||
`BaseUrl` VARCHAR(512) NULL COMMENT '服务地址',
|
||
`AppKey` VARCHAR(128) NULL COMMENT 'AppKey',
|
||
`AppSecret` VARCHAR(256) NULL COMMENT 'AppSecret',
|
||
`TimeoutSeconds` INT NOT NULL DEFAULT 30 COMMENT '超时秒数',
|
||
`Remark` VARCHAR(512) NULL COMMENT '备注',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_system_other_config_code` (`ConfigCode`),
|
||
KEY `idx_system_other_config_enabled` (`Enabled`, `Id`)
|
||
) COMMENT='系统其他配置表';
|
||
|
||
CREATE TABLE `t_system_batch_email_template` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`OwnerUserId` INT NOT NULL DEFAULT 0 COMMENT '所属 RBAC 用户 Id',
|
||
`TemplateName` VARCHAR(128) NOT NULL COMMENT '模板名称',
|
||
`Subject` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '邮件主题',
|
||
`Content` TEXT NOT NULL COMMENT '邮件正文',
|
||
`SortOrder` INT NOT NULL DEFAULT 0 COMMENT '排序',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_batch_email_tpl_owner_name` (`OwnerUserId`, `TemplateName`),
|
||
KEY `idx_batch_email_tpl_owner` (`OwnerUserId`, `SortOrder`, `Id`)
|
||
) COMMENT='批量发送邮件模板';
|
||
|
||
CREATE TABLE `t_system_batch_email_account` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`OwnerUserId` INT NOT NULL DEFAULT 0 COMMENT '所属 RBAC 用户 Id',
|
||
`SmtpUsername` VARCHAR(256) NOT NULL COMMENT 'SMTP 账号',
|
||
`SmtpPassword` VARCHAR(512) NOT NULL COMMENT 'SMTP 密码/授权码',
|
||
`ServerType` VARCHAR(32) NOT NULL DEFAULT 'qiye' COMMENT 'SMTP 类型',
|
||
`FromName` VARCHAR(128) NULL COMMENT '发件人显示名',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_batch_email_account_owner` (`OwnerUserId`)
|
||
) COMMENT='批量发送邮件 SMTP 账号配置';
|
||
|
||
CREATE TABLE `t_system_batch_email_record` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`OwnerUserId` INT NOT NULL DEFAULT 0 COMMENT '所属 RBAC 用户 Id',
|
||
`ToEmail` VARCHAR(256) NOT NULL COMMENT '收件邮箱',
|
||
`Subject` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '邮件主题',
|
||
`Content` TEXT NOT NULL COMMENT '邮件正文',
|
||
`SendTime` DATETIME NOT NULL COMMENT '发送时间',
|
||
`Sender` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '发送人',
|
||
`SenderEmail` VARCHAR(256) NULL COMMENT '发件邮箱',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_batch_email_record_owner_time` (`OwnerUserId`, `SendTime`, `Id`)
|
||
) COMMENT='批量发送邮件记录';
|
||
|
||
CREATE TABLE `t_notice` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`NoticeType` VARCHAR(16) NOT NULL COMMENT '通知类型:notice/message',
|
||
`Title` VARCHAR(200) NOT NULL COMMENT '通知标题',
|
||
`Content` TEXT NOT NULL COMMENT '通知内容',
|
||
`IsPopup` TINYINT NOT NULL DEFAULT 0 COMMENT '是否弹窗:0-否,1-是',
|
||
`ReceiverType` VARCHAR(16) NOT NULL COMMENT '接收对象:user/customer',
|
||
`ReceiverIds` JSON NOT NULL COMMENT '接收对象ID列表(JSON数组)',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_notice_type_receiver_time` (`NoticeType`, `ReceiverType`, `CreateTime`),
|
||
KEY `idx_notice_title` (`Title`)
|
||
) COMMENT='公告通知表';
|
||
|
||
CREATE TABLE `t_notice_read` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
|
||
`NoticeId` INT NOT NULL COMMENT '通知ID',
|
||
`ReceiverType` VARCHAR(16) NOT NULL COMMENT '接收对象:user/customer',
|
||
`ReceiverId` INT NOT NULL COMMENT '接收主体ID',
|
||
`ReadTime` DATETIME NOT NULL COMMENT '已读时间',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_notice_read_identity` (`NoticeId`, `ReceiverType`, `ReceiverId`),
|
||
KEY `idx_notice_read_receiver` (`ReceiverType`, `ReceiverId`, `ReadTime`)
|
||
) COMMENT='通知已读明细表';
|
||
|
||
INSERT INTO `t_country`
|
||
(`ChineseName`, `EnglishName`, `CountryCode`, `IsDeleted`, `CreateUserId`, `CreateTime`, `UpdateUserId`, `UpdateTime`)
|
||
VALUES
|
||
('中国', 'China', 'CN', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('中国香港', 'Hong Kong SAR China', 'HK', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('中国澳门', 'Macao SAR China', 'MO', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('中国台湾', 'Taiwan', 'TW', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('美国', 'United States', 'US', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('加拿大', 'Canada', 'CA', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('英国', 'United Kingdom', 'GB', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('爱尔兰', 'Ireland', 'IE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('德国', 'Germany', 'DE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('法国', 'France', 'FR', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('意大利', 'Italy', 'IT', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('西班牙', 'Spain', 'ES', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('葡萄牙', 'Portugal', 'PT', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('荷兰', 'Netherlands', 'NL', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('比利时', 'Belgium', 'BE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('卢森堡', 'Luxembourg', 'LU', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('瑞士', 'Switzerland', 'CH', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('奥地利', 'Austria', 'AT', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('瑞典', 'Sweden', 'SE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('挪威', 'Norway', 'NO', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('芬兰', 'Finland', 'FI', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('丹麦', 'Denmark', 'DK', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('波兰', 'Poland', 'PL', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('捷克', 'Czechia', 'CZ', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('匈牙利', 'Hungary', 'HU', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('罗马尼亚', 'Romania', 'RO', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('俄罗斯', 'Russia', 'RU', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('乌克兰', 'Ukraine', 'UA', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('土耳其', 'Turkey', 'TR', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('希腊', 'Greece', 'GR', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('以色列', 'Israel', 'IL', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('阿联酋', 'United Arab Emirates', 'AE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('沙特阿拉伯', 'Saudi Arabia', 'SA', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('日本', 'Japan', 'JP', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('韩国', 'South Korea', 'KR', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('新加坡', 'Singapore', 'SG', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('马来西亚', 'Malaysia', 'MY', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('泰国', 'Thailand', 'TH', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('越南', 'Vietnam', 'VN', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('印度尼西亚', 'Indonesia', 'ID', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('菲律宾', 'Philippines', 'PH', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('印度', 'India', 'IN', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('巴基斯坦', 'Pakistan', 'PK', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('孟加拉国', 'Bangladesh', 'BD', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('澳大利亚', 'Australia', 'AU', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('新西兰', 'New Zealand', 'NZ', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('南非', 'South Africa', 'ZA', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('尼日利亚', 'Nigeria', 'NG', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('肯尼亚', 'Kenya', 'KE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('埃及', 'Egypt', 'EG', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('巴西', 'Brazil', 'BR', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('阿根廷', 'Argentina', 'AR', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('智利', 'Chile', 'CL', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('哥伦比亚', 'Colombia', 'CO', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('秘鲁', 'Peru', 'PE', 0, 0, CURRENT_TIMESTAMP, NULL, NULL),
|
||
('墨西哥', 'Mexico', 'MX', 0, 0, CURRENT_TIMESTAMP, NULL, NULL);
|
||
|
||
CREATE TABLE `t_warehouse_address` (
|
||
`Id` INT 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-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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='仓库地址表';
|
||
|
||
-- 小红书(LIKE AI → OMS)模块,详见 sql/migrate_t_xhs.sql 与设计文档 docs/小红书模块设计-063001.md
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_agent` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID → t_customer.Id',
|
||
`DeviceId` VARCHAR(64) NOT NULL COMMENT 'Agent 本机设备标识',
|
||
`DeviceName` VARCHAR(128) NULL COMMENT '用户自定义名称',
|
||
`AgentVersion` VARCHAR(32) NULL COMMENT 'Agent 版本号',
|
||
`BridgePort` INT NOT NULL DEFAULT 9333 COMMENT 'Bridge WebSocket 端口',
|
||
`Status` VARCHAR(16) NOT NULL DEFAULT 'offline' COMMENT 'online/offline',
|
||
`EngineRunning` TINYINT NOT NULL DEFAULT 0 COMMENT 'Bridge 引擎是否运行',
|
||
`ExtensionConnected` TINYINT NOT NULL DEFAULT 0 COMMENT 'Chrome 扩展是否连上 Bridge',
|
||
`XhsLoggedIn` TINYINT NOT NULL DEFAULT 0 COMMENT '小红书是否已登录',
|
||
`LastHeartbeatTime` DATETIME NULL COMMENT '最后心跳时间',
|
||
`LastError` VARCHAR(512) NULL COMMENT '最近一次 Agent 上报错误摘要',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
|
||
`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_xhs_agent_device` (`DeviceId`),
|
||
KEY `idx_xhs_agent_customer` (`CustomerId`, `Status`)
|
||
) COMMENT='小红书本地 Agent 设备表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_task` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID',
|
||
`AgentId` INT NULL COMMENT '指定执行的 Agent;NULL 表示任意在线 Agent',
|
||
`TaskType` VARCHAR(32) NOT NULL COMMENT '任务类型',
|
||
`ToolName` VARCHAR(64) NULL COMMENT 'LIKE AI 工具名',
|
||
`Priority` INT NOT NULL DEFAULT 0 COMMENT '越大越优先',
|
||
`Status` VARCHAR(16) NOT NULL DEFAULT 'pending' COMMENT 'pending/claimed/running/succeeded/failed/cancelled',
|
||
`ArgumentsJson` JSON NOT NULL COMMENT '工具参数 JSON',
|
||
`ProgressText` VARCHAR(512) NULL COMMENT '执行过程摘要',
|
||
`ResultJson` JSON NULL COMMENT '成功时结构化结果',
|
||
`ErrorMessage` VARCHAR(1024) NULL COMMENT '失败原因',
|
||
`Source` VARCHAR(32) NOT NULL DEFAULT 'web' COMMENT 'web/schedule/skill',
|
||
`SourceRefId` VARCHAR(64) NULL COMMENT '来源关联 ID',
|
||
`ScheduledTime` DATETIME NULL COMMENT '计划执行时间',
|
||
`ClaimedAt` DATETIME NULL COMMENT 'Agent 认领时间',
|
||
`StartedAt` DATETIME NULL COMMENT '开始执行',
|
||
`FinishedAt` DATETIME NULL COMMENT '结束时间',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()),
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
KEY `idx_xhs_task_poll` (`CustomerId`, `Status`, `ScheduledTime`, `Priority`),
|
||
KEY `idx_xhs_task_agent` (`AgentId`, `Status`),
|
||
KEY `idx_xhs_task_source` (`Source`, `SourceRefId`)
|
||
) COMMENT='小红书 Agent 任务队列表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_publish_record` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID',
|
||
`TaskId` INT NULL COMMENT '关联 t_xhs_task.Id',
|
||
`ToolName` VARCHAR(64) NOT NULL COMMENT 'publish_content / publish_with_video',
|
||
`Title` VARCHAR(256) NOT NULL COMMENT '笔记标题',
|
||
`ContentPreview` VARCHAR(512) NULL COMMENT '正文摘要',
|
||
`ContentFull` TEXT NULL COMMENT '完整正文',
|
||
`MediaJson` JSON NULL COMMENT '图片/视频 URL 列表',
|
||
`TagsJson` JSON NULL COMMENT '标签数组',
|
||
`Visibility` VARCHAR(32) NULL COMMENT '可见范围',
|
||
`Status` VARCHAR(16) NOT NULL DEFAULT 'draft' COMMENT 'draft/scheduled/publishing/succeeded/failed/cancelled',
|
||
`Success` TINYINT NULL COMMENT '最终是否成功',
|
||
`ResultSummary` VARCHAR(1024) NULL COMMENT 'Agent 回传结果摘要',
|
||
`ScheduledTime` DATETIME NULL COMMENT '定时发布时间',
|
||
`PublishedTime` DATETIME NULL COMMENT '实际发布完成时间',
|
||
`SkillId` INT NULL COMMENT '若来自技能卡片',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()),
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
KEY `idx_xhs_publish_customer_time` (`CustomerId`, `CreateTime`),
|
||
KEY `idx_xhs_publish_status_sched` (`CustomerId`, `Status`, `ScheduledTime`),
|
||
KEY `idx_xhs_publish_task` (`TaskId`)
|
||
) COMMENT='小红书发布记录表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_analysis_session` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID',
|
||
`SessionName` VARCHAR(128) NULL COMMENT '用户备注名',
|
||
`AnalysisType` VARCHAR(32) NOT NULL COMMENT 'home_feed/search/my_feeds/feed_detail',
|
||
`Keyword` VARCHAR(128) NULL COMMENT '搜索关键词',
|
||
`TaskId` INT NULL COMMENT '采集任务 ID',
|
||
`FeedsJson` JSON NULL COMMENT '采集笔记列表',
|
||
`SelectedFeedId` VARCHAR(64) NULL COMMENT '当前选中笔记 ID',
|
||
`AiAnalysisMarkdown` MEDIUMTEXT NULL COMMENT 'AI 分析结果',
|
||
`SkillId` INT NULL COMMENT '技能配方 ID',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()),
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
KEY `idx_xhs_analysis_customer` (`CustomerId`, `CreateTime`)
|
||
) COMMENT='小红书内容分析会话表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_skill` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID;0 表示系统预置',
|
||
`ExternalId` VARCHAR(32) NOT NULL COMMENT '对外稳定 ID',
|
||
`Title` VARCHAR(256) NOT NULL COMMENT '技能名称',
|
||
`SkillType` VARCHAR(32) NOT NULL DEFAULT 'ai_create' COMMENT '技能类型',
|
||
`PresetId` VARCHAR(64) NULL COMMENT '内置预设标识',
|
||
`RecipeJson` JSON NOT NULL COMMENT '配方 JSON',
|
||
`SortOrder` INT NOT NULL DEFAULT 0 COMMENT '排序',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()),
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
UNIQUE KEY `uk_xhs_skill_external` (`CustomerId`, `ExternalId`),
|
||
KEY `idx_xhs_skill_customer` (`CustomerId`, `SortOrder`)
|
||
) COMMENT='小红书技能卡片表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_human_config` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID',
|
||
`BehaviorJson` JSON NOT NULL COMMENT 'human_behavior 配置',
|
||
`GuardJson` JSON NOT NULL COMMENT 'human_guard 配置',
|
||
`Version` INT NOT NULL DEFAULT 1 COMMENT '配置版本',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()),
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
UNIQUE KEY `uk_xhs_human_customer` (`CustomerId`)
|
||
) COMMENT='小红书拟人行为与防封配置表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_ai_provider` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID;0 表示全局',
|
||
`ProviderKey` VARCHAR(32) NOT NULL COMMENT 'ai_chatgpt / ai_zhipu 等',
|
||
`ProviderType` VARCHAR(32) NOT NULL COMMENT 'chatgpt/doubao/deepseek/zhipu',
|
||
`DisplayName` VARCHAR(64) NOT NULL COMMENT '展示名',
|
||
`BaseUrl` VARCHAR(512) NOT NULL COMMENT 'API Base URL',
|
||
`ApiKeyEnc` VARCHAR(512) NULL COMMENT 'API Key(暂明文,后续可加密)',
|
||
`ApiSecretEnc` VARCHAR(512) NULL COMMENT 'Secret/模型名',
|
||
`IsDefault` TINYINT NOT NULL DEFAULT 0 COMMENT '是否默认',
|
||
`Enabled` TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()),
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
UNIQUE KEY `uk_xhs_ai_provider` (`CustomerId`, `ProviderKey`),
|
||
KEY `idx_xhs_ai_customer` (`CustomerId`, `Enabled`)
|
||
) COMMENT='小红书 AI 提供商配置表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `t_xhs_media` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`CustomerId` INT NOT NULL COMMENT '客户ID',
|
||
`FileName` VARCHAR(256) NOT NULL COMMENT '原始文件名',
|
||
`StoragePath` VARCHAR(512) NOT NULL COMMENT '相对路径',
|
||
`PublicUrl` VARCHAR(512) NOT NULL COMMENT '对外 HTTPS URL',
|
||
`MimeType` VARCHAR(64) NULL COMMENT 'MIME',
|
||
`FileSizeBytes` BIGINT NULL COMMENT '字节数',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0,
|
||
`CreateUserId` INT NOT NULL DEFAULT 0,
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`UpdateUserId` INT NULL,
|
||
`UpdateTime` DATETIME NULL,
|
||
PRIMARY KEY (`Id`),
|
||
KEY `idx_xhs_media_customer` (`CustomerId`, `CreateTime`)
|
||
) COMMENT='小红书创作上传媒体表';
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|