From b87886c68873f6c49f3146da84b21f4308939c9a Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sat, 15 Aug 2026 09:53:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8C=89=E6=95=B0=E9=87=8F=E8=AE=A1?= =?UTF-8?q?=E4=BB=B7=E6=A8=A1=E5=BC=8F=E6=97=A0=E9=9C=80=E5=A1=AB=E5=86=99?= =?UTF-8?q?=E6=8E=A5=E5=8D=95=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 选择按数量×单价时,接单金额可留空(建单时按 单价×SKU文字数量 计算总价); 仅当接单金额和单价都为空时才拦截 --- .../src/services/worker-platform/admin-service.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/backend/src/services/worker-platform/admin-service.ts b/apps/backend/src/services/worker-platform/admin-service.ts index 87cd1455..0a1f4fdc 100644 --- a/apps/backend/src/services/worker-platform/admin-service.ts +++ b/apps/backend/src/services/worker-platform/admin-service.ts @@ -217,6 +217,10 @@ export async function saveAdminWorkProductRule(payload: JsonObject = {}) { } const rewardAmount = normalizeAmountFen(payload.rewardAmount ?? payload.rewardAmountYuan, 0) + const unitPriceFen = + payload.unitPrice === undefined && payload.unitPriceYuan === undefined + ? 0 + : normalizeAmountFen(payload.unitPrice ?? payload.unitPriceYuan, 0) const sharingEnabled = normalizeBoolean( payload.sharingEnabled ?? payload.sharing_enabled, false, @@ -243,7 +247,7 @@ export async function saveAdminWorkProductRule(payload: JsonObject = {}) { errorCode: 'work_product_rule_sharing_amount_invalid', }) } - } else if (rewardAmount <= 0) { + } else if (rewardAmount <= 0 && unitPriceFen <= 0) { throw createHttpError('接单金额必须大于 0', { statusCode: 400, errorCode: 'work_product_rule_reward_invalid', @@ -288,10 +292,7 @@ export async function saveAdminWorkProductRule(payload: JsonObject = {}) { enabled: normalizeBoolean(payload.enabled, true), autoCreate: normalizeBoolean(payload.autoCreate ?? payload.auto_create, false), rewardAmount: finalRewardAmount, - unitPriceFen: - payload.unitPrice === undefined && payload.unitPriceYuan === undefined - ? 0 - : normalizeAmountFen(payload.unitPrice ?? payload.unitPriceYuan, 0), + unitPriceFen, requiredDepositAmount, depositThresholdAmount, sharingEnabled,