简化履约匹配并支持mock订单测试

This commit is contained in:
yml
2026-05-27 12:55:44 +08:00
parent e8010728a4
commit dd6776c4e4
21 changed files with 1892 additions and 683 deletions
@@ -7,6 +7,7 @@ import { notifyKuaishouCloudConsumeFailed } from "../../notification/domain-noti
import { useCloudtentaclesSku } from "../../platforms/cloudtentacles/catalog-service.js";
import { backCloudtentaclesVirtualNumber } from "../../platforms/cloudtentacles/virtual-number-service.js";
import { consumeKuaishouEticket } from "../../platforms/kuaishou-eticket/consume-service.js";
import { isKuaishouEticketMockTicketCode } from "../../platforms/kuaishou-eticket/mock-ticket-service.js";
import {
getKuaishouEticketSourceConfig,
resolveKuaishouEticketShopConfig,
@@ -305,6 +306,7 @@ export async function returnKuaishouCloudFulfillmentTask(
const shopName = String(
flow.consume.shopName || order?.shop_name || ""
).trim();
const mockTicketCode = isKuaishouEticketMockTicketCode(ticketCode);
const eticketSource = getKuaishouEticketSourceConfig();
const shopConfig = resolveKuaishouEticketShopConfig({
shopId,
@@ -324,6 +326,15 @@ export async function returnKuaishouCloudFulfillmentTask(
} else if (!ticketCode) {
consumeStatus = "failed";
consumeErrorMessage = "客户未提交有效核销码,无法执行快手核销";
} else if (mockTicketCode) {
const consumeResult = await consumeKuaishouEticket({
eTicketId: ticketCode,
oid: String(flow.ticket.oid || "").trim(),
formToken: String(flow.ticket.formToken || "").trim(),
});
consumeStatus = consumeResult.consumed ? "success" : "failed";
consumedAt = consumeResult.consumed ? now : null;
consumeErrorMessage = String(consumeResult.errorMessage || "").trim();
} else if (
!shopConfig ||
shopConfig.enabled === false ||