fix: 修复时区问题和翻译状态更新问题

- 使用上海时区(UTC+8)判断每日次数重置,而不是UTC时间
- 翻译任务完成后更新数据库Translation记录的状态和进度
- 传入translation_id和app到TranslationTask以支持数据库状态同步
This commit is contained in:
2026-04-10 18:26:57 +08:00
parent 2ef5e6da87
commit e5ba13980f
3 changed files with 63 additions and 10 deletions

View File

@@ -67,8 +67,10 @@ class User(db.Model):
if max_pages > 0 and pages > max_pages:
return False, f"PDF页数超出限制最大{max_pages}页)"
# 检查每日次数限制
today = datetime.utcnow().date()
# 检查每日次数限制 - 使用上海时间UTC+8
from datetime import timezone, timedelta
shanghai_tz = timezone(timedelta(hours=8))
today = datetime.now(shanghai_tz).date()
if self.last_translate_date != today:
self.daily_count = 0
self.last_translate_date = today
@@ -81,7 +83,9 @@ class User(db.Model):
def increment_count(self):
"""增加翻译计数"""
today = datetime.utcnow().date()
from datetime import timezone, timedelta
shanghai_tz = timezone(timedelta(hours=8))
today = datetime.now(shanghai_tz).date()
if self.last_translate_date != today:
self.daily_count = 0
self.last_translate_date = today