update pay function

This commit is contained in:
2025-11-21 13:56:43 +08:00
parent 690754e416
commit 8c787a8915
2 changed files with 18 additions and 15 deletions

View File

@@ -2463,16 +2463,16 @@ def api_get_events():
order_func = desc if order.lower() == 'desc' else asc
if sort_by == 'hot':
query = query.order_by(order_func(Event.hot_score))
query = query.order_by(order_func(Event.hot_score), desc(Event.created_at))
elif sort_by == 'new':
query = query.order_by(order_func(Event.created_at))
elif sort_by == 'returns':
if return_type == 'avg':
query = query.order_by(order_func(Event.related_avg_chg))
query = query.order_by(order_func(Event.related_avg_chg), desc(Event.created_at))
elif return_type == 'max':
query = query.order_by(order_func(Event.related_max_chg))
query = query.order_by(order_func(Event.related_max_chg), desc(Event.created_at))
elif return_type == 'week':
query = query.order_by(order_func(Event.related_week_chg))
query = query.order_by(order_func(Event.related_week_chg), desc(Event.created_at))
elif sort_by == 'importance':
importance_order = case(
(Event.importance == 'S', 1),
@@ -2482,16 +2482,19 @@ def api_get_events():
else_=5
)
if order.lower() == 'desc':
query = query.order_by(importance_order)
query = query.order_by(importance_order, desc(Event.created_at))
else:
query = query.order_by(desc(importance_order))
query = query.order_by(desc(importance_order), desc(Event.created_at))
elif sort_by == 'view_count':
query = query.order_by(order_func(Event.view_count))
query = query.order_by(order_func(Event.view_count), desc(Event.created_at))
elif sort_by == 'follow' and hasattr(request, 'user') and request.user.is_authenticated:
# 关注的事件排序
query = query.join(EventFollow).filter(
EventFollow.user_id == request.user.id
).order_by(order_func(Event.created_at))
else:
# 兜底排序:始终按时间倒序
query = query.order_by(desc(Event.created_at))
# ==================== 分页查询 ====================
@@ -2716,13 +2719,12 @@ def get_calendar_event_counts():
# 修改查询以仅统计type为event的事件数量
query = """
SELECT DATE (calendar_time) as date, COUNT (*) as count
FROM future_events
WHERE calendar_time BETWEEN :start_date \
AND :end_date
AND type = 'event'
GROUP BY DATE (calendar_time) \
"""
SELECT DATE(calendar_time) as date, COUNT(*) as count
FROM future_events
WHERE calendar_time BETWEEN :start_date AND :end_date
AND type = 'event'
GROUP BY DATE(calendar_time)
"""
result = db.session.execute(text(query), {
'start_date': start_date,
@@ -2739,7 +2741,8 @@ def get_calendar_event_counts():
return jsonify(events)
except Exception as e:
return jsonify({'error': str(e)}), 500
app.logger.error(f"获取日历事件统计出错: {str(e)}", exc_info=True)
return jsonify({'error': str(e), 'error_type': type(e).__name__}), 500
def get_full_avatar_url(avatar_url):