Commit eb70dcc2 by 杨树贤

fix

parent 54eee31e
Showing with 93 additions and 22 deletions
# 商品价格生成逻辑说明(产品版) # 商品价格生成逻辑说明(产品版)
...@@ -62,17 +62,24 @@ ...@@ -62,17 +62,24 @@
3. **获取折扣系数** (`GetDiscountRatio`):从配置获取折扣比例 3. **获取折扣系数** (`GetDiscountRatio`):从配置获取折扣比例
4. **应用折扣**:最终售价 = 成本价 × 折扣系数 4. **应用折扣**:最终售价 = 成本价 × 折扣系数(这里基本都是1,都是代购渠道用得比较多)
--- ---
**核心方法:GenerateLadderPrice(单一成本价生成阶梯价)** **核心方法:GenerateLadderPrice(生成阶梯价)**
**适用范围:代购供应商(supplier_id ≠ 17)** **适用范围:专营供应商(supplier_id = 17)**
代购供应商上传商品时,如果只提供了一个成本价(Purchases = 0),没有设置阶梯价,系统会调用这个方法自动生成完整的阶梯价格。 专营供应商上传商品时,有两种情况会进入这个方法:
**注意:自营商品(supplier_id = 17)不走这个逻辑**,因为自营商品有WMS同步的成本价,使用另外的价格计算方式。 1. **单一成本价**(Purchases = 0):只提供了一个成本价,没有阶梯价,需要生成完整阶梯
2. **已有阶梯价**(Purchases > 0):上传了阶梯价,需要应用利润系数计算售价
**注意:自营商品不走这个逻辑**,因为自营商品有WMS同步的成本价,使用另外的价格计算方式。
---
### 第一部分:单一成本价生成阶梯价(Purchases = 0)
**情况1:起订量 ≤ 50 的固定阶梯(MOQ小的商品)** **情况1:起订量 ≤ 50 的固定阶梯(MOQ小的商品)**
...@@ -140,25 +147,89 @@ MOQ = 100,库存 = 5000 ...@@ -140,25 +147,89 @@ MOQ = 100,库存 = 5000
--- ---
**举个栗子(香港自营 L0018562):** ### 第二部分:已有阶梯价时应用利润系数(Purchases > 0)
当供应商上传商品时已经设置了阶梯价(Purchases > 0),系统会根据售价组配置的 `ladderType` 字段,采用两种不同的处理方式:
**售价组配置参数说明:**
- `ladderType = 1`:老逻辑,**以上传的阶梯为准**,倒推取利润系数
- `ladderType = 2`:新逻辑,**以售价组配置的阶梯为准**,固定生成阶梯
- `ladderPriceMiniProfitLevel`:最小利润点阶梯数(限制最多展示多少个阶梯)
---
#### 类型A:ladderType = 1(老逻辑:以上传阶梯为准)
**处理逻辑:**
1. 以上传的阶梯数量为准(如供应商上传了3个阶梯:1个、10个、100个)
2. 根据库存判断能满足多少个阶梯(库存要满足该阶梯的数量需求)
3. 从售价组利润系数中**倒推取值**
**示例:**
``` ```
WMS同步数据 上传的阶梯
- 美金成本价:$100(未税 - 1个:$50(成本价
- 汇率:7.2 - 10个:$45(成本价)
- 关税:1.13 - 100个:$40(成本价)
计算过程: 售价组配置9个利润系数:[1.05, 1.06, 1.07, 1.08, 1.09, 1.10, 1.11, 1.12, 1.13]
1. 人民币成本 = $100 × 7.2 × 1.13 = ¥813.6 最小利润点 = 5
2. 折扣系数:0.95(95折) 库存满足的阶梯数 = 3
3. 最终成本价:¥813.6 × 0.95 = ¥772.92
计算方式(倒推):
生成阶梯价(假设MOQ=5): 阶梯1(1个)→ 取第(5-3+0)=3个系数 1.07 → 售价 $50×1.07 = $53.5
- 5个:¥772.92 × 1.11 = ¥857.94 阶梯2(10个)→ 取第(5-3+1)=3个系数 1.08 → 售价 $45×1.08 = $48.6
- 30个:¥772.92 × 1.10 = ¥850.21 阶梯3(100个)→ 取第(5-3+2)=5个系数 1.09 → 售价 $40×1.09 = $43.6
- 100个:¥772.92 × 1.09 = ¥842.48 ```
- 300个:¥772.92 × 1.08 = ¥834.75
- 1000个:¥772.92 × 1.07 = ¥827.02 ---
#### 类型B:ladderType = 2(新逻辑:以售价组配置为准)
**业务场景:**
运营希望统一某些商品的阶梯展示格式,不管供应商上传了什么阶梯,都按照售价组配置的固定阶梯来展示。
**处理逻辑:**
1. **忽略上传的阶梯数量**,以售价组配置的阶梯为准
2. 以上传的**第一个阶梯的价格**为基础(作为成本价)
3. 乘以售价组各阶梯的利润系数,生成固定格式的阶梯价
**示例:**
``` ```
上传的阶梯:
- 5个:¥100(成本价)
- 50个:¥90(成本价)
- 200个:¥80(成本价)
售价组配置(固定阶梯):
- 1个:利润系数 1.15
- 10个:利润系数 1.12
- 100个:利润系数 1.10
- 1000个:利润系数 1.08
处理方式(以第一个阶梯价格为基础):
基础成本价 = ¥100
生成的阶梯价:
- 1个:¥100 × 1.15 = ¥115(售价组配置的阶梯数量)
- 10个:¥100 × 1.12 = ¥112(售价组配置的阶梯数量)
- 100个:¥100 × 1.10 = ¥110(售价组配置的阶梯数量)
- 1000个:¥100 × 1.08 = ¥108(售价组配置的阶梯数量)
注意:
- 最终展示的阶梯数量和数量值,完全由售价组配置决定
- 上传的其他阶梯(50个、200个)被忽略
```
**两种类型的对比:**
| 对比项 | ladderType = 1(老逻辑) | ladderType = 2(新逻辑) |
|-------|------------------------|------------------------|
| 阶梯数量来源 | 以上传的阶梯为准 | 以售价组配置为准 |
| 阶梯数量值 | 供应商上传的数量 | 售价组配置的数量 |
| 利润系数取值 | 倒推取值 | 正序取值 |
| 适用场景 | 尊重供应商的阶梯设置 | 统一商品阶梯展示格式 |
#### 情况B:代购供应商(从第三方采购) #### 情况B:代购供应商(从第三方采购)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment