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,