Compare commits

..

No commits in common. "5ab8171552e6cfbfe7cfe30822c3e6b6118538a1" and "4abd5533024084f679be5ed5bca5ac837125d6fd" have entirely different histories.

2 changed files with 68 additions and 53 deletions

View File

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

View File

@ -8,46 +8,73 @@
},
"subwidgets": [
{
"widgettype": "InlineForm",
"id": "filter_form",
"widgettype": "HBox",
"options": {
"css": "card",
"padding": "8px",
"submit_label": "查询",
"submit_css": "primary",
"fields": [
{
"name": "start_date",
"label": "开始日期",
"uitype": "date",
"cwidth": 10
},
{
"name": "end_date",
"label": "结束日期",
"uitype": "date",
"cwidth": 10
},
{
"name": "handled",
"label": "处理状态",
"uitype": "code",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "未处理"},
{"value": "1", "text": "已处理"}
]
}
]
"width": "100%",
"gap": "8px",
"alignItems": "flex-end"
},
"binds": [
"subwidgets": [
{
"wid": "self",
"event": "submit",
"actiontype": "script",
"target": "failed_table",
"script": "var tbl = bricks.getWidgetById('failed_table', bricks.app.root); if(tbl) await tbl.render(params);"
"widgettype": "InlineForm",
"id": "filter_form",
"options": {
"css": "card",
"padding": "8px",
"submit_label": "查询",
"submit_css": "primary",
"fields": [
{
"name": "start_date",
"label": "开始日期",
"uitype": "date",
"cwidth": 10
},
{
"name": "end_date",
"label": "结束日期",
"uitype": "date",
"cwidth": 10
},
{
"name": "handled",
"label": "处理状态",
"uitype": "code",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "未处理"},
{"value": "1", "text": "已处理"}
]
}
]
},
"binds": [
{
"wid": "self",
"event": "submit",
"actiontype": "script",
"target": "failed_table",
"script": "var tbl = bricks.getWidgetById('failed_table', bricks.app.root); if(tbl) await tbl.render(params);"
}
]
},
{
"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); }"
}]
}
]
},
@ -64,11 +91,6 @@
"name": "show_reason",
"label": "原因",
"selected_row": true
},
{
"name": "retry_accounting",
"label": "重试记账",
"selected_row": true
}
]
},
@ -158,13 +180,6 @@
"options": {
"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); }"
}
]
}