---
# System prepended metadata

title: Points Rule點數邏輯
tags: [Rules]

---

---
tags: Rules
---
# Points Rule點數邏輯

<h3 style="color: green">
Table: [點數欄位＆狀態] <br /> 

- Users
1. status(會員狀態), 
2. m_points(每個月的淨點數),  => 需修正
=> 給為每個月的目標點數
3. points(累積至今的點數)
</h3>

## 會員狀態(User Status)：
0. NonActive(自行註冊)：尚未開通
1. Init(新會員): 起初預設點數100點，點數採累積制，第一個月底不扣點但可以賺點
2. Normal(正常): 第二個月開始正式跑規則+-點
3. Frozen(凍結): < 50點 系統凍結帳號
4. InDept(負債): 解凍後重新激活的狀態 => 需要-60點


5. InDeptTwo (負債第二個月): 負債第二個月 -> 月底還光=> Normal (2), 環不完 => Lock (6)
-> 8/1新增，與Init區別

6. Lock(長時間凍結)：負債後債還不完 => 再次凍結
7. OnLeave(請假)：請假中 => 請假中無法參加
8. Block(封鎖)：惡意用戶、拒絕往來戶


<h3 style="color: green">
Table: <br />
1. [錄音檔相關] => Recordings <br />
2. [選課相關] <br />
classes=> 只要有開discussion就會有row <br />
classes_joins => 只要有開discussion就會有row，N個人參加就會有N筆

</h3>


<h3> I. 點數<span style="color:blue">增加+ </span></h3>

#### 討論前

1-1. on time之前上傳音檔 + 1 
```html
on time指的是特定時間，e.g.現行版(ME)為22:00(for 隔天早上Session) 與 18:00(for 當天Session)
新版訂為12:00與00:00
```

#### 討論中
1. Join + 5
```
有參與並進入Skype討論
```
2. Host + 10
```
有主持
```
 

3. Assist Host + 5 
<h4 style="color: #8b0000"> Pending 1: 是否改成+2.5?</h4>
```  
由於參加人數過多，需要指定另一位主持人。
人數 > 5人會拆組： e.g. 6人: 3 vs 3
當初有討論避免複雜，助理主持人跟一般的主持人一樣10點(Join 5 + Assist Host +5) 一共10點
但當初的利基點在於開發較方便。
```

<h3> I. 點數<span style="color:red">減少- </span></h3>


### A. Routine
1-1. 月結 -50 
```
緣由=>最低標準：預設每個月參加10場(5*10 = 50)
```
### B. Punishment
<h5 style="color:#22A9E0">討論前</h5>

2-1. 未上傳錄音檔 -5 


<h5 style="color:#22A9E0">討論中</h5>

2-2. Late 10mins +： -10 (Total -5)

```
Total -5 =>參加(+5) + 遲到(-10) 
時間：依照點擊Skype連結的時間而定
特殊狀況：網路不穩或各種因素導致重新點擊 => 須由使用者自己確認點數是否正確
```

2-2. No Show: -10 (Total -5)

2-3. Early Leave  -5 (Total 0)
```
無特殊理由早退且無告知，由主持人討論後回報中離成員
```

### UserCase
#### A.新入會
JW 3/20 成為LangIsland會員
default: 100P
 
- 上傳錄音+-點
![](https://i.imgur.com/ahyhHks.png)
```js
JW 有預訂3/22 7:00AM的討論
=> JW在3/23 00:00(3/22 24:00) 前上傳 => +1點
=> Total: 100 + 1 = 101P

(若JW 晚於3/23 00:00上傳，但在討論開始(7:00AM)前上傳=> +0 )
(討論表定時間開始後=> 無法上傳[沒上傳 -5] )


```

- 參加完後

```
準時(正常參加)狀況下：+5
JW 點數 101 + 5 = 106
```

- 月底3/31
直到三月底不扣50點（第一個月讓使用者適應，不月結）


4/1開始依照上面的點數邏輯run

月底月結-50

<hr />

#### B. 點數不足狀況
JW 到了6/29 點數只剩70點（由於太忙都沒參加）

到了6/30 24:00 月結
=> Total 20點

此時從7/1開始JW的帳號會被第一次凍結，(正常=>凍結) UserStatus(2->3)

7/1 JW登入時會跳出提示框，"You account was frozen due to points are NOT ENOUGH"。「畫面有個解凍按鈕」

##### 解凍
此時JW想要解凍，點擊解凍(-60點)
Total: -40P (20-60)

此時使用者狀態 由凍結變為負債狀態(3->4)

7月仍然run規則加扣點，但月底不扣點

整個7月JW得到50點
Total: 10 (-40 +50)

7/31 UserStatus (4->1)負債狀態->新會員 
<div style="color: red">
!! 這邊需要討論是否多開一個狀態來與新會員區隔
</div>


8月開始新會員(1)
八月JW得了 40點
Total: 50 (10 + 40)
到8/31，由於是新會員，不扣點

9月開始返回正常會員(1->2)

9月份：
初始：50P
到9月底前
1. 若JW 賺了50P
=> 月底Total:50 (50(init) + 50(earn) - 50(monthly Clear))
此時JW總共有50點(未小於50點)=> 仍是正常帳號

2. 若JW 賺了40P
=> 月底Total 40 (50(init) + 40(earn) - 50(monthly Clear))
此時JW點數小於50點，帳號被凍結(2->3)
<div style="color: red">
!! 這邊需要討論是否多開一個狀態來與第一次凍結區隔 => 目的為了課金(Buy me a coffee)
</div>



<hr />



## PS:
1. 假如Host因各種因素沒有出現=> 需有人直接開啟會議。該開啟會議的人是否算點數？！
2. 主持人No Show是否需要更重的罰則？！



## MKT1.0後確認
###  參加重量級人物演講付點數