order_auto_confirm_receive.py 796 B

12345678910111213141516171819202122232425262728
  1. """送达后超时未确认收货,系统自动确认。"""
  2. import logging
  3. from datetime import datetime, timedelta
  4. from sqlalchemy.orm import Session
  5. from app.crud.order import order_crud
  6. logger = logging.getLogger(__name__)
  7. def run_auto_confirm_receive_overdue(db: Session) -> int:
  8. from app.api.system_config import get_auto_confirm_receive_days_for_job
  9. days = get_auto_confirm_receive_days_for_job(db)
  10. before = datetime.now() - timedelta(days=days)
  11. count = order_crud.auto_confirm_receive_overdue(
  12. db,
  13. before_threshold=before,
  14. configured_days=days,
  15. )
  16. return count
  17. def run_auto_confirm_receive_job(db: Session):
  18. count = run_auto_confirm_receive_overdue(db)
  19. if count:
  20. logger.info(f"自动确认收货完成: {count} 条")