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

Binary file not shown.

View File

@@ -2463,16 +2463,16 @@ def api_get_events():
order_func = desc if order.lower() == 'desc' else asc order_func = desc if order.lower() == 'desc' else asc
if sort_by == 'hot': 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': elif sort_by == 'new':
query = query.order_by(order_func(Event.created_at)) query = query.order_by(order_func(Event.created_at))
elif sort_by == 'returns': elif sort_by == 'returns':
if return_type == 'avg': 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': 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': 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': elif sort_by == 'importance':
importance_order = case( importance_order = case(
(Event.importance == 'S', 1), (Event.importance == 'S', 1),
@@ -2482,16 +2482,19 @@ def api_get_events():
else_=5 else_=5
) )
if order.lower() == 'desc': if order.lower() == 'desc':
query = query.order_by(importance_order) query = query.order_by(importance_order, desc(Event.created_at))
else: else:
query = query.order_by(desc(importance_order)) query = query.order_by(desc(importance_order), desc(Event.created_at))
elif sort_by == 'view_count': 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: elif sort_by == 'follow' and hasattr(request, 'user') and request.user.is_authenticated:
# 关注的事件排序 # 关注的事件排序
query = query.join(EventFollow).filter( query = query.join(EventFollow).filter(
EventFollow.user_id == request.user.id EventFollow.user_id == request.user.id
).order_by(order_func(Event.created_at)) ).order_by(order_func(Event.created_at))
else:
# 兜底排序:始终按时间倒序
query = query.order_by(desc(Event.created_at))
# ==================== 分页查询 ==================== # ==================== 分页查询 ====================
@@ -2718,10 +2721,9 @@ def get_calendar_event_counts():
query = """ query = """
SELECT DATE(calendar_time) as date, COUNT(*) as count SELECT DATE(calendar_time) as date, COUNT(*) as count
FROM future_events FROM future_events
WHERE calendar_time BETWEEN :start_date \ WHERE calendar_time BETWEEN :start_date AND :end_date
AND :end_date
AND type = 'event' AND type = 'event'
GROUP BY DATE (calendar_time) \ GROUP BY DATE(calendar_time)
""" """
result = db.session.execute(text(query), { result = db.session.execute(text(query), {
@@ -2739,7 +2741,8 @@ def get_calendar_event_counts():
return jsonify(events) return jsonify(events)
except Exception as e: 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): def get_full_avatar_url(avatar_url):