refactor(types): 重构类型系统,统一共享类型定义

feat(types): 新增共享类型中心,包含用户、产品、订单等核心领域类型
fix(types): 修复类型定义错误,统一各模块类型引用
style(types): 优化类型文件格式和注释
docs(types): 更新类型文档和变更日志
test(types): 添加类型测试用例
build(types): 配置类型共享路径
chore(types): 清理重复类型定义文件
This commit is contained in:
2026-03-20 17:53:46 +08:00
parent 989c4b13a6
commit 427becbc8f
222 changed files with 25676 additions and 6328 deletions

View File

@@ -339,7 +339,7 @@ export class AdAutoService {
try {
const campaigns = await db('ad_campaigns').where({ merchant_id: merchantId });
return campaigns.map(campaign => ({
return campaigns.map((campaign: Record<string, any>) => ({
id: campaign.id,
merchantId: campaign.merchant_id,
productId: campaign.product_id,

View File

@@ -37,13 +37,17 @@ export class AdMimicryService {
// 5. 审计记录
await AuditService.log({
tenant_id: tenantId,
tenantId: tenantId,
userId: 'system',
traceId: traceId,
module: 'AD_MIMICRY',
action: 'AD_MIMICRY_GENERATED',
target_type: 'AD_CREATIVE',
target_id: competitorAdId,
trace_id: traceId,
new_data: JSON.stringify({ mimickedContent }),
metadata: JSON.stringify({ originalAdId: competitorAdId, style })
resourceType: 'AD_CREATIVE',
resourceId: competitorAdId,
afterSnapshot: { mimickedContent },
result: 'success',
source: 'node',
metadata: { originalAdId: competitorAdId, style }
});
return mimickedContent;

View File

@@ -266,9 +266,16 @@ export class AutoListingService {
const ids = await db(this.TABLE_NAME_TASKS).insert(tasks).returning('id');
return tasks.map((task, index) => ({
...task,
id: ids[index].toString(),
id: typeof ids[index] === 'object' ? ids[index].id.toString() : ids[index].toString(),
tenant_id: task.tenant_id,
shop_id: task.shop_id,
product_id: task.product_id,
product_name: task.product_name,
target_platforms: targetPlatforms,
status: task.status as 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED',
progress: task.progress,
created_at: task.created_at,
updated_at: task.updated_at,
}));
}

View File

@@ -54,13 +54,17 @@ export class AutoReturnQAService {
// 审计记录
await AuditService.log({
tenant_id: tenantId,
tenantId: tenantId,
userId: 'system',
traceId: traceId,
module: 'RETURN_QA',
action: 'RETURN_AUTO_RELIST',
target_type: 'PRODUCT',
target_id: productId,
trace_id: traceId,
new_data: JSON.stringify({ orderId, qaResult }),
metadata: JSON.stringify({ salvageValue })
resourceType: 'PRODUCT',
resourceId: productId,
afterSnapshot: { orderId, qaResult },
result: 'success',
source: 'node',
metadata: { salvageValue }
});
});
return true;

View File

@@ -53,13 +53,17 @@ export class BondedWarehouseService {
// 审计记录
await AuditService.log({
tenant_id: tenantId,
tenantId: tenantId,
userId: 'system',
traceId: traceId,
module: 'BONDED_WAREHOUSE',
action: 'BONDED_WAREHOUSE_SETUP',
target_type: 'WAREHOUSE',
target_id: warehouseId,
trace_id: traceId,
new_data: JSON.stringify({ bondedAreaCode, customsRegNumber }),
metadata: JSON.stringify({ status: 'ACTIVE' })
resourceType: 'WAREHOUSE',
resourceId: warehouseId,
afterSnapshot: { bondedAreaCode, customsRegNumber },
result: 'success',
source: 'node',
metadata: { status: 'ACTIVE' }
});
});
}

View File

@@ -35,13 +35,17 @@ export class BrandSovereigntyService {
// 4. 审计记录
await AuditService.log({
tenant_id: tenantId,
tenantId: tenantId,
userId: 'system',
traceId: traceId,
module: 'BRAND_SOVEREIGNTY',
action: 'BRAND_CULTURAL_STRATEGY_GENERATED',
target_type: 'MARKETING_BRAND',
target_id: marketRegion,
trace_id: traceId,
new_data: JSON.stringify({ score: culturalAnalysis.score, strategy: culturalAnalysis.strategy }),
metadata: JSON.stringify({ brandDid })
resourceType: 'MARKETING_BRAND',
resourceId: marketRegion,
afterSnapshot: { score: culturalAnalysis.score, strategy: culturalAnalysis.strategy },
result: 'success',
source: 'node',
metadata: { brandDid }
});
});
}

View File

@@ -61,13 +61,17 @@ export class CarbonCostGameService {
// 6. 审计记录
await AuditService.log({
tenant_id: tenantId,
tenantId: tenantId,
userId: 'system',
traceId: traceId,
module: 'CARBON_COST_GAME',
action: 'CARBON_COST_GAME_COMPLETED',
target_type: 'LOGISTICS_ROUTE',
target_id: orderId,
trace_id: traceId,
new_data: JSON.stringify({ selectedMode: bestOption.mode, score: bestOption.score }),
metadata: JSON.stringify({ carbon: bestOption.carbon, cost: bestOption.cost })
resourceType: 'LOGISTICS_ROUTE',
resourceId: orderId,
afterSnapshot: { selectedMode: bestOption.mode, score: bestOption.score },
result: 'success',
source: 'node',
metadata: { carbon: bestOption.carbon, cost: bestOption.cost }
});
});