fix: enforce Beijing Time (UTC+8) globally by replacing datetime.utcnow
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
# 文件路径: app/api/v1/inbound/base.py
|
||||
|
||||
from flask import Blueprint, request, jsonify, send_file, g, current_app
|
||||
from app.extensions import db
|
||||
from app.extensions import db, beijing_time
|
||||
from app.services.inbound.base_service import MaterialBaseService
|
||||
from app.utils.decorators import login_required, permission_required, audit_log
|
||||
from app.models.base import MaterialBase, MaterialWarningSetting
|
||||
@ -185,9 +185,8 @@ def export_data():
|
||||
file_stream = MaterialBaseService.export_excel(filters, user_permissions)
|
||||
|
||||
# 生成文件名:库存统计+年月日+时分秒 (北京时间 UTC+8)
|
||||
# 简单处理:UTC时间 + 8小时
|
||||
beijing_time = datetime.datetime.utcnow() + datetime.timedelta(hours=8)
|
||||
filename = f"库存统计_{beijing_time.strftime('%Y%m%d_%H%M%S')}.xlsx"
|
||||
bj_time = beijing_time()
|
||||
filename = f"库存统计_{bj_time.strftime('%Y%m%d_%H%M%S')}.xlsx"
|
||||
|
||||
# 发送文件
|
||||
# 注意:download_name 仅在较新 Flask 版本有效,旧版本可能需要手动 header,
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
from flask import Blueprint, request, jsonify
|
||||
from flask_jwt_extended import jwt_required, get_jwt_identity, get_jwt
|
||||
from app.utils.decorators import permission_required
|
||||
from app.extensions import db
|
||||
from app.extensions import db, beijing_time
|
||||
from app.models.stock.adjustment import StockAdjustment
|
||||
from app.models.base import MaterialBase
|
||||
from app.models.inbound.buy import StockBuy
|
||||
@ -17,7 +17,7 @@ adjustment_bp = Blueprint('adjustment', __name__, url_prefix='/stock/adjustment'
|
||||
|
||||
def get_beijing_time():
|
||||
"""获取北京时间 (UTC+8)"""
|
||||
return datetime.utcnow() + timedelta(hours=8)
|
||||
return beijing_time()
|
||||
|
||||
|
||||
def generate_order_no():
|
||||
|
||||
@ -16,8 +16,8 @@ redis_client = None
|
||||
|
||||
|
||||
def beijing_time():
|
||||
"""获取北京时间 (UTC+8)"""
|
||||
return datetime.now(timezone(timedelta(hours=8)))
|
||||
"""获取北京时间 (UTC+8),剥离时区信息以兼容数据库 naive DateTime 字段"""
|
||||
return datetime.now(timezone(timedelta(hours=8))).replace(tzinfo=None)
|
||||
|
||||
|
||||
# 2. 定义初始化函数 (供工厂函数 create_app 调用)
|
||||
|
||||
Reference in New Issue
Block a user