fix(distribution): 分成改为分主站提价利润,分站自主提价溢价全额归卖方
- 文档:升级至 v0.7,固化号主保底、主站提价利润分账(35/40/25)与分站加价溢价独享逻辑 - 定价:修正货架兑换比例调价方向为调减比例提价(site_ratio = base_ratio - delta) - 分账:分成基数剔除号主成本与分站加价,提价利润按规则切分,分站自主加价溢价 100% 归卖出方 - 前端:更新分销后台提价说明文案,提示调减比例提高售价且溢价归本站
This commit is contained in:
@@ -326,7 +326,7 @@ func TestCreateOrderSnapshotsShelfMarkup(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := db.Create(&model.DistributionSiteAccount{
|
||||
SiteID: site.ID, AccountID: account.ID, ListingID: listing.ID, DisplayStatus: "enabled", ShelfRatioDelta: 25,
|
||||
SiteID: site.ID, AccountID: account.ID, ListingID: listing.ID, DisplayStatus: "enabled", ShelfRatioDelta: 20,
|
||||
}).Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -344,10 +344,11 @@ func TestCreateOrderSnapshotsShelfMarkup(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("Create() error = %v", err)
|
||||
}
|
||||
if dto.RentAmountCent == nil || *dto.RentAmountCent != 8000 {
|
||||
t.Fatalf("paid rent = %v, want 8000", dto.RentAmountCent)
|
||||
// 100M 币,主站标价 100 元 (10000 分,比例 100);分站提价减 20 比例 (比例 80),分站实付售价 125 元 (12500 分)
|
||||
if dto.RentAmountCent == nil || *dto.RentAmountCent != 12500 {
|
||||
t.Fatalf("paid rent = %v, want 12500", dto.RentAmountCent)
|
||||
}
|
||||
if dto.BasePriceCent != 10000 || dto.ShelfMarkupCent != -2000 || dto.MarkupSiteID != site.ID || dto.ShelfRatioDelta != 25 {
|
||||
if dto.BasePriceCent != 10000 || dto.ShelfMarkupCent != 2500 || dto.MarkupSiteID != site.ID || dto.ShelfRatioDelta != 20 {
|
||||
t.Fatalf("ratio snapshot = base %d deltaCent %d site %d ratioDelta %v", dto.BasePriceCent, dto.ShelfMarkupCent, dto.MarkupSiteID, dto.ShelfRatioDelta)
|
||||
}
|
||||
|
||||
@@ -355,6 +356,7 @@ func TestCreateOrderSnapshotsShelfMarkup(t *testing.T) {
|
||||
if err := db.First(&saved, dto.ID).Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// 号主本金保底 80 元 (8000 分),不受分站加价影响
|
||||
if saved.OwnerRentAmountCent != 8000 {
|
||||
t.Fatalf("owner rent = %d, want 8000", saved.OwnerRentAmountCent)
|
||||
}
|
||||
@@ -366,7 +368,7 @@ func TestCreateOrderSnapshotsShelfMarkup(t *testing.T) {
|
||||
if err := db.First(&after, dto.ID).Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if after.ShelfRatioDelta != 25 || after.RentAmountCent != 8000 {
|
||||
if after.ShelfRatioDelta != 20 || after.RentAmountCent != 12500 {
|
||||
t.Fatalf("historical order must keep ratio snapshot, got delta %v rent %d", after.ShelfRatioDelta, after.RentAmountCent)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user