修复小店核销bug, 链接10分钟
This commit is contained in:
@@ -459,11 +459,12 @@ export async function returnNumberAdminTaskKuaishouCloudFulfillment(taskId, sess
|
||||
|
||||
const order = await getOrderById(task.order_id)
|
||||
const ticketCode = String(flow.ticket.code || '').trim()
|
||||
const shopId = String(order?.shop_id || '').trim()
|
||||
const shopId = String(flow.consume.shopId || order?.shop_id || '').trim()
|
||||
const shopName = String(flow.consume.shopName || order?.shop_name || '').trim()
|
||||
const eticketSource = getKuaishouEticketSourceConfig()
|
||||
const shopConfig = resolveKuaishouEticketShopConfig({
|
||||
shopId,
|
||||
shopName: String(order?.shop_name || '').trim(),
|
||||
shopName,
|
||||
})
|
||||
let consumeStatus = 'pending'
|
||||
let consumeErrorMessage = ''
|
||||
@@ -530,7 +531,7 @@ export async function returnNumberAdminTaskKuaishouCloudFulfillment(taskId, sess
|
||||
...flow.consume,
|
||||
status: consumeStatus,
|
||||
shopId: shopId || flow.consume.shopId,
|
||||
shopName: String(flow.consume.shopName || order?.shop_name || '').trim(),
|
||||
shopName,
|
||||
autoConsumeEnabled: flow.consume.autoConsumeEnabled === true,
|
||||
consumedAt,
|
||||
errorMessage: consumeErrorMessage,
|
||||
@@ -560,6 +561,7 @@ export async function returnNumberAdminTaskKuaishouCloudFulfillment(taskId, sess
|
||||
{
|
||||
ticketCodeMasked: maskCode(ticketCode),
|
||||
shopId,
|
||||
shopName,
|
||||
consumeStatus,
|
||||
errorMessage: consumeErrorMessage,
|
||||
},
|
||||
|
||||
@@ -144,7 +144,7 @@ export function resolveKuaishouCloudBindUrlExpiresAt(preparedAt) {
|
||||
}
|
||||
|
||||
const config = resolveCloudtentaclesConfig()
|
||||
const ttlSeconds = Number(config.bindUrlTtlSeconds || 300)
|
||||
const ttlSeconds = Number(config.bindUrlTtlSeconds || 600)
|
||||
return new Date(preparedTime + Math.max(1, ttlSeconds) * 1000).toISOString()
|
||||
}
|
||||
|
||||
|
||||
@@ -890,11 +890,12 @@ export async function returnKuaishouCloudFulfillmentTask(task, options = {}) {
|
||||
|
||||
const order = await getOrderById(task.order_id)
|
||||
const ticketCode = String(flow.ticket.code || '').trim()
|
||||
const shopId = String(order?.shop_id || '').trim()
|
||||
const shopId = String(flow.consume.shopId || order?.shop_id || '').trim()
|
||||
const shopName = String(flow.consume.shopName || order?.shop_name || '').trim()
|
||||
const eticketSource = getKuaishouEticketSourceConfig()
|
||||
const shopConfig = resolveKuaishouEticketShopConfig({
|
||||
shopId,
|
||||
shopName: String(order?.shop_name || '').trim(),
|
||||
shopName,
|
||||
})
|
||||
|
||||
let consumeStatus = 'pending'
|
||||
@@ -956,7 +957,7 @@ export async function returnKuaishouCloudFulfillmentTask(task, options = {}) {
|
||||
...flow.consume,
|
||||
status: consumeStatus,
|
||||
shopId: shopId || flow.consume.shopId,
|
||||
shopName: String(flow.consume.shopName || order?.shop_name || '').trim(),
|
||||
shopName,
|
||||
autoConsumeEnabled: flow.consume.autoConsumeEnabled === true,
|
||||
consumedAt,
|
||||
errorMessage: consumeErrorMessage,
|
||||
@@ -989,6 +990,7 @@ export async function returnKuaishouCloudFulfillmentTask(task, options = {}) {
|
||||
source: String(options.source || 'system').trim() || 'system',
|
||||
ticketCodeMasked: maskCode(ticketCode),
|
||||
shopId,
|
||||
shopName,
|
||||
consumeStatus,
|
||||
errorMessage: consumeErrorMessage,
|
||||
actor,
|
||||
@@ -1035,7 +1037,7 @@ export function resolveKuaishouCloudBindUrlExpiresAt(preparedAt) {
|
||||
}
|
||||
|
||||
const config = resolveCloudtentaclesConfig()
|
||||
const ttlSeconds = Number(config.bindUrlTtlSeconds || 300)
|
||||
const ttlSeconds = Number(config.bindUrlTtlSeconds || 600)
|
||||
return new Date(preparedTime + Math.max(1, ttlSeconds) * 1000).toISOString()
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
|
||||
import { PROJECT_ROOT } from '../../config/runtime.js'
|
||||
import { resolveKuaishouEticketShopConfig } from '../platforms/kuaishou-eticket/source-config-service.js'
|
||||
|
||||
const KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH = path.join(PROJECT_ROOT, 'data', 'kuaishou-cloud-fulfillment.json')
|
||||
|
||||
@@ -103,6 +104,12 @@ function normalizeKuaishouCloudFulfillmentItem(rawValue) {
|
||||
const externalSkuCode = String(rawValue.externalSkuCode || '').trim()
|
||||
const externalItemId = String(rawValue.externalItemId || '').trim()
|
||||
const externalSkuName = String(rawValue.externalSkuName || '').trim()
|
||||
const kuaishouConsumeShopId = String(rawValue.kuaishouConsumeShopId || '').trim()
|
||||
const kuaishouConsumeShopName = String(rawValue.kuaishouConsumeShopName || '').trim()
|
||||
const kuaishouShopConfig = resolveKuaishouEticketShopConfig({
|
||||
shopId: kuaishouConsumeShopId,
|
||||
shopName: kuaishouConsumeShopName,
|
||||
})
|
||||
|
||||
if (!internalSkuCode) {
|
||||
return null
|
||||
@@ -137,8 +144,8 @@ function normalizeKuaishouCloudFulfillmentItem(rawValue) {
|
||||
minAssetReserve: normalizeNonNegativeInteger(rawValue.minAssetReserve, 0),
|
||||
autoReturnNumberAfterDispatch: rawValue.autoReturnNumberAfterDispatch === true,
|
||||
autoConsumeAfterDispatch: rawValue.autoConsumeAfterDispatch === true,
|
||||
kuaishouConsumeShopId: String(rawValue.kuaishouConsumeShopId || '').trim(),
|
||||
kuaishouConsumeShopName: String(rawValue.kuaishouConsumeShopName || '').trim(),
|
||||
kuaishouConsumeShopId: String(kuaishouShopConfig?.shopId || kuaishouConsumeShopId).trim(),
|
||||
kuaishouConsumeShopName: String(kuaishouShopConfig?.kshopName || kuaishouConsumeShopName).trim(),
|
||||
notes: String(rawValue.notes || '').trim(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ export function resolveCloudtentaclesConfig(overrides = {}) {
|
||||
vnBindUrlPath: '/vn/bind_url',
|
||||
vnBindInfoPath: '/vn/bind_info',
|
||||
vnBackPath: '/vn/back',
|
||||
bindUrlTtlSeconds: 300,
|
||||
bindUrlTtlSeconds: 600,
|
||||
bindUrlProbeIntervalSeconds: 30,
|
||||
bindUrlProbeTimeoutMs: 5000,
|
||||
bindUrlProbeUserAgent: '',
|
||||
@@ -71,7 +71,7 @@ export function resolveCloudtentaclesConfig(overrides = {}) {
|
||||
vnBindUrlPath: normalizePath(overrides.vnBindUrlPath || baseConfig.vnBindUrlPath, '/vn/bind_url'),
|
||||
vnBindInfoPath: normalizePath(overrides.vnBindInfoPath || baseConfig.vnBindInfoPath, '/vn/bind_info'),
|
||||
vnBackPath: normalizePath(overrides.vnBackPath || baseConfig.vnBackPath, '/vn/back'),
|
||||
bindUrlTtlSeconds: normalizePositiveInteger(overrides.bindUrlTtlSeconds || baseConfig.bindUrlTtlSeconds, 300),
|
||||
bindUrlTtlSeconds: normalizePositiveInteger(overrides.bindUrlTtlSeconds || baseConfig.bindUrlTtlSeconds, 600),
|
||||
bindUrlProbeIntervalSeconds: normalizePositiveInteger(
|
||||
overrides.bindUrlProbeIntervalSeconds || baseConfig.bindUrlProbeIntervalSeconds,
|
||||
30,
|
||||
|
||||
Reference in New Issue
Block a user