feat: add kuaidi100 logistics sync

This commit is contained in:
wushumin
2026-05-26 17:08:33 +08:00
parent 09d9fcbe69
commit a5f00d7e31
31 changed files with 2596 additions and 67 deletions

View File

@@ -12,6 +12,7 @@ DROP TABLE IF EXISTS enterprise_customer_order_refs;
DROP TABLE IF EXISTS enterprise_api_nonces;
DROP TABLE IF EXISTS enterprise_customer_apps;
DROP TABLE IF EXISTS enterprise_customers;
DROP TABLE IF EXISTS kuaidi100_express_company_catalog;
DROP TABLE IF EXISTS express_companies;
DROP TABLE IF EXISTS shipping_warehouses;
DROP TABLE IF EXISTS user_api_tokens;
@@ -47,6 +48,7 @@ DROP TABLE IF EXISTS order_transfer_flow_logs;
DROP TABLE IF EXISTS order_transfer_flows;
DROP TABLE IF EXISTS internal_transfer_tags;
DROP TABLE IF EXISTS internal_transfer_tag_batches;
DROP TABLE IF EXISTS order_logistics_syncs;
DROP TABLE IF EXISTS order_logistics_nodes;
DROP TABLE IF EXISTS order_logistics;
DROP TABLE IF EXISTS order_supplement_task_items;
@@ -731,6 +733,27 @@ CREATE TABLE order_logistics_nodes (
KEY idx_order_logistics_nodes_logistics_id (logistics_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物流节点';
CREATE TABLE order_logistics_syncs (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
logistics_id BIGINT UNSIGNED NOT NULL,
provider VARCHAR(32) NOT NULL DEFAULT 'kuaidi100',
provider_com VARCHAR(64) NOT NULL DEFAULT '',
subscription_status VARCHAR(32) NOT NULL DEFAULT '',
provider_state VARCHAR(32) NOT NULL DEFAULT '',
provider_status_text VARCHAR(64) NOT NULL DEFAULT '',
last_query_at DATETIME NULL DEFAULT NULL,
last_push_at DATETIME NULL DEFAULT NULL,
last_error VARCHAR(500) NOT NULL DEFAULT '',
raw_status VARCHAR(32) NOT NULL DEFAULT '',
raw_summary LONGTEXT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_order_logistics_syncs_provider (logistics_id, provider),
KEY idx_order_logistics_syncs_provider_com (provider, provider_com),
KEY idx_order_logistics_syncs_last_query (last_query_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单物流第三方同步状态';
CREATE TABLE express_companies (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
company_name VARCHAR(64) NOT NULL DEFAULT '',
@@ -748,6 +771,22 @@ CREATE TABLE express_companies (
KEY idx_express_companies_default (is_default)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快递公司字典';
CREATE TABLE kuaidi100_express_company_catalog (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
company_name VARCHAR(64) NOT NULL DEFAULT '',
company_code VARCHAR(64) NOT NULL DEFAULT '',
company_type VARCHAR(64) NOT NULL DEFAULT '',
sort_order INT NOT NULL DEFAULT 0,
synced_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_kuaidi100_express_company_catalog_code (company_code),
KEY idx_kuaidi100_express_company_catalog_name (company_name),
KEY idx_kuaidi100_express_company_catalog_type (company_type),
KEY idx_kuaidi100_express_company_catalog_synced_at (synced_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快递100官方公司码表';
CREATE TABLE order_abnormals (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
order_id BIGINT UNSIGNED NOT NULL,