1. 程式人生 > >微服務——通用分銷系統設計

微服務——通用分銷系統設計

  • 寫在前面:
分銷的應用非常廣泛,對商業流動促進有著極大的推動力,所以大部分的平臺都要做一套分銷系統。具體什麼是分銷,建議大家先度娘普及。
  • 設計目標:
業務目標:
    1.系統角色:貨主,各級分銷商(定三級),微信使用者,購買者
    2.貨主可以將自己的商品上架
    3.貨主可以設定通用分銷比例
    4.貨主可以發展一級分銷商並設定分銷比例(通用分銷比例)
    5.貨主可以設定商品的分銷比例(商品分銷比例)
    6.分銷優先順序 商品>通用
    7.一級分銷商可以發展二級,二級分銷商可以發展三級,三級不可以發展分銷商
    8.微信使用者轉發商品連結被其他使用者進入購買則發彩蛋給分享使用者(可以不加。。個人覺得這樣的彩蛋特別好)

技術目標:
    1.分銷關係的儲存
    2.水平可擴充套件
    3.服務的單一性保證
    4.非阻塞服務非同步化
  • 技術實現:
1.表設計:
    分銷關係表:儲存分銷者的關係(樹形關係)
    分銷訂單表:記錄各個角色的分紅資訊
    通用分銷規則表:記錄分銷商設定的分銷規則
    商品分銷規則表:記錄分銷商設定的商品分銷規則
    以上表依賴:
    使用者表,商品表
2.服務設計:
    依賴服務:
        1.使用者服務
        2.訂單服務
        3.商品服務
        4.錢包服務
    服務性質:
        非阻塞非同步呼叫類服務,實現方案定為接受支付成功訊息後非同步執行
  • 常見場景:
1.貨主上架商品,設定商品性質為可分銷,設定該商品分銷比例
2.貨主發展一級分銷商,一級分銷商以商品維度繫結貨主
3.二級分銷商發展三級分銷商
4.貨主管理一級分銷商,一級分銷商管理二級分銷商,二級分銷商管理三級分銷商
  • 主要流程:
1.使用者購買商品並支付成功
2.發通知訂單支付成功
3.查詢訂單內的商品和數量
4.查詢各個商品的分銷規則,沒有商品分銷規則的則查詢通用分銷規則
5.查詢訂單的分銷者資訊,確定分銷者的分銷級別
6.計算各級分銷者應得,生成分銷訂單
7.解析為錢包操作透傳給錢包服務進行入賬
  • 總結:
    分銷系統的重點在於,分銷者關係和分銷規則。