优化快手 Cloud 主链路状态机
This commit is contained in:
@@ -3,6 +3,7 @@ import { createTaskEvent } from "../../../repositories/task-event-repo.js";
|
||||
import { updateTask } from "../../../repositories/task-repo.js";
|
||||
import { createHttpError } from "../../../utils/http.js";
|
||||
import { nowIso } from "../../../utils/time.js";
|
||||
import { TASK_STATUS, normalizeTaskStatus, type TaskStatus } from "../../../domain/task-status.js";
|
||||
import { notifyKuaishouCloudConsumeFailed } from "../../notification/domain-notifications.js";
|
||||
import { useCloudtentaclesSku } from "../../platforms/cloudtentacles/catalog-service.js";
|
||||
import { backCloudtentaclesVirtualNumber } from "../../platforms/cloudtentacles/virtual-number-service.js";
|
||||
@@ -78,7 +79,7 @@ export async function dispatchKuaishouCloudFulfillmentTask(
|
||||
|
||||
if (
|
||||
flow.dispatch.status === "success" &&
|
||||
String(task.task_status || "").trim() === "dispatched_pending_return"
|
||||
normalizeTaskStatus(task.task_status) === TASK_STATUS.DISPATCHED_PENDING_RETURN
|
||||
) {
|
||||
return { task, flow };
|
||||
}
|
||||
@@ -163,7 +164,7 @@ export async function dispatchKuaishouCloudFulfillmentTask(
|
||||
};
|
||||
|
||||
let updatedTask = await updateTask(task.id, {
|
||||
task_status: "dispatched_pending_return",
|
||||
task_status: TASK_STATUS.DISPATCHED_PENDING_RETURN,
|
||||
delivery_status: "delivered",
|
||||
result_code: "kuaishou_cloud_dispatched",
|
||||
result_message: dispatchSummary,
|
||||
@@ -285,11 +286,10 @@ export async function returnKuaishouCloudFulfillmentTask(
|
||||
});
|
||||
}
|
||||
|
||||
const taskStatus = normalizeTaskStatus(task.task_status);
|
||||
if (
|
||||
flow.returnNumber.status === "success" &&
|
||||
["completed", "manual_review"].includes(
|
||||
String(task.task_status || "").trim()
|
||||
)
|
||||
(taskStatus === TASK_STATUS.COMPLETED || taskStatus === TASK_STATUS.MANUAL_REVIEW)
|
||||
) {
|
||||
return { task, flow };
|
||||
}
|
||||
@@ -316,7 +316,7 @@ export async function returnKuaishouCloudFulfillmentTask(
|
||||
let consumeStatus = "pending";
|
||||
let consumeErrorMessage = "";
|
||||
let consumedAt = null;
|
||||
let nextTaskStatus = "completed";
|
||||
let nextTaskStatus: TaskStatus = TASK_STATUS.COMPLETED;
|
||||
let nextResultCode = "kuaishou_cloud_completed";
|
||||
let nextResultMessage = "cloudtentacles 发货、退号并完成快手核销";
|
||||
|
||||
@@ -369,7 +369,7 @@ export async function returnKuaishouCloudFulfillmentTask(
|
||||
}
|
||||
|
||||
if (consumeStatus !== "success") {
|
||||
nextTaskStatus = "manual_review";
|
||||
nextTaskStatus = TASK_STATUS.MANUAL_REVIEW;
|
||||
nextResultCode = "kuaishou_cloud_consume_failed";
|
||||
nextResultMessage =
|
||||
consumeErrorMessage || "号码已退还,但快手核销未完成,请人工处理";
|
||||
|
||||
Reference in New Issue
Block a user