llmage/models/llmusage_accounting_failed.json
yumoqing 07b4893252 feat(llmage): 添加llmusage历史记录备份和记账失败检索功能
- 新增 llmusage_history 表:定时备份已记账(use_date<today)的历史记录
- 新增 llmusage_accounting_failed 表:记录记账失败详情,支持检索
- 新增 backup_accounted_llmusage() 函数:备份+清理历史数据
- 新增 get_failed_accounting_records() 函数:按条件检索失败记录
- 更新 llm_accoung_failed():同时写入失败表记录
- 新增 failed_accounting.ui 页面和 failed_accounting_list.dspy API
- 新增 llmusage CRUD API (create/update/delete)
- 新增表索引优化查询性能
- 更新 setup_llmage_perms.sh 添加新端点权限
- 生成生产迁移SQL: scripts/migrate_llmusage_history.sql
2026-05-24 13:55:48 +08:00

126 lines
2.9 KiB
JSON

{
"summary": [
{
"name": "llmusage_accounting_failed",
"title": "记账失败记录",
"primary": ["id"],
"catelog": "entity"
}
],
"fields": [
{
"name": "id",
"title": "id",
"type": "str",
"length": 32
},
{
"name": "llmusageid",
"title": "使用记录id",
"type": "str",
"length": 32
},
{
"name": "llmid",
"title": "模型id",
"type": "str",
"length": 32
},
{
"name": "userid",
"title": "用户id",
"type": "str",
"length": 32
},
{
"name": "userorgid",
"title": "用户机构id",
"type": "str",
"length": 32
},
{
"name": "use_date",
"title": "使用日期",
"type": "date"
},
{
"name": "use_time",
"title": "使用时间",
"type": "timestamp"
},
{
"name": "amount",
"title": "交易金额",
"type": "double",
"length": 18,
"dec": 5
},
{
"name": "cost",
"title": "交易成本",
"type": "double",
"length": 18,
"dec": 5
},
{
"name": "failed_reason",
"title": "失败原因",
"type": "text"
},
{
"name": "failed_time",
"title": "失败时间",
"type": "timestamp"
},
{
"name": "retry_count",
"title": "重试次数",
"type": "int"
},
{
"name": "handled",
"title": "是否已处理",
"type": "str",
"length": 1,
"default": "0"
},
{
"name": "handled_time",
"title": "处理时间",
"type": "timestamp"
},
{
"name": "handled_note",
"title": "处理备注",
"type": "text"
}
],
"indexes": [
{
"name": "idx_laf_use_date",
"idxtype": "index",
"idxfields": ["use_date"]
},
{
"name": "idx_laf_userorgid",
"idxtype": "index",
"idxfields": ["userorgid"]
},
{
"name": "idx_laf_llmid",
"idxtype": "index",
"idxfields": ["llmid"]
},
{
"name": "idx_laf_handled",
"idxtype": "index",
"idxfields": ["handled"]
},
{
"name": "idx_laf_failed_time",
"idxtype": "index",
"idxfields": ["failed_time"]
}
]
}