fix(distribution): 货架加价打通前台、下单与卖方分成
分站公开列表和详情展示当前货架加价;下单写入 base_price / shelf_markup / markup_site_id 快照并计入实付。 支付分账改用快照加价,不再误用 PlatformFeeCent;结账不退加价,事后改价不影响历史订单。
This commit is contained in:
@@ -118,6 +118,35 @@ func TestBuildOrderPricingDoesNotDiscountAllExtraItemOrder(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckoutDoesNotRefundShelfMarkup(t *testing.T) {
|
||||
order := model.RentalOrder{
|
||||
RentAmountCent: 20000,
|
||||
OwnerRentAmountCent: 8000,
|
||||
PlatformFeeCent: 2000,
|
||||
BasePriceCent: 10000,
|
||||
ShelfMarkupCent: 10000,
|
||||
DepositAmountCent: 1000,
|
||||
AccountSnapshot: datatypes.JSON([]byte(`{
|
||||
"haf_coin_amount": 100000000,
|
||||
"asset_summary": {
|
||||
"price_breakdown": {
|
||||
"buyer_coin_base_price": 100,
|
||||
"seller_coin_base_price": 80,
|
||||
"consumable_price": 0
|
||||
}
|
||||
}
|
||||
}`)),
|
||||
}
|
||||
settlement := calculateCheckoutSettlement(order, 0, 100, 0)
|
||||
if settlement.RentRefundCent != 0 {
|
||||
t.Fatalf("full consume must not refund shelf markup, rent refund = %d", settlement.RentRefundCent)
|
||||
}
|
||||
zeroUse := calculateCheckoutSettlement(order, 0, 0, 0)
|
||||
if zeroUse.RentRefundCent != 10000 {
|
||||
t.Fatalf("unused listing refunds base price only, got %d want 10000", zeroUse.RentRefundCent)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalculateCheckoutSettlementRefundsUnusedRent(t *testing.T) {
|
||||
order := model.RentalOrder{
|
||||
RentAmountCent: 38300,
|
||||
@@ -527,4 +556,3 @@ func TestApplyAdminOrderFiltersSmartRouting(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user