diff --git a/mateclaw-server/src/main/java/vip/mate/cron/service/CronJobLifecycleService.java b/mateclaw-server/src/main/java/vip/mate/cron/service/CronJobLifecycleService.java index cfc7f123..fc3c1168 100644 --- a/mateclaw-server/src/main/java/vip/mate/cron/service/CronJobLifecycleService.java +++ b/mateclaw-server/src/main/java/vip/mate/cron/service/CronJobLifecycleService.java @@ -196,10 +196,13 @@ public class CronJobLifecycleService { String convId = conversationId != null ? conversationId : run.getConversationId(); String text = result != null && result.getText() != null ? result.getText() : ""; + int totalTokens = chatResult != null + ? chatResult.promptTokens() + chatResult.completionTokens() : 0; runMapper.update(null, new LambdaUpdateWrapper() .eq(CronJobRunEntity::getId, run.getId()) .set(CronJobRunEntity::getStatus, "succeeded") - .set(CronJobRunEntity::getFinishedAt, LocalDateTime.now())); + .set(CronJobRunEntity::getFinishedAt, LocalDateTime.now()) + .set(totalTokens > 0, CronJobRunEntity::getTokenUsage, totalTokens)); if (silent) { // No-op run: persist a short marker so the tasks_