| 12345678910111213141516171819202122 |
- -- 订单:记录配送完成时间,用于「送达后 N 天自动确认收货」起算
- ALTER TABLE biz_order
- ADD COLUMN delivered_time DATETIME NULL COMMENT '配送完成时间(待客户确认收货起算点)' AFTER delivery_assign_time;
- ALTER TABLE biz_order_his
- ADD COLUMN delivered_time DATETIME NULL COMMENT '配送完成时间(待客户确认收货起算点)' AFTER delivery_assign_time;
- -- 历史数据:待确认且已送达的订单,用已完成配送任务的更新时间近似送达时刻(无任务则回退订单 update_at)
- UPDATE biz_order o
- SET o.delivered_time = COALESCE(
- (
- SELECT MAX(t.update_at)
- FROM biz_delivery_task t
- WHERE t.order_id = o.id
- AND t.is_del = 0
- AND t.status = 'completed'
- ),
- o.update_at
- )
- WHERE o.is_del = 0
- AND o.order_status = 'pending_confirm'
- AND o.delivery_status = 'delivered';
|