15 lines
502 B
Python
15 lines
502 B
Python
from datetime import datetime, timedelta
|
||
|
||
from app.models import WorkSession
|
||
from app.timezone import now
|
||
|
||
REPORTING_EXPIRE_MINUTES = 15
|
||
REPORTING_EXPIRED_DETAIL = "报工填写已超过15分钟,请重新扫码点击重新报工"
|
||
|
||
|
||
def is_reporting_expired(session: WorkSession, current_time: datetime | None = None) -> bool:
|
||
if session.end_at is None:
|
||
return False
|
||
timestamp = current_time or now()
|
||
return timestamp - session.end_at > timedelta(minutes=REPORTING_EXPIRE_MINUTES)
|