refactor(logs): add refund logging for asynchronous tasks and update translations

This commit is contained in:
CaIon
2026-02-21 22:48:30 +08:00
parent 8374a83084
commit 64d18a5fdf
12 changed files with 229 additions and 101 deletions

View File

@@ -133,6 +133,12 @@ function renderType(type, t) {
{t('错误')}
</Tag>
);
case 6:
return (
<Tag color='teal' shape='circle'>
{t('退款')}
</Tag>
);
default:
return (
<Tag color='grey' shape='circle'>
@@ -368,7 +374,7 @@ export const getLogsColumns = ({
}
return isAdminUser &&
(record.type === 0 || record.type === 2 || record.type === 5) ? (
(record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6) ? (
<Space>
<span style={{ position: 'relative', display: 'inline-block' }}>
<Tooltip content={record.channel_name || t('未知渠道')}>
@@ -459,7 +465,7 @@ export const getLogsColumns = ({
title: t('令牌'),
dataIndex: 'token_name',
render: (text, record, index) => {
return record.type === 0 || record.type === 2 || record.type === 5 ? (
return record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6 ? (
<div>
<Tag
color='grey'
@@ -482,7 +488,7 @@ export const getLogsColumns = ({
title: t('分组'),
dataIndex: 'group',
render: (text, record, index) => {
if (record.type === 0 || record.type === 2 || record.type === 5) {
if (record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6) {
if (record.group) {
return <>{renderGroup(record.group)}</>;
} else {
@@ -522,7 +528,7 @@ export const getLogsColumns = ({
title: t('模型'),
dataIndex: 'model_name',
render: (text, record, index) => {
return record.type === 0 || record.type === 2 || record.type === 5 ? (
return record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6 ? (
<>{renderModelName(record, copyText, t)}</>
) : (
<></>
@@ -589,7 +595,7 @@ export const getLogsColumns = ({
cacheText = `${t('缓存写')} ${formatTokenCount(cacheSummary.cacheWriteTokens)}`;
}
return record.type === 0 || record.type === 2 || record.type === 5 ? (
return record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6 ? (
<div
style={{
display: 'inline-flex',
@@ -623,7 +629,7 @@ export const getLogsColumns = ({
dataIndex: 'completion_tokens',
render: (text, record, index) => {
return parseInt(text) > 0 &&
(record.type === 0 || record.type === 2 || record.type === 5) ? (
(record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6) ? (
<>{<span> {text} </span>}</>
) : (
<></>
@@ -635,7 +641,7 @@ export const getLogsColumns = ({
title: t('花费'),
dataIndex: 'quota',
render: (text, record, index) => {
if (!(record.type === 0 || record.type === 2 || record.type === 5)) {
if (!(record.type === 0 || record.type === 2 || record.type === 5 || record.type === 6)) {
return <></>;
}
const other = getLogOther(record.other);
@@ -722,6 +728,16 @@ export const getLogsColumns = ({
fixed: 'right',
render: (text, record, index) => {
let other = getLogOther(record.other);
if (record.type === 6) {
return (
<Typography.Paragraph
ellipsis={{ rows: 2 }}
style={{ maxWidth: 240 }}
>
{t('异步任务退款')}
</Typography.Paragraph>
);
}
if (other == null || record.type !== 2) {
return (
<Typography.Paragraph