-- 创建分账配置表 CREATE TABLE `split_account_config` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `rule_name` VARCHAR(200) NOT NULL COMMENT '分账规则配置名称', `rule_value` JSON NOT NULL COMMENT '分账规则配置(JSON格式)', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:0-禁用,1-启用', `description` VARCHAR(500) DEFAULT NULL COMMENT '配置描述', `created_by` VARCHAR(100) DEFAULT NULL COMMENT '创建人', `updated_by` VARCHAR(100) DEFAULT NULL COMMENT '更新人', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted_at` TIMESTAMP NULL DEFAULT NULL COMMENT '软删除时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='分账配置表'; -- 创建分账扣钱日志表 CREATE TABLE `split_account_deduction_log` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '日志ID', `business_no` VARCHAR(64) NOT NULL COMMENT '订单号', `config_id` BIGINT UNSIGNED NOT NULL COMMENT '分账配置ID', `config_name` VARCHAR(200) NOT NULL COMMENT '分账配置名称', `deduction_details` JSON NOT NULL COMMENT '扣款规则(JSON数组)', `total_amount` DECIMAL(15,2) NOT NULL COMMENT '总金额(分账前)', `deduction_amount` DECIMAL(15,2) NOT NULL COMMENT '扣款总金额', `remaining_amount` DECIMAL(15,2) NOT NULL COMMENT '剩余金额(分账后)', `created_by` VARCHAR(100) NOT NULL COMMENT '创建人/系统', `updated_by` VARCHAR(100) COMMENT '更新人', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='分账扣钱日志表'; CREATE TABLE `outbound_order_location_log` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '记录ID', `out_order_id` BIGINT NOT NULL DEFAULT 0 COMMENT '出库单ID', `out_order_item_id` BIGINT NOT NULL DEFAULT 0 COMMENT '出库单明细ID', `product_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品ID', `old_location_id` BIGINT NOT NULL DEFAULT 0 COMMENT '原库位ID', `new_location_id` BIGINT NOT NULL DEFAULT 0 COMMENT '新库位ID', `batch_no` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '批次号', `operator` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '操作员', `operator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '操作员ID', `remark` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '备注', `created_at` BIGINT NOT NULL DEFAULT 0 COMMENT '创建时间戳(秒)', PRIMARY KEY (`id`), INDEX `idx_outbound_order_location_log_out_order_id` (`out_order_id`), INDEX `idx_outbound_order_location_log_out_order_item_id` (`out_order_item_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出库单库位变更记录表'; ALTER TABLE sales_order ADD COLUMN is_distribution TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否分销 0-正常 1-分销'; CREATE TABLE `config` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '配置ID', `key` varchar(200) NOT NULL DEFAULT '' COMMENT '配置键', `value` text COMMENT '配置值', `created_at` bigint DEFAULT '0' COMMENT '创建时间戳(秒)', `updated_at` bigint DEFAULT '0' COMMENT '更新时间戳(秒)', `is_del` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记(0:未删除,1:已删除)', PRIMARY KEY (`id`), UNIQUE KEY `uk_key` (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置表';