接单工单支持编辑与删除,修复编辑押金不生效问题

This commit is contained in:
yml2213
2026-08-01 18:35:12 +08:00
parent fddb757078
commit de33bfa74c
8 changed files with 408 additions and 1 deletions
@@ -661,6 +661,67 @@ export async function updateWorkOrder(
return getWorkOrderById(workOrderId)
}
export async function updateWorkOrderBasic(
workOrderId: number | string,
patch: {
productName?: string
platformOrderId?: string
categoryId?: number | null
rewardAmount?: number
requiredDepositAmount?: number
depositThresholdAmount?: number
requirementJson?: string
updatedAt: string
},
): Promise<WorkOrderRow | null> {
const current = await getWorkOrderById(workOrderId)
if (!current) return null
await query(
`
UPDATE work_orders
SET
platform_order_id = $1,
product_name = $2,
category_id = $3,
reward_amount = $4,
required_deposit_amount = $5,
deposit_threshold_amount = $6,
requirement_json = $7::jsonb,
updated_at = $8
WHERE id = $9
`,
[
String((patch.platformOrderId ?? current.platform_order_id) || '').trim(),
String((patch.productName ?? current.product_name) || '').trim(),
patch.categoryId === undefined ? current.category_id : patch.categoryId,
toPositiveInteger(patch.rewardAmount ?? current.reward_amount, 0),
toPositiveInteger(
patch.requiredDepositAmount ?? current.required_deposit_amount,
0,
),
toPositiveInteger(
patch.depositThresholdAmount ?? current.deposit_threshold_amount,
0,
),
toJsonString(patch.requirementJson ?? current.requirement_json),
patch.updatedAt,
Number(workOrderId),
],
)
return getWorkOrderById(workOrderId)
}
export async function deleteWorkOrder(workOrderId: number | string): Promise<boolean> {
const result = await query(
`
DELETE FROM work_orders
WHERE id = $1
`,
[Number(workOrderId)],
)
return Number(result.rowCount || 0) > 0
}
export async function grabWorkOrder(input: {
workOrderId: number
workerId: number