升级外部生成为正式任务列表
将 external_generation_job 扩展为含价格、确认时间、退款流水和事件审计的正式生成任务事实源 新增外部生成任务列表与确认 BFF,并让平台入口按后端任务补弹完成或失败提示 保护画布生成队列超时、快照回写和自动保存覆盖场景 将 worker 计费退款流水写入 externalGenerationJobId,并补充冷备份后 worker/controller 恢复守护
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import type {
|
||||
ExternalGenerationJobStatusResponse,
|
||||
ExternalGenerationQueueOverviewResponse,
|
||||
ExternalGenerationTaskAcknowledgeRequest,
|
||||
ExternalGenerationTaskAcknowledgeResponse,
|
||||
ExternalGenerationTaskListResponse,
|
||||
} from '../../../packages/shared/src/contracts/externalGeneration';
|
||||
import { BACKGROUND_AUTH_REQUEST_OPTIONS, requestJson } from '../apiClient';
|
||||
|
||||
@@ -43,7 +46,54 @@ export async function getExternalGenerationJobStatus(
|
||||
);
|
||||
}
|
||||
|
||||
export async function listExternalGenerationTasks(
|
||||
options: {
|
||||
limit?: number;
|
||||
includeAcknowledgedTerminal?: boolean;
|
||||
signal?: AbortSignal;
|
||||
} = {},
|
||||
) {
|
||||
const params = new URLSearchParams();
|
||||
if (typeof options.limit === 'number') {
|
||||
params.set('limit', String(options.limit));
|
||||
}
|
||||
if (typeof options.includeAcknowledgedTerminal === 'boolean') {
|
||||
params.set(
|
||||
'includeAcknowledgedTerminal',
|
||||
options.includeAcknowledgedTerminal ? 'true' : 'false',
|
||||
);
|
||||
}
|
||||
const query = params.toString();
|
||||
return requestJson<ExternalGenerationTaskListResponse>(
|
||||
`${EXTERNAL_GENERATION_API_BASE}/jobs${query ? `?${query}` : ''}`,
|
||||
{
|
||||
method: 'GET',
|
||||
signal: options.signal,
|
||||
},
|
||||
'读取生成任务列表失败',
|
||||
EXTERNAL_GENERATION_READ_OPTIONS,
|
||||
);
|
||||
}
|
||||
|
||||
export async function acknowledgeExternalGenerationTasks(
|
||||
payload: ExternalGenerationTaskAcknowledgeRequest,
|
||||
signal?: AbortSignal,
|
||||
) {
|
||||
return requestJson<ExternalGenerationTaskAcknowledgeResponse>(
|
||||
`${EXTERNAL_GENERATION_API_BASE}/jobs/acknowledge`,
|
||||
{
|
||||
method: 'POST',
|
||||
body: JSON.stringify(payload),
|
||||
signal,
|
||||
},
|
||||
'确认生成任务通知失败',
|
||||
EXTERNAL_GENERATION_READ_OPTIONS,
|
||||
);
|
||||
}
|
||||
|
||||
export const externalGenerationClient = {
|
||||
getQueueOverview: getExternalGenerationQueueOverview,
|
||||
getJobStatus: getExternalGenerationJobStatus,
|
||||
listTasks: listExternalGenerationTasks,
|
||||
acknowledgeTasks: acknowledgeExternalGenerationTasks,
|
||||
};
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
export {
|
||||
acknowledgeExternalGenerationTasks,
|
||||
externalGenerationClient,
|
||||
getExternalGenerationJobStatus,
|
||||
getExternalGenerationQueueOverview,
|
||||
listExternalGenerationTasks,
|
||||
} from './externalGenerationClient';
|
||||
|
||||
Reference in New Issue
Block a user