商品订单表怎么设计_三级分销系统系统设计
系統業務目標
- 系統角色:貨主,各級分銷商(定三級),微信用戶,購買者
- 貨主可以將自己的商品上架
- 貨主可以設置通用分銷比例
- 貨主可以發展一級分銷商并設置分銷比例(通用分銷比例)
- 貨主可以設置商品的分銷比例(商品分銷比例)
- 分銷優先級 商品>通用
- 一級分銷商可以發展二級,二級分銷商可以發展三級,三級不可以發展分銷商
- 微信用戶轉發商品鏈接被其他用戶進入購買則發彩蛋給分享用戶
常見場景
- 貨主上架商品,設置商品性質為可分銷,設置該商品分銷比例
- 貨主發展一級分銷商,一級分銷商以商品維度綁定貨主
- 二級分銷商發展三級分銷商
- 貨主管理一級分銷商,一級分銷商管理二級分銷商,二級分銷商管理三級分銷商
主要流程
- 用戶購買商品并支付成功
- 發通知訂單支付成功
- 查詢訂單內的商品和數量
- 查詢各個商品的分銷規則,沒有商品分銷規則的則查詢通用分銷規則
- 查詢訂單的分銷者信息,確定分銷者的分銷級別
- 計算各級分銷者應得,生成分銷訂單
技術目標
- 分銷關系的存儲
- 水平可擴展
- 服務的單一性保證
- 非阻塞服務異步化
技術實現
01 表設計
分銷(邀請)關系表:存儲分銷者的關系(樹形關系)
分銷訂單表:記錄各個角色的分紅信息
通用分銷規則表:記錄分銷商設置的分銷規則
商品分銷規則表:記錄分銷商設置的商品分銷規則
以上表依賴:
用戶表,商品表
02 服務設計
依賴服務:
1.用戶服務 2.訂單服務 3.商品服務 4.錢包服務
這里詳細介紹用戶邀請邏輯關系的建立
注冊
獎勵的觸發:注冊和拿手完成活動
獎勵觸發涉及對賬戶和金額的操作,需要做到必達性,即獎勵活動的完成確認。
邀請關系的建立有一個麻煩的業務處理,需要在注冊的時就建立關系。
主要的注冊方法是異步處理,保證注冊成功并迅速完成。注冊時從頁面上帶有的邀請人id找到邀請人的用戶信息,然后建立關系。
但三級分銷是多層關系的,返款時不但需要找到邀請人,還要找到一級分銷。如果查找多個表單對產品性能影響很大。所以在每個人注冊時不但存儲邀請人和自己的邀請關系,同時要確定邀請人是否滿足一級分銷的條件,如果滿足,對這個一級分銷的所有子集都打一級分銷標簽。
03 數據庫設計
數據庫設計原則
1) 準確記錄賬戶基本信息,特別是狀態。
2) 交易時要正確記錄下交易信息和賬戶狀態。
3) 交易記錄是歷史性的,不可篡改。
4) 交易是連續的,對時間要求準確。
5) 交易記錄要完整,對安全性有要求。
主要數據表
1) 賬戶基本信息表
記錄賬戶的持有人姓名、聯絡方式、余額、有效期、密碼、流通范圍等。為了安全,該表還應該由賬戶、姓名、有效期和余額組成的檢驗串,防止有人惡意修改余額或賬號。
2) 交易記錄表
記錄每一筆交易信息,除了記錄交易賬戶、交易時間、交易金額、交易后余額和交易內容(充值或消費購物)外,還應該記錄下賬戶的其它基本信息,如賬戶持有人姓名、交易地點等。
交易記錄不建立使用太多的代碼表示特定意思,所有交易必須有數據完整性校驗,即一行記錄一旦生成后其校驗串也就固定了,防止有人惡意修改記錄。
3) 賬戶變更記錄表
由于賬戶基本信息是可變更的,基于交易系統的交易記錄的歷史性和檔案性,所以對賬戶基本信息的任何變更都必須有記錄,由什么變更為什么,一定要有記錄。
4) 操作日志明細表
所有的操作必須有詳細的日志記錄。
總結
以上是生活随笔為你收集整理的商品订单表怎么设计_三级分销系统系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一起用C#做个五子棋的小游戏 增加了程序
- 下一篇: XP与Ubuntu双系统的问题