优化订单任务列表排序并补充上线文档
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
-- M002 前端订单列表排序优化:订单自身维护最近业务活动时间,避免列表查询每次聚合全量任务。
|
||||
ALTER TABLE workflow_reservation_order
|
||||
ADD COLUMN latest_activity_at DATETIME(6) NULL COMMENT '订单最近业务活动 UTC 时间,用于订单列表最新活动排序';
|
||||
|
||||
-- 历史数据回填:优先取订单更新时间和所属任务最新来源/创建时间中的较大值。
|
||||
UPDATE workflow_reservation_order
|
||||
SET latest_activity_at = GREATEST(
|
||||
updated_at,
|
||||
COALESCE((
|
||||
SELECT MAX(COALESCE(sm.received_at, t.created_at))
|
||||
FROM workflow_reservation_task t
|
||||
LEFT JOIN platform_source_message_inbox sm
|
||||
ON sm.hotel_id = t.hotel_id
|
||||
AND sm.id = t.source_message_id
|
||||
WHERE t.hotel_id = workflow_reservation_order.hotel_id
|
||||
AND t.order_id = workflow_reservation_order.id
|
||||
), updated_at)
|
||||
);
|
||||
|
||||
-- 订单列表按可见性和最新活动时间倒序分页。
|
||||
CREATE INDEX idx_reservation_order_visibility_activity
|
||||
ON workflow_reservation_order (hotel_id, order_visibility, latest_activity_at, id);
|
||||
Reference in New Issue
Block a user