feat(work-order): 后台支持修改用户付款金额并留痕

This commit is contained in:
2026-11-01 14:14:23 +08:00
parent b9d8630026
commit c1dd2ee632
15 changed files with 568 additions and 19 deletions
@@ -1,7 +1,10 @@
import assert from 'node:assert/strict'
import test from 'node:test'
import { getRewardAbovePayment } from '../src/pages/admin/panels/work-order-payment.ts'
import {
getRewardAbovePayment,
getUserPaymentFen,
} from '../src/pages/admin/panels/work-order-payment.ts'
function orderWithPayment(paymentFen: number, rewardFen: number) {
return {
@@ -35,3 +38,27 @@ test('可传入即将保存的发单金额做预检', () => {
assert.equal(getRewardAbovePayment(order), null)
assert.ok(getRewardAbovePayment(order, 1000))
})
test('getUserPaymentFen:送码实付优先,其次来源金额,最后派生列', () => {
assert.equal(
getUserPaymentFen({
material: { source: { orderAmountFen: 1000, kuaishouSendCode: { paymentFen: 900 } } },
sourceOrderAmount: 800,
}),
900,
)
assert.equal(
getUserPaymentFen({
material: { source: { orderAmountFen: 1000 } },
sourceOrderAmount: 800,
}),
1000,
)
assert.equal(getUserPaymentFen({ material: {}, sourceOrderAmount: 800 }), 800)
})
test('getUserPaymentFen:空值或非法值不误判成 0 元', () => {
assert.equal(getUserPaymentFen({ material: { source: { orderAmountFen: '' } } }), null)
assert.equal(getUserPaymentFen({ material: { source: { orderAmountFen: 'abc' } } }), null)
assert.equal(getUserPaymentFen({ material: {}, sourceOrderAmount: 0 }), null)
})