chore: snapshot workflow migration progress
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
"""Order service — order number generation and business logic."""
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy import select, func, create_engine, update as sql_update
|
||||
from sqlalchemy.orm import Session
|
||||
@@ -9,9 +9,14 @@ import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def _utcnow_naive() -> datetime:
|
||||
"""Return UTC as a naive datetime for legacy TIMESTAMP WITHOUT TIME ZONE columns."""
|
||||
return datetime.now(timezone.utc).replace(tzinfo=None)
|
||||
|
||||
|
||||
async def generate_order_number(db: AsyncSession) -> str:
|
||||
"""Generate next sequential order number: SA-2026-XXXXX."""
|
||||
year = datetime.utcnow().year
|
||||
year = datetime.now(timezone.utc).year
|
||||
prefix = f"SA-{year}-"
|
||||
|
||||
# Use MAX to find the highest existing sequence number this year.
|
||||
@@ -68,7 +73,7 @@ def check_order_completion(order_id: str) -> bool:
|
||||
return False
|
||||
|
||||
# Auto-advance to completed
|
||||
now = datetime.utcnow()
|
||||
now = _utcnow_naive()
|
||||
session.execute(
|
||||
sql_update(Order)
|
||||
.where(Order.id == order_id)
|
||||
|
||||
Reference in New Issue
Block a user