清結算臨時分潤方案

2019-11-06  本文已影响0人  随风溜达的向日葵

原始計算公式:
令 A=Amount表示訂單單價,
\ M = Merchant Rate表示商戶手續費率,
\ C = Cost Rate表示外判機構成本費率,
\ P = Profit Rate表示外判機構分潤比率,那麼
外判分潤費 = A \times (M - C) \times P

以上公式當商戶手續費率小於外判機構成本費率時即會出現負數。

補充計算公式:
令 A=Amount表示訂單單價,
\ C = Customized Rate表示定制化分潤方案,那麼
定制化分潤費= A \times C

現在需要使用補充計算公式解決分潤不能為負數和0的情況。解決方案如下:

  1. 新增按商戶配置的三類外判機構(代理、出機、維護)的定制化分潤比率。
  2. 新增全局默認三類外判機構定制化分潤比率。

注意:三類外判所有配置必須同時存在,即如果為商戶設置了定制化分潤方案,那麼代理、出機、維護三類都必須同時配置,缺一不可。

方案如下(偽碼):

// 計算單個外判分潤
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,使用默認分潤。

擴展點:
默認分潤比率按外判機構作為維度來設置。

上一篇 下一篇

猜你喜欢

热点阅读