feat: 添加对订阅的显示与支持 #29

Merged
longbot merged 12 commits from dev_szk into main 2025-11-21 09:31:19 +00:00
1 changed files with 16 additions and 10 deletions
Showing only changes of commit 1bdae88c11 - Show all commits

View File

@ -1330,10 +1330,21 @@ export class OrderService {
let relatedList: any[] = []; let relatedList: any[] = [];
try { try {
const related = await this.getRelatedByOrder(id); const related = await this.getRelatedByOrder(id);
relatedList = [ const subs = Array.isArray(related?.subscriptions) ? related.subscriptions : [];
...(Array.isArray(related?.subscriptions) ? related.subscriptions : []), const ords = Array.isArray(related?.orders) ? related.orders : [];
...(Array.isArray(related?.orders) ? related.orders : []), const seen = new Set<string>();
]; const merge = [...subs, ...ords];
for (const it of merge) {
const key = it?.externalSubscriptionId
? `sub:${it.externalSubscriptionId}`
: it?.externalOrderId
? `ord:${it.externalOrderId}`
: `id:${it?.id}`;
if (!seen.has(key)) {
seen.add(key);
relatedList.push(it);
}
}
} catch (error) { } catch (error) {
// 关联查询失败不影响详情返回 // 关联查询失败不影响详情返回
} }
@ -1360,15 +1371,10 @@ export class OrderService {
WHERE s.siteId = ? AND s.parent_id = ? WHERE s.siteId = ? AND s.parent_id = ?
`; `;
const subscriptions = await this.orderModel.query(subSql, [siteId, order.externalOrderId]); const subscriptions = await this.orderModel.query(subSql, [siteId, order.externalOrderId]);
const allOrdersMap = new Map<number, any>();
subscriptions.forEach(o => allOrdersMap.set(o.id, o));
return { return {
order, order,
subscriptions, subscriptions,
orders: Array.from(allOrdersMap.values()), orders: [],
}; };
} }