1. 程式人生 > >無限級分銷系統資料庫表設計

無限級分銷系統資料庫表設計

 

 這次分享的內容很簡單,就是一張表的設計思路。

一、背景

在做交易所的時候有個需求,需要統計邀請註冊人數,比如 A邀請B, B邀請C, C邀請D。那麼A的邀請人數就是3個,B的邀請人數就是2個,C的邀請人數就是1個。除此之外,還要能統計出A直接邀請人數,A下一級邀請人數,A下二級邀請的人數,以此類推。

二、實現

首先是使用者註冊資訊表UserInfo需要增加一個ParentId欄位。

然後,新建一張層級關係表TeamLevel,表結構如下:

CREATE TABLE `teamlevel` (
  `Id` bigint(20) NOT NULL,
  `UserId` varchar(50) DEFAULT NULL COMMENT '使用者Id',
  `ParentId` varchar(50) DEFAULT NULL COMMENT '推薦人Id',
  `Level` int(10) DEFAULT NULL COMMENT '層級',
  PRIMARY KEY (`Id`)
)

1.在註冊的時候需要往這張表插入資料,比如D推薦E來註冊,就需要往庫裡插入如下記錄:

2.有了這些記錄之後,查詢統計就方便多了,使用者的層級關係也一目瞭然。