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):