feat(打手): 支持个人追加免押额度
This commit is contained in:
@@ -2,6 +2,7 @@ type HallProduct = {
|
||||
productName?: string
|
||||
rewardAmount?: number
|
||||
freezeDepositAmount?: number
|
||||
depositFreeAmount?: number
|
||||
sharing?: {
|
||||
enabled: boolean
|
||||
totalQuantity: number
|
||||
@@ -41,11 +42,15 @@ export function resolveHallRewardAmount(order: HallProduct): number {
|
||||
return resolveHallRemainingQuantity(order) * Number(order.sharing.unitReward || 0)
|
||||
}
|
||||
|
||||
/** 拼单卡片保证金按剩余份数占总份数的比例展示。 */
|
||||
/** 拼单卡片按当前剩余份数计算个人免押后的实际保证金。 */
|
||||
export function resolveHallDepositAmount(order: HallProduct): number {
|
||||
if (!order.sharing?.enabled) return Number(order.freezeDepositAmount || 0)
|
||||
const totalQuantity = Math.max(1, Number(order.sharing.totalQuantity) || 1)
|
||||
return Math.round(
|
||||
(Number(order.freezeDepositAmount || 0) * resolveHallRemainingQuantity(order)) / totalQuantity,
|
||||
const depositFreeAmount = Math.max(0, Number(order.depositFreeAmount || 0))
|
||||
const requiredDepositAmount = Number(order.freezeDepositAmount || 0) + depositFreeAmount
|
||||
return Math.max(
|
||||
0,
|
||||
Math.round((requiredDepositAmount * resolveHallRemainingQuantity(order)) / totalQuantity) -
|
||||
depositFreeAmount,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user