Files
crawler-plugin/backend-java/src/main/resources/db/V1__init.sql
2026-03-20 14:26:34 +08:00

77 lines
4.4 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.
CREATE TABLE IF NOT EXISTS biz_file_task (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
task_no VARCHAR(64) NOT NULL COMMENT '任务编号',
module_type VARCHAR(32) NOT NULL COMMENT '模块类型DEDUPE/CONVERT/SPLIT',
task_mode VARCHAR(32) DEFAULT 'IMMEDIATE' COMMENT '任务模式IMMEDIATE/TASK',
status VARCHAR(32) NOT NULL COMMENT '任务状态PENDING/RUNNING/SUCCESS/FAILED/CANCELLED',
source_file_count INT DEFAULT 0 COMMENT '源文件数量',
success_file_count INT DEFAULT 0 COMMENT '成功文件数量',
failed_file_count INT DEFAULT 0 COMMENT '失败文件数量',
request_json JSON NULL COMMENT '请求参数快照',
result_json JSON NULL COMMENT '结果快照',
error_message VARCHAR(1000) NULL COMMENT '错误信息',
created_by VARCHAR(64) DEFAULT 'system' COMMENT '创建人',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
finished_at DATETIME NULL COMMENT '完成时间',
UNIQUE KEY uk_task_no (task_no),
KEY idx_module_status (module_type, status),
KEY idx_created_at (created_at)
) COMMENT='文件处理任务表';
CREATE TABLE IF NOT EXISTS biz_file_result (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
task_id BIGINT NOT NULL COMMENT '任务ID',
module_type VARCHAR(32) NOT NULL COMMENT '模块类型DEDUPE/CONVERT/SPLIT',
source_filename VARCHAR(255) NULL COMMENT '源文件名',
source_file_url VARCHAR(1000) NULL COMMENT '源文件地址',
result_filename VARCHAR(255) NULL COMMENT '结果文件名',
result_file_url VARCHAR(1000) NULL COMMENT '结果文件地址',
result_file_size BIGINT NULL COMMENT '结果文件大小',
result_content_type VARCHAR(128) NULL COMMENT '结果文件类型',
row_count INT NULL COMMENT '结果行数',
success TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否成功',
error_message VARCHAR(1000) NULL COMMENT '错误信息',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
KEY idx_task_id (task_id),
KEY idx_module_type (module_type)
) COMMENT='文件处理结果表';
CREATE TABLE IF NOT EXISTS biz_convert_template (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
template_code VARCHAR(64) NOT NULL COMMENT '模板编码',
template_name VARCHAR(128) NOT NULL COMMENT '模板名称',
output_filename VARCHAR(255) NOT NULL COMMENT '输出文件名',
required_source_columns_json JSON NOT NULL COMMENT '源文件必需列',
header_columns_json JSON NOT NULL COMMENT '输出表头列',
field_mapping_json JSON NOT NULL COMMENT '源字段映射',
defaults_json JSON NULL COMMENT '默认值配置',
preamble_lines_json JSON NULL COMMENT '前导说明行',
blank_header_rows_after_schema INT DEFAULT 0 COMMENT '表头后空白行数',
is_default TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否默认模板',
built_in TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否内置模板',
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
UNIQUE KEY uk_template_code (template_code)
) COMMENT='格式转换模板表';
INSERT INTO biz_convert_template (
template_code, template_name, output_filename,
required_source_columns_json, header_columns_json, field_mapping_json,
defaults_json, preamble_lines_json, blank_header_rows_after_schema,
is_default, built_in, enabled
)
SELECT
'uk_offer', '英国模板', '英国.txt',
JSON_ARRAY('ASIN', '价格'),
JSON_ARRAY('sku', 'price', 'quantity', 'product-id', 'product-id-type', 'condition-type', 'condition-note', 'ASIN-hint', 'title', 'product-tax-code', 'operation-type', 'sale-price', 'sale-start-date', 'sale-end-date', 'leadtime-to-ship', 'launch-date', 'is-giftwrap-available', 'is-gift-message-available'),
JSON_OBJECT('price', '价格', 'product-id', 'ASIN'),
JSON_OBJECT('quantity', '100', 'product-id-type', 'ASIN', 'condition-type', 'new', 'leadtime-to-ship', '4'),
JSON_ARRAY('TemplateType=Offer\tVersion=1.4'),
1,
1, 1, 1
WHERE NOT EXISTS (
SELECT 1 FROM biz_convert_template WHERE template_code = 'uk_offer'
);