Compare commits

..

2 Commits

2 changed files with 53 additions and 68 deletions

View File

@ -44,10 +44,10 @@ try:
conditions.append("f.use_date<=${end_date}$") conditions.append("f.use_date<=${end_date}$")
ns['end_date'] = filters['end_date'] ns['end_date'] = filters['end_date']
if filters.get('filter_userid'): if filters.get('filter_userid'):
conditions.append("f.userid LIKE ${filter_userid}$") conditions.append("(u.username LIKE ${filter_userid}$ OR u.name LIKE ${filter_userid}$)")
ns['filter_userid'] = '%' + filters['filter_userid'] + '%' ns['filter_userid'] = '%' + filters['filter_userid'] + '%'
if filters.get('filter_llmid'): if filters.get('filter_llmid'):
conditions.append("(f.llmid LIKE ${filter_llmid}$ OR f.llmid_text LIKE ${filter_llmid}$)") conditions.append("(f.llmid LIKE ${filter_llmid}$ OR l.name LIKE ${filter_llmid}$)")
ns['filter_llmid'] = '%' + filters['filter_llmid'] + '%' ns['filter_llmid'] = '%' + filters['filter_llmid'] + '%'
where = "" where = ""
@ -61,7 +61,7 @@ SELECT f.*,
o.orgname as userorgid_text, o.orgname as userorgid_text,
l.name as llmid_text l.name as llmid_text
FROM llmusage_accounting_failed f FROM llmusage_accounting_failed f
LEFT JOIN {sage_db}.users u ON f.userid = u.userid LEFT JOIN {sage_db}.users u ON f.userid = u.id
LEFT JOIN {sage_db}.organization o ON f.userorgid = o.id LEFT JOIN {sage_db}.organization o ON f.userorgid = o.id
LEFT JOIN {llmage_db}.llm l ON f.llmid = l.id LEFT JOIN {llmage_db}.llm l ON f.llmid = l.id
{where} {where}
@ -71,7 +71,7 @@ ORDER BY f.failed_time DESC
count_sql = f""" count_sql = f"""
SELECT count(*) as cnt SELECT count(*) as cnt
FROM llmusage_accounting_failed f FROM llmusage_accounting_failed f
LEFT JOIN {sage_db}.users u ON f.userid = u.userid LEFT JOIN {sage_db}.users u ON f.userid = u.id
LEFT JOIN {sage_db}.organization o ON f.userorgid = o.id LEFT JOIN {sage_db}.organization o ON f.userorgid = o.id
LEFT JOIN {llmage_db}.llm l ON f.llmid = l.id LEFT JOIN {llmage_db}.llm l ON f.llmid = l.id
{where} {where}

View File

@ -6,14 +6,6 @@
"padding": "8px", "padding": "8px",
"gap": "8px" "gap": "8px"
}, },
"subwidgets": [
{
"widgettype": "HBox",
"options": {
"width": "100%",
"gap": "8px",
"alignItems": "flex-end"
},
"subwidgets": [ "subwidgets": [
{ {
"widgettype": "InlineForm", "widgettype": "InlineForm",
@ -59,25 +51,6 @@
} }
] ]
}, },
{
"widgettype": "Button",
"id": "retry_btn",
"options": {
"label": "重试记账",
"bgcolor": "#4caf50",
"color": "#ffffff",
"cwidth": 6
},
"binds": [{
"wid": "self",
"event": "click",
"actiontype": "script",
"target": "self",
"script": "var dv = bricks.getWidgetById('failed_table', bricks.app.root); if(!dv || !dv.select_row || !dv.select_row.user_data) { alert('请先选中一条记录'); return; } var row = dv.select_row.user_data; if(!row.llmusageid) { alert('记录缺少llmusageid'); return; } var resp = await fetch('{{entire_url('/llmage/api/retry_accounting.dspy')}}?id=' + row.llmusageid); var d = await resp.json(); if(d.success) { alert(d.message); await dv.render({}); } else { alert('失败: ' + d.message); }"
}]
}
]
},
{ {
"widgettype": "Tabular", "widgettype": "Tabular",
"id": "failed_table", "id": "failed_table",
@ -91,6 +64,11 @@
"name": "show_reason", "name": "show_reason",
"label": "原因", "label": "原因",
"selected_row": true "selected_row": true
},
{
"name": "retry_accounting",
"label": "重试记账",
"selected_row": true
} }
] ]
}, },
@ -180,6 +158,13 @@
"options": { "options": {
"url": "{{entire_url('/llmage/api/show_failed_reason.dspy')}}?id=${id}$" "url": "{{entire_url('/llmage/api/show_failed_reason.dspy')}}?id=${id}$"
} }
},
{
"wid": "self",
"event": "retry_accounting",
"actiontype": "script",
"target": "self",
"script": "var dv = bricks.getWidgetById('failed_table', bricks.app.root); if(!dv || !dv.select_row || !dv.select_row.user_data) { alert('请先选中一条记录'); return; } var row = dv.select_row.user_data; if(!row.llmusageid) { alert('记录缺少llmusageid'); return; } var resp = await fetch('{{entire_url('/llmage/api/retry_accounting.dspy')}}?id=' + row.llmusageid); var d = await resp.json(); if(d.success) { alert(d.message); await dv.render({}); } else { alert('失败: ' + d.message); }"
} }
] ]
} }