From acd37d0e1918525765208dc28dfaf9d0b32fe0af Mon Sep 17 00:00:00 2001 From: ping <1017253325@qq.com> Date: Thu, 18 Jun 2026 16:35:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=90=A5=E6=8A=A5=E8=A1=A8=20?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- b/cntoai/model_usage_admin_report.dspy | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/b/cntoai/model_usage_admin_report.dspy b/b/cntoai/model_usage_admin_report.dspy index 5a6355e..6f7af45 100644 --- a/b/cntoai/model_usage_admin_report.dspy +++ b/b/cntoai/model_usage_admin_report.dspy @@ -127,6 +127,10 @@ def _format_amount_summary(summary): return formatted +def _usage_time_sort_key(item): + return str(item.get('last_usage_time') or '') + + def _normalize_usage_row(row, bill_amount_map=None): usage = _parse_usage_content(row.get('usage_content')) orderid = row.get('orderid') @@ -341,7 +345,7 @@ def _aggregate_admin_summary(items, user_map, org_map): or str(usage_time) < str(bucket['first_usage_time']) ): bucket['first_usage_time'] = usage_time - return sorted(buckets.values(), key=lambda x: x['amount'], reverse=True) + return sorted(buckets.values(), key=_usage_time_sort_key, reverse=True) def _aggregate_items(items, group_by=None):