修复仪表盘摘要接口Decimal类型计算报错
变更项: 1. 修复 /api/dashboard_summary 中 success_rate 为 Decimal 与 float 混算导致的异常。 2. 将 success_rate 与 avg_response_time 统一转换为 float,避免后续健康分计算类型冲突。 3. 恢复首页热门信息接口返回,避免因接口失败导致榜单空白。
This commit is contained in:
@@ -442,9 +442,9 @@ class StatsDBOperator(BaseDBOperator):
|
||||
WHERE stat_date >= %s
|
||||
"""
|
||||
success_rate_result = self.execute_query(success_rate_sql, (start_date_str,), fetch_one=True)
|
||||
success_rate = 0
|
||||
success_rate = 0.0
|
||||
if success_rate_result and success_rate_result['total_calls']:
|
||||
success_rate = (success_rate_result['success_calls'] / success_rate_result['total_calls']) * 100
|
||||
success_rate = float((success_rate_result['success_calls'] / success_rate_result['total_calls']) * 100)
|
||||
|
||||
# 3. 活跃用户数
|
||||
active_users_sql = """
|
||||
@@ -489,7 +489,9 @@ class StatsDBOperator(BaseDBOperator):
|
||||
WHERE stat_date >= %s
|
||||
"""
|
||||
avg_response_time_result = self.execute_query(avg_response_time_sql, (start_date_str,), fetch_one=True)
|
||||
avg_response_time = avg_response_time_result['avg_response_time'] if avg_response_time_result and avg_response_time_result['avg_response_time'] else 0
|
||||
avg_response_time = float(
|
||||
avg_response_time_result['avg_response_time']
|
||||
) if avg_response_time_result and avg_response_time_result['avg_response_time'] else 0.0
|
||||
|
||||
# 6.1 群渗透率(活跃群内,触发人数 / 群成员数 的均值)
|
||||
group_penetration_sql = """
|
||||
|
||||
Reference in New Issue
Block a user