---
# System prepended metadata

title: RC + W線 + H1

---

RC + W線 + H1
============

[TOC]

## RCMS Figma 設計稿參考
[首頁](https://reurl.cc/0X8Yml)
[蓋版廣告](https://reurl.cc/KQnVge)
[手機選單](https://reurl.cc/eO4jaW)
[電子遊戲](https://reurl.cc/qNjMbN)
[會員登入](https://reurl.cc/kEjGGK)
[會員註冊](https://reurl.cc/0X8Vg9)
[會員中心總覽](https://reurl.cc/kEK6l3)
[存款-自動上分](https://reurl.cc/eOKrDQ)
[存款-bank qr-code](https://reurl.cc/1mN9Gm)
[存款紀錄](https://reurl.cc/zNnV6a)
[提款](https://reurl.cc/2mRnzr)
[會員等級](https://reurl.cc/jGKAWp)
[個人資料](https://reurl.cc/YXKxq0)
[修改密碼](https://reurl.cc/NRKWbp)


## 系統架構

以舊皇為核心，整合異質技術子系統`.NET` + `PHP` + `Java` + `NodeJS` ...互相以API聯繫擴充，構成系統的子系統群。


```mermaid
erDiagram

H1 ||--|| External : ext
H1 ||--|| Internal : int
External ||--o{ Finance : external
External ||--|{ Campaign : external
Internal ||--|{ Member : internal
Internal ||--|{ Report : internal
Internal ||--|{ GameProvider : internal

H1 {
  subsys Hierarchy
  subsys Member
  subsys GameProvider
  api Campaign
  api Finance
}
Member {
  member Player
  member Agent
  member Affiliate
}
Campaign {
  subsys Rolling
  subsys Campaign
}
Finance{
  api Deposit
  api Withdraw
}
Report{
  service Finance
  service Winlose
  service Commission
}
GameProvider{
  service W1
  service RG

}
```


資料結構 (未完成)
```mermaid
erDiagram

campaign_member }o--|| member: relative
campaign_base ||--|| campaign_detail : composite
rolling ||--|| deposit : use
campaign_base {
  uuid   id
  string name
  int    type
  int    pointJoin
  int    point
  date   dateBegin
  date   dateEnd
}

campaign_preset {
  uuid   id
  string name
}

campaign_detail {
  uuid   id_campaign
  string field
  string value
}

campaign_member {
  uuid id_campaign
  string id_member
  string agentID
}
```


## 活動流程

前提
活動種類分為先贈分、後贈分
不能同時參加活動，減少套利風險。

規則
1. 流水型
    > 活動期間的流水達到門檻為通過
2. 過招型
    > 活動餘額達到門檻即為通過


主動參舉型
被動參與型
> 充值 n 倍碼量

後贈分用途為: 
> 1. 舊帶新，推薦人需達成 n位下線達成門檻後才贈
> 2. 抽獎券
> 3. 隔日贈 (返水、隔日 隔週 隔月)
    > api 要加贈金類 不用算rolling，舊帶新類
> 4. 龍虎榜 (日榜 週榜(7個日榜最高) 月榜(日冠次數最多，必滿28天，平手平分獎金)) H1可能因匯總帳無法抓出最高分
> 5. 累積贏分榜

先贈分用途為: 
> 1. 註冊贈
> 2. 首儲贈
> 3. 全平台、特定種類、特定遊戲的流水、贏分、輸分

通過門檻:
>   1. 活動點數(報名點 + 活動點)歸零
>   2. 達成指定目標

重點事項
會員儲值被動參加充值過流水 
1. 會員能參加幾次，有上限，無上限 (例，一天參加一次 最多參加五次)
2. 參加前需要綁卡選項
3. 可下分上限 (玩家要出資的 建議不設上限，玩家沒出資的 建議設上限)
4. 參加流程，提示本金、贈金、通過條件
5. 儲n送m，老帶新、限遊戲(電子)
6. 登記制或查詢制都可做到，查詢制要加限制避免被衝爆(ex: 回覆30min內有變化的會員)





### 活動參加流程

```mermaid
sequenceDiagram

actor pl as 會員
participant h1 as 官網
participant cpf as 活動前台
participant cp as 活動API

pl->>+h1 : 進入活動頁面
h1->>cp : 取得活動列表跳轉連結
cp-->>h1 : 返回活動連結 包含JWT
h1-->>pl : 跳轉嵌入頁面

alt 瀏覽活動列表
pl->>cpf : 瀏覽活動列表
cpf->>+cp : 檢查參加資格
cp->>+h1 : 查詢參加資格需要的資料
h1-->>-cp : 返回參考資料
cp-->>-cpf : 返回活動列表
cpf-->>pl : 顯示活動列表
end

alt 參加活動
pl->>cpf : 選定參加活動
cpf->>cp : 登記活動
cp-->>cpf : resp
cpf-->>pl : resp

cp->>h1 : 活動優惠上分
end

```

### 站長設定活動

```mermaid
sequenceDiagram
actor ag as 代理
participant h1 as 代理後台
participant cpb as 活動後台
participant cp as 活動API

ag ->> h1 : 進入活動管理系統
h1 ->> cp : 取得管理系統跳轉連結
cp -->> h1 : 返回活動管理系統連結 包含JWT
h1 -->> ag : 跳轉活動管理系統
ag ->> cpb : 跳轉
```

### 更新流程

* 查詢型
```mermaid
sequenceDiagram

participant h1 as 官網
participant cp as 活動

cp ->> h1 : 詢問會員活動必要資料
h1 -->>+ cp : 返回資料
cp ->>- cp : 更新狀態

```

* 登記型
```mermaid
sequenceDiagram

actor pl as 會員
participant h1 as 官網
participant gs as 遊戲
participant cp as 活動

pl->>h1 : 進入遊戲
pl->>gs : 下單
pl->>h1 : 離開遊戲
h1->>gs : 拉注單排程
gs-->>h1 : resp
h1->>cp : 登記流水贏分輸分充值
note over h1, cp: {memberID, reportDatetime,<br/> turnovers: [{gameID, turnover}, ...],<br/> winnings: [{gameType, gameID, win}, ...],<br/> loses: [{gameID, lose}, ...]}
cp-->>h1 : 通過/未通過

```

### 充值流程
```mermaid
sequenceDiagram

participant fp as 代收系統
actor pl as 會員
participant h1 as 官網
participant h1s as Server

pl ->> h1 : 使用充值功能
h1 -->> pl : 渠道選擇頁面
alt 人工處理
pl ->> h1 : 選擇人工處理
h1 -->> pl : 回應匯款資訊
pl ->> h1 : 提交資訊
else 代收系統
pl ->> h1 : 選擇代收系統
h1 -->> pl : 跳轉地址
alt 支付流程
pl ->> fp : 跳轉處理
fp ->> h1s : 成功回調
end
end
h1s ->>+ h1s : 開立洗碼單
h1s ->>- h1s : 會員上分


```

### 提款流程
```mermaid
sequenceDiagram

actor pl as 會員
participant h1 as 官網
participant cp as 活動
participant h1b as 後台
actor ag as 代理/客服/會計/Robot
participant nb as 網銀

pl ->> h1 : 提款
h1 ->> cp : 查詢活動保留點數
cp -->> h1 : 保留點數
h1 -->> pl : 可提款餘額
pl ->> h1 : 提交提款單
h1 ->> h1b : 提示提款單請求
h1 -->> pl : 提交成功等待審核
alt 客服作業
ag ->> h1b : 客服審核(處理中)
end
alt 會計作業
ag ->> h1b : 會計處理
ag ->> nb : 轉帳
ag ->> h1b : 設置為完成
end
```


## API

從舊皇發生的視角


### 進入 Incoming

#### /api/campaign/records/:playerID/:begin
從`begin`起始時間，取得`PlayerID`資料，匯總有效壓分、匯總贏分、匯總輸分、匯總充值

#### /api/:provider/rewards
參與活動時贈金回調
Method: **POST**
Header: **content-type: application/json**
Request:
```json
{
    payload: {
        "@state",
        state: 0,
        out_trade_no: "AA6BF5D0-FD4B-4E78-A2E4-6DA712C4A692", // 交易代號
        trade_no: "3E5C3FFA-146D-4660-A601-7B265256175A", // 支付系統服務單據號
        ts: 1657497660000,  // 交易時間戳(ms)
        amount: 500, // 金額 正數為充值 負數為提取
        request_amount: 500,
        ip: "123.45.67.89" // 使用者 IP
    },
    signature: "7807f21c7bae619bca329d9944900458"
}
```


### 外出 Outcoming

#### /passports/agent
取得跳轉到活動管理界面的連結或api使用的token
```json
{
    payload: {
        agent_id: "20CCA0D9-5C45-45AA-A6AD-4EEB89B97079",
        agent_name: "Agent name",
        lang: "th-TH",
        ts: 1657497660000
    },
    signature: "80752c3932f430102b14dfb7d9a4eb5e"
}
```

#### /passports/player
取得玩家用的token, `agentID` `playerID`
```json
{
    payload: {
        agent_id: "0CCA0D9-5C45-45AA-A6AD-4EEB89B97079",
        agent_name: "Agent name",
        user_id: "014A5FE4-ED31-4020-A929-51FE9D4EFAD6",
        user_name: "User name",
        out_trade_no: "AA6BF5D0-FD4B-4E78-A2E4-6DA712C4A692",
        callback_url: "https://api.myhost.com/api/WireTransferRespond/<provider>",
        lang: "th-TH",
        ts: 1657497660000
    },
    signature: "77521395828ff826401214ebf98c1161"
}
```

#### /campaigns/
取得`agentId`底下的活動列表，並附帶`playerId`的參與狀況與進度 
相關資訊由jwt提供

#### /campaigns/:ID
參加活動，系統對當前jwt的會員生成一筆對這個活動的參加記錄
需帶入資料 `agentId` `playerId` `rewardUrl` 

#### /records
由平台主動登錄玩家記錄，含`有效投注` `總贏分` `總輸分`


## 工作項目拆分
[RP參考-前台電腦版](https://jdnw26.axshare.com/#g=1&p=首頁-登入) passcode `888888`
[前台手機版規格書](https://3co1ae.axshare.com/#id=1shspy&p=gclub168______)-221021已更新切版
[後台功能及欄位](https://docs.google.com/spreadsheets/d/1zr4tROS17dELucLuUIXJ8JHKu5AuzLUO/edit?usp=sharing&ouid=112175747966691058868&rtpof=true&sd=true)
[示範站開發前台網址](https://www.royalplay88.com/)
[示範站開發後台網址]() 代理帳號: 代理密碼:


1. 會員官網 15d.
   1. Ann 會員註冊功能及註冊頁面(帳號、密碼、電話、推薦人、驗證碼…)
   2. Ann DB擴充資料 
       1. 會員資料
       2. 會員銀行卡資料
       3. 充提申請列表(提款把current移至提款資料) 
       4. 銀行選項[列表](#銀行列表)
   3. Ann 會員中心
       1. 顯示個人資料
       2. 修改密碼(舊密碼、新密碼、確認新密碼)
       3. 銀行中心分頁
       4. 會員提取設定頁面(提取密碼…)
2. 活動系統串接			
   1. Yulin 開發 RG 活動系統外接API 10d.
       1. 近期存款單查詢
       2. 存款單套用活動id設定
   2. H1: Lawrence RG: Yulin 活動列表介接 4d.
   3. H1: Lawrence RG: Yulin 活動記錄介接 4d.
   4. H1: Lawrence RG: Yulin 活動領取記錄 4d.
   5. H1: Lawrence RG: Yulin 跳轉活動管理系統 4d. 
   6. H1: 回調接口
       1. Corey 存款單(登記活動，查詢可用存款單)
       2. Corey 存款洗碼模組
       3. 
3. 會員存提功能			
   1. Ann 會員官網		
      1. 提取用會員資料表單 
      2. 提取表單(行別、行號、戶名、額度顯示)
          1. 檢查可提款額度，
          2. 顯示目前關聯活動與進度
      3. 存款表單
      4. 銀行中心
          1. 綁卡頁面(目前預設綁1張，需預留可綁多張的功能)
   2. Daniel, StevenH 管理後台
      1. 子帳號類型(客服、財務)
      2. 會員管理
          1. 搜尋功能、資料顯示、密碼管理功能、編輯功能
      3. 會員銀行卡管理
          1. 搜尋功能、資料顯示、操作功能
      4. 金流管理分頁
          1. 前往自動金流系統
          2. 銀行卡管理
              1. 搜尋功能
              2. 新增卡片
              3. 卡片列表
              4. 修改卡片
              5. 額度停用判斷
              6. 解鎖功能
          3. 金流平台設定
              1. 搜尋功能
              2. 新增通道功能
              3. 通道列表
              4. 修改功能
              5. 上下架功能
          4. 存款審核(人工)、自動存款
              1. 搜尋功能
              2. 新增存款單功能
              3. 存款單申請列表
              4. 存款審核編輯功能
              5. 自動存款不過審核
          5. 提款審核(人工)、自動提款
              1. 搜尋功能
              2. 新增提款單功能
              3. 提款單申請列表
              4. 提款單審核編輯功能
              5. 自動提款需過審核，審核完畢觸發代付進行出款
          6. 充值提取申請通知
          7. 登入頁面調整成直接登入，不選0123
          8. 權限群組功能
4. 遊戲介接	10d.		
   1. BK RG遊戲包基礎介接		
   2. BK Myron RG遊戲配置([遊戲商列表](#遊戲商列表))
   3. BK Myron RG遊戲開放設置


### 甘特

```mermaid
gantt
dateFormat  YYYY-MM-DD
title H1示範站
excludes weekends weekdays 2022-10-10 

section 里程碑

dm : crit, milestone, 2022-10-31, 0d

section 會員官網
sp            :milestone,    des1, 2022-10-06, 0d
# Completed task            :done,    des1, 2022-10-06,2022-10-08
# Active task               :active,  des2, 2022-10-09, 3d
# Future task               :         des3, after des2, 5d
# Future task2               :         des4, after des3, 5d
會員官網 : Ann, 2022-10-17, 15d
DB擴充資料 : Ann, 5d
會員中心 : Woody, 4d
註冊: after Ann, 2d
銀行中心 : after Woody, 2d
活動中心 : 2d


section 活動系統
活動系統串接H1 : Lawrence Corey, 2022-10-17, 20d
活動列表介接 : Law, 4d

活動系統串接RG : Yulin Corey, 2022-10-17, 20d

section 存提功能
會員存提功能 : Ann, 2022-10-17, 10d
接入第二供應商 : Lawrence, 2022-10-24, 8d

section RG遊戲接入
遊戲介接 : Bokai Myron, 2022-10-17, 10d

```

## 附錄
### 銀行列表

| 1 | 2 | 3 | 4 | 5 
|----: |----: |----: |----: |----:
| ANZ | BA | BAAC | BAY | BBL
| BNPP | BOC | CIMBT | CITI | DEUTSHE
| GHB | GSB | HSBC | ICBC | IOBA
| ISBT | KBANK | KKP | KTB | LH BANK
| MEGA ICBC | MHBK | SCB | SCBT | SMBC
| TCRB | TISCO | TMB | UOBT | 

### 遊戲商列表

| 1 | 2 | 3 | 4 | 5 
|----: |----: |----: |----: |----:
| AUG| BBIN| BOONGO| CQ9| FG
| ICG| JILI| JOKER| MGPLUS| MP
| PNG| RICH88

### 提供大廳的廠商

| 1 | 2 | 3 | 4 | 5 
|----: |----: |----: |----: |----:
| BOOONGO | CQ9 | ICG | JILI | MP
| RICH88

### 再確認事項

1. Alan 代收系統功能應用範圍，W線先用，後續再開放全線使用

