开启后端严格空值检查
This commit is contained in:
@@ -69,7 +69,7 @@ type TaskContext = {
|
||||
export async function syncDeliveryTasksForOrder(
|
||||
order: OrderRow,
|
||||
orderItems: OrderItemRow[],
|
||||
): Promise<Array<TaskRow | null>> {
|
||||
): Promise<TaskRow[]> {
|
||||
return syncDeliveryTasksForOrderWithDeps(order, orderItems)
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ export async function syncDeliveryTasksForOrderWithDeps(
|
||||
order: OrderRow,
|
||||
orderItems: OrderItemRow[],
|
||||
deps: DeliveryTaskDeps = {},
|
||||
): Promise<Array<TaskRow | null>> {
|
||||
): Promise<TaskRow[]> {
|
||||
const {
|
||||
createTask: createDeliveryTask = createTask,
|
||||
listTasksByOrderId: listTasks = listTasksByOrderId,
|
||||
@@ -104,11 +104,12 @@ export async function syncDeliveryTasksForOrderWithDeps(
|
||||
}
|
||||
|
||||
const itemMap = new Map(orderItems.map((item) => [item.id, item]))
|
||||
return Promise.all(existingTasks.map((task) => preparePaidTask({
|
||||
const preparedTasks = await Promise.all(existingTasks.map((task) => preparePaidTask({
|
||||
...task,
|
||||
skuCode: itemMap.get(task.order_item_id)?.sku_code || '',
|
||||
skuName: itemMap.get(task.order_item_id)?.sku_name || '',
|
||||
}, runtimeDeps)))
|
||||
return preparedTasks.filter(isTaskRow)
|
||||
}
|
||||
|
||||
const tasks: DeliveryTaskRow[] = []
|
||||
@@ -243,11 +244,13 @@ export async function syncDeliveryTasksForOrderWithDeps(
|
||||
updatedAt: createdAt,
|
||||
})
|
||||
|
||||
tasks.push({
|
||||
...task,
|
||||
skuCode: item.sku_code,
|
||||
skuName: item.sku_name,
|
||||
})
|
||||
if (task) {
|
||||
tasks.push({
|
||||
...task,
|
||||
skuCode: item.sku_code,
|
||||
skuName: item.sku_name,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -255,7 +258,8 @@ export async function syncDeliveryTasksForOrderWithDeps(
|
||||
return tasks
|
||||
}
|
||||
|
||||
return Promise.all(tasks.map((task) => preparePaidTask(task, runtimeDeps)))
|
||||
const preparedTasks = await Promise.all(tasks.map((task) => preparePaidTask(task, runtimeDeps)))
|
||||
return preparedTasks.filter(isTaskRow)
|
||||
}
|
||||
|
||||
async function preparePaidTask(
|
||||
@@ -380,6 +384,10 @@ function parseJsonObject(value: unknown): JsonObject {
|
||||
}
|
||||
}
|
||||
|
||||
function isTaskRow(task: TaskRow | DeliveryTaskRow | null | undefined): task is TaskRow {
|
||||
return Boolean(task && Number(task.id || 0) > 0)
|
||||
}
|
||||
|
||||
function isKuaishouCloudExecutor(value: unknown): boolean {
|
||||
return String(value || '').trim() === 'kuaishou_ct_assisted'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user