diff --git a/database/migrations/create_virtual_order_cards_func.pgsql b/database/migrations/create_virtual_order_cards_func.pgsql index 49c3bac3..bc4fbf38 100644 --- a/database/migrations/create_virtual_order_cards_func.pgsql +++ b/database/migrations/create_virtual_order_cards_func.pgsql @@ -72,6 +72,11 @@ BEGIN -- 服务时间 CASE (order_row->>'type') WHEN '0' THEN + IF (activated_at < (order_row->>'created_at')::TIMESTAMP) THEN + activated_at := (order_row->>'created_at')::TIMESTAMP; + UPDATE vd.cards SET virtual_activated_at = activated_at WHERE cards.sim = order_row->>'sim'; + END IF; + temp_service_start_at := TO_CHAR(activated_at, 'YYYY-MM-01 00:00:00'); temp_service_end_at := temp_service_start_at + (package_row->>'service_months' || ' month')::INTERVAL + (package_row->>'delay_months' || ' month')::INTERVAL - '1 second'::INTERVAL;