forked from yoone/API
feat(订单服务): 添加订阅相关字段到订单查询
在订单查询结果中添加 isSubscription 标志和 related 订阅信息字段,以便前端展示订单的订阅状态和关联订阅详情
This commit is contained in:
parent
12dc5ac876
commit
27935f113d
|
|
@ -643,6 +643,37 @@ export class OrderService {
|
||||||
o.payment_method as payment_method,
|
o.payment_method as payment_method,
|
||||||
cs.order_count as order_count,
|
cs.order_count as order_count,
|
||||||
cs.total_spent as total_spent,
|
cs.total_spent as total_spent,
|
||||||
|
CASE WHEN EXISTS (
|
||||||
|
SELECT 1 FROM subscription s
|
||||||
|
WHERE s.siteId = o.siteId AND s.parent_id = o.externalOrderId
|
||||||
|
) THEN 1 ELSE 0 END AS isSubscription,
|
||||||
|
(
|
||||||
|
SELECT COALESCE(
|
||||||
|
JSON_ARRAYAGG(
|
||||||
|
JSON_OBJECT(
|
||||||
|
'id', s.id,
|
||||||
|
'externalSubscriptionId', s.externalSubscriptionId,
|
||||||
|
'status', s.status,
|
||||||
|
'currency', s.currency,
|
||||||
|
'total', s.total,
|
||||||
|
'billing_period', s.billing_period,
|
||||||
|
'billing_interval', s.billing_interval,
|
||||||
|
'customer_id', s.customer_id,
|
||||||
|
'customer_email', s.customer_email,
|
||||||
|
'parent_id', s.parent_id,
|
||||||
|
'start_date', s.start_date,
|
||||||
|
'trial_end', s.trial_end,
|
||||||
|
'next_payment_date', s.next_payment_date,
|
||||||
|
'end_date', s.end_date,
|
||||||
|
'line_items', s.line_items,
|
||||||
|
'meta_data', s.meta_data
|
||||||
|
)
|
||||||
|
),
|
||||||
|
JSON_ARRAY()
|
||||||
|
)
|
||||||
|
FROM subscription s
|
||||||
|
WHERE s.siteId = o.siteId AND s.parent_id = o.externalOrderId
|
||||||
|
) AS related,
|
||||||
COALESCE(
|
COALESCE(
|
||||||
JSON_ARRAYAGG(
|
JSON_ARRAYAGG(
|
||||||
CASE WHEN s.id IS NOT NULL THEN JSON_OBJECT(
|
CASE WHEN s.id IS NOT NULL THEN JSON_OBJECT(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue