修复错误
This commit is contained in:
@@ -110,10 +110,31 @@ async function insertKuaishouIndustryVoucher(
|
||||
task_id = COALESCE(kuaishou_industry_vouchers.task_id, EXCLUDED.task_id),
|
||||
valid_start_time = EXCLUDED.valid_start_time,
|
||||
valid_end_time = EXCLUDED.valid_end_time,
|
||||
send_callback_status = EXCLUDED.send_callback_status,
|
||||
send_callback_last_error = EXCLUDED.send_callback_last_error,
|
||||
send_callback_response_json = EXCLUDED.send_callback_response_json,
|
||||
send_callback_sent_at = EXCLUDED.send_callback_sent_at,
|
||||
send_callback_status = CASE
|
||||
WHEN kuaishou_industry_vouchers.send_callback_status = 'success'
|
||||
THEN kuaishou_industry_vouchers.send_callback_status
|
||||
ELSE EXCLUDED.send_callback_status
|
||||
END,
|
||||
send_callback_attempt_count = CASE
|
||||
WHEN kuaishou_industry_vouchers.send_callback_status = 'success'
|
||||
THEN kuaishou_industry_vouchers.send_callback_attempt_count
|
||||
ELSE EXCLUDED.send_callback_attempt_count
|
||||
END,
|
||||
send_callback_last_error = CASE
|
||||
WHEN kuaishou_industry_vouchers.send_callback_status = 'success'
|
||||
THEN kuaishou_industry_vouchers.send_callback_last_error
|
||||
ELSE EXCLUDED.send_callback_last_error
|
||||
END,
|
||||
send_callback_response_json = CASE
|
||||
WHEN kuaishou_industry_vouchers.send_callback_status = 'success'
|
||||
THEN kuaishou_industry_vouchers.send_callback_response_json
|
||||
ELSE EXCLUDED.send_callback_response_json
|
||||
END,
|
||||
send_callback_sent_at = CASE
|
||||
WHEN kuaishou_industry_vouchers.send_callback_status = 'success'
|
||||
THEN kuaishou_industry_vouchers.send_callback_sent_at
|
||||
ELSE EXCLUDED.send_callback_sent_at
|
||||
END,
|
||||
raw_payload_json = EXCLUDED.raw_payload_json,
|
||||
updated_at = EXCLUDED.updated_at
|
||||
RETURNING *
|
||||
@@ -163,6 +184,23 @@ export async function listKuaishouIndustryVouchersByOid(
|
||||
return result.rows
|
||||
}
|
||||
|
||||
export async function listKuaishouIndustryVouchersForSendCallbackRetry(
|
||||
limit = 100,
|
||||
): Promise<KuaishouIndustryVoucherRow[]> {
|
||||
const result = await query<KuaishouIndustryVoucherRow>(
|
||||
`
|
||||
SELECT *
|
||||
FROM kuaishou_industry_vouchers
|
||||
WHERE send_callback_status <> 'success'
|
||||
ORDER BY COALESCE(send_callback_sent_at, created_at) ASC, id ASC
|
||||
LIMIT $1
|
||||
`,
|
||||
[normalizePositiveLimit(limit, 100)],
|
||||
)
|
||||
|
||||
return result.rows
|
||||
}
|
||||
|
||||
export async function listKuaishouIndustryVouchersByTaskId(
|
||||
taskId: number | string,
|
||||
): Promise<KuaishouIndustryVoucherRow[]> {
|
||||
@@ -388,6 +426,11 @@ function normalizeNonNegativeInteger(value: unknown, fallback: number) {
|
||||
return Number.isInteger(parsed) && parsed >= 0 ? parsed : fallback
|
||||
}
|
||||
|
||||
function normalizePositiveLimit(value: unknown, fallback: number): number {
|
||||
const parsed = Number(value)
|
||||
return Number.isFinite(parsed) && parsed > 0 ? Math.trunc(parsed) : fallback
|
||||
}
|
||||
|
||||
function stringifyJson(value: unknown): string {
|
||||
if (typeof value === 'string') {
|
||||
return value
|
||||
|
||||
Reference in New Issue
Block a user