删除旧履约配置逻辑

This commit is contained in:
yml
2026-05-27 13:12:07 +08:00
parent dd6776c4e4
commit c7e2a225bc
34 changed files with 13 additions and 3215 deletions
@@ -7,7 +7,6 @@ import { formatFenToAmount, normalizeFen } from '../../utils/money.js'
import { parseTaskContext as parseTaskContextValue } from '../../utils/task-json.js'
import { nowIso } from '../../utils/time.js'
import { buildClaimUrl } from './claim-service.js'
import { getKuaishouCloudFulfillmentConfig } from '../order/kuaishou-cloud-fulfillment-config-service.js'
import type { ClaimTokenRow, OrderItemRow, OrderRow, TaskRow } from '../../types/repository/rows.js'
export const CLAIM_TERMINAL_STATUSES = new Set(['expired', 'closed'])
@@ -144,13 +143,9 @@ function resolveClaimOrderItemDisplaySkuName(
const fulfillment = isPlainObject(kuaishouCloudFulfillment) ? kuaishouCloudFulfillment : {}
const binding = isPlainObject(fulfillment.binding) ? fulfillment.binding : {}
const ticket = isPlainObject(fulfillment.ticket) ? fulfillment.ticket : {}
const matchedConfigItem = resolveClaimFulfillmentConfigItem(orderItem, fulfillment, binding)
const skuCode = String(orderItem.sku_code || '').trim()
const rawSkuName = String(orderItem.sku_name || '').trim()
const candidates = [
matchedConfigItem?.internalSkuName,
matchedConfigItem?.cloudSkuName,
matchedConfigItem?.resolvedSkuName,
fulfillment.internalSkuName,
binding.skuName,
ticket.goodsTitle,
@@ -168,40 +163,6 @@ function resolveClaimOrderItemDisplaySkuName(
return rawSkuName || skuCode
}
function resolveClaimFulfillmentConfigItem(
orderItem: OrderItemRow,
fulfillment: JsonObject,
binding: JsonObject,
) {
const config = getKuaishouCloudFulfillmentConfig()
const rawItems: unknown[] = Array.isArray(config.items) ? config.items : []
const items = rawItems.filter(isPlainObject)
const configId = String(fulfillment.configId || '').trim()
const skuCode = String(orderItem.sku_code || '').trim()
const skuName = String(orderItem.sku_name || '').trim()
const cloudSkuId = Number(binding.skuId || 0) || 0
return items.find((item) => {
if (configId && String(item.id || '').trim() === configId) {
return true
}
if (cloudSkuId > 0 && Number(item.cloudSkuId || 0) === cloudSkuId) {
return true
}
return [
item.internalSkuCode,
item.externalSkuCode,
item.externalItemId,
item.externalSkuName,
].some((value) => {
const normalized = String(value || '').trim()
return normalized && (normalized === skuCode || normalized === skuName)
})
}) || null
}
export function mapClaimKuaishouCloudFulfillment(task: TaskRow, order: OrderRow) {
if (String(task?.executor_key || '').trim() !== 'kuaishou_ct_assisted') {
return null