原始計算公式:
以上公式當商戶手續費率小於外判機構成本費率時即會出現負數。
補充計算公式:
現在需要使用補充計算公式解決分潤不能為負數和0的情況。解決方案如下:
- 新增按商戶配置的三類外判機構(代理、出機、維護)的定制化分潤比率。
- 新增全局默認三類外判機構定制化分潤比率。
注意:三類外判所有配置必須同時存在,即如果為商戶設置了定制化分潤方案,那麼代理、出機、維護三類都必須同時配置,缺一不可。
方案如下(偽碼):
// 計算單個外判分潤
Module Input: amount, merchantRate, costRate, profitRate, customizedRate, defCustomizedRate
//amount: 訂單單價
//merchantRate: 商戶手續費率
//costRate: 外判機構成本費率
//profitRate: 外判機構分潤比率
// customizedRate: 定制化分潤比率
// defCustomizedRate: 默認零限額分潤比率
if exists customizedRate then
return amount * customizedRate //補充計算公式,商戶設置了定制化值
else
const tmp = amount * (merchantRate - costRate) * profitRate; //原始計算公式
if 0 < tmp then return tmp
else
return amount * defCustomizedRate //補充計算公式,當原始計算結果為0,使用默認分潤。
擴展點:
默認分潤比率按外判機構作為維度來設置。