## 5/22教材問題處理
## 1.顧問登入
https://event.clue.com.tw/Teacher/?_index_0.RLIx
## 2.進入Dally schedule
## 3.點擊時間表上
Client: ""Match按鈕"" click me to match material
## 4.進入 _getClassData API 撈取資料
https://event.clue.com.tw/Teacher/?_getClassData.RLTl&run_page=1
legacy-tp-php\192.168.1.66\API\Teacher\getClassData.php
## 4-1.條件參數 : $aJWT['a'] == "GETSTUDENTTEST2"
### 會依序比對以下資料表
```
client_trial 會員升級事件紀錄表
status=4為Obs,6為Trial,8為升級完成
session_appointment 學生上課預約紀錄(無顧問)
client_basic 會員基礎表
client_servicerec 會員合約等級表
cfg_event 課程類型表
session_rec1 顧問歷史上課紀錄
session_rec2 學生歷史上課紀錄
```
特定條件案例(Lucy)處理,行數 : 1363
API最後return 資料:
```
$aData['aRecSn'] = $aRecSn;
$aData['aRemind'] = $aRemind;
$aData['aFullMaterial'] = $aFullMaterial;
$aData['aCheckMaterial'] = $aCheckMaterial;
$aData['aMaterial'] = $aMaterial;
$aData['aStudent'] = $aClient;
$aData['sAllUids'] = $sAllUids;
$aData['aJWT'] = $aJWT;
$aData['a3MonthFullMaterial'] = $a3MonthFullMaterial;
$aData['nSpecial'] = $nSpecial;
$aData['nLow'] = $nLow;
$aReturn['aData'] = $aData;
$aReturn['nStatus'] = 1;
```
## 5.點擊時間表上,Material Bank: "MORE按鈕"
## 6.進入_teacher_schedule_today_0_act0 API,撈取資料比對 (教材標記紅字、綠字)
會將_getClassData資料帶入,比對今日課程、可用教材、老師資料
https://event.clue.com.tw/Teacher/?_teacher_schedule_today_0_act0.RLTs&run_page=1
6-1.這段開始 _teacher_schedule_today_0_act0 API
if ($aJWT['a'] == 'GETMATERIAL')
6-2.猜測抓取非顧問個人教材,這段開始
if($nIfPersonal === 1)
6-3.公用教材抓取
```
$sSQL = 'SELECT nId,
nRid,
nFid,
nCid,
sTopic,
sName0,
nAuthor,
sType0,
nCreateTime
FROM CLIENT_MATERIAL
WHERE nType1 = 0
AND nRid IN (SELECT nId FROM CLIENT_MATERIAL_RANK WHERE nSn = :nLevelFromCfglevel)
AND nStatus = 1
AND nOnline = 1
ORDER BY nRid ASC';
```
6-4.資料while迴圈內,做字串處理
```
$aData[$aRows['nId']] = $aRows;
$aData[$aRows['nId']]['sNameClass'] = '';
$aData[$aRows['nId']]['nBlock'] = 0;
$LPaName = explode('_',$aRows['sName0']);
if(count($LPaName) > 4)
{
$sNameCut = $LPaName[4];
$LPaName = explode(',',$sNameCut);
$LPsOnlyName = $LPaName[0];
$aData[$aRows['nId']]['sNameCut'] = $LPaName[0];
for($i=1;$i<=3;$i++)
{
if(empty($LPaName[$i])) break;
$aData[$aRows['nId']]['sNameCut'] .= ','.$LPaName[$i];
}
}
else
{
$LPsOnlyName = $aRows['sName0'];
$aData[$aRows['nId']]['sNameCut'] = $aRows['sName0'];
}
```
6-5.這些資料帶出,與getClassData API,運算的json資料比對,這兩個物件
sMaterials
s3MonthMaterials
再標記為紅字教材
6-6.再將以上資料與TEACHER_DATA資料整理,response