|
@@ -82,6 +82,7 @@ class Api2021Service
|
82
|
82
|
$this->receiptManagementDb = new Receipt();
|
83
|
83
|
$this->tplayerManagementDb = new TPlayer();
|
84
|
84
|
$this->troundManagementDb = new TRound();
|
|
85
|
+ $this->tsessionManagementDb = new TSession();
|
85
|
86
|
$this->tgoodManagementDb = new TGood();
|
86
|
87
|
$this->tcheckinManagementDb = new TCheckinGpAlloc();
|
87
|
88
|
$this->authLineUsersDb = new AuthLineUsers();
|
|
@@ -327,12 +328,9 @@ class Api2021Service
|
327
|
328
|
'cdate' => date("Y-m-d H:i:s"),
|
328
|
329
|
];
|
329
|
330
|
if ($from) $data['kk'] = $from; // 區分來源(紀錄的 log 表不同)
|
330
|
|
- // 經由計算取得的完整 request JSON
|
|
331
|
+
|
331
|
332
|
$data['memoIn'] = json_encode(array_merge($param, $logdata), JSON_UNESCAPED_UNICODE);
|
332
|
|
- // 調用 API 取得返回
|
333
|
333
|
$data['memoOut'] = $res;
|
334
|
|
-
|
335
|
|
- // 紀錄
|
336
|
334
|
$this->syslog($data);
|
337
|
335
|
|
338
|
336
|
// 返回值判斷
|
|
@@ -2814,6 +2812,7 @@ class Api2021Service
|
2814
|
2812
|
'totalQty', //
|
2815
|
2813
|
'issuedQty', //
|
2816
|
2814
|
])
|
|
2815
|
+ ->where('active', 'Y')
|
2817
|
2816
|
->get()
|
2818
|
2817
|
->toArray();
|
2819
|
2818
|
$tgoodArr = [];
|
|
@@ -2832,6 +2831,9 @@ class Api2021Service
|
2832
|
2831
|
$tgoodinfo['totalQty'] - $tgoodinfo['issuedQty'] <= $this->settingManagementSv->getSetting()['TMZ_ISSUE_BUFFER']
|
2833
|
2832
|
|| $tgoodinfo['active'] == GeneralConst::ACTIVE_NO
|
2834
|
2833
|
) {
|
|
2834
|
+ $this->debuglog('redeemTGood', [
|
|
2835
|
+ 'msg' => '所有銘謝惠顧的可能'
|
|
2836
|
+ ]);
|
2835
|
2837
|
return false;
|
2836
|
2838
|
}
|
2837
|
2839
|
// 銘謝惠顧獎項還是要扣除集點,所以不能返回錯誤,只是需要先控制不要進入直通
|
|
@@ -2916,6 +2918,7 @@ class Api2021Service
|
2916
|
2918
|
$data['memoIn'] = json_encode(array_merge($param, $logdata), JSON_UNESCAPED_UNICODE);
|
2917
|
2919
|
$data['memoOut'] = json_encode($resA, JSON_UNESCAPED_UNICODE);
|
2918
|
2920
|
$this->syslog($data);
|
|
2921
|
+
|
2919
|
2922
|
//
|
2920
|
2923
|
//
|
2921
|
2924
|
// 2/2 打點確認
|
|
@@ -2964,14 +2967,7 @@ class Api2021Service
|
2964
|
2967
|
];
|
2965
|
2968
|
if (env('CERT_PASS') != '') $curlparam[ CURLOPT_KEYPASSWD ] = env('CERT_PASS');
|
2966
|
2969
|
if (env('CERT_PASS') != '') $curlparam[ CURLOPT_CAINFO ] = env('LOCAL_PATH') . 'cert/' . env('APP_ENV') . '_ca.pem';
|
2967
|
|
- // 直通紀錄
|
2968
|
|
- $data = [
|
2969
|
|
- 'type' => GeneralConst::LOG_ESI,
|
2970
|
|
- 'func' => 'LinepointQuery',
|
2971
|
|
- 'k' => $uid,
|
2972
|
|
- 'kk' => 'tmz',
|
2973
|
|
- 'cdate' => date("Y-m-d H:i:s"),
|
2974
|
|
- ];
|
|
2970
|
+
|
2975
|
2971
|
// 調用
|
2976
|
2972
|
$req = [
|
2977
|
2973
|
'curl' => $curlparam,
|
|
@@ -2982,12 +2978,24 @@ class Api2021Service
|
2982
|
2978
|
'Accept' => '*/*',
|
2983
|
2979
|
]
|
2984
|
2980
|
];
|
|
2981
|
+
|
2985
|
2982
|
if (!in_array($_SERVER['SERVER_ADDR'], ['172.31.30.167', '172.31.9.233', '172.31.42.197', '172.31.34.163'])) $req['proxy'] = env('CCH_PROXY');
|
|
2983
|
+
|
2986
|
2984
|
$response = $this->c->request('POST', env('API_BASE') . '/line/api/twpapi/linepoint/query', $req);
|
2987
|
2985
|
$resB = json_decode($response->getBody());
|
|
2986
|
+
|
|
2987
|
+ // 直通紀錄
|
|
2988
|
+ $data = [
|
|
2989
|
+ 'type' => GeneralConst::LOG_ESI,
|
|
2990
|
+ 'func' => 'LinepointQuery',
|
|
2991
|
+ 'k' => $uid,
|
|
2992
|
+ 'kk' => 'tmz',
|
|
2993
|
+ 'cdate' => date("Y-m-d H:i:s"),
|
|
2994
|
+ ];
|
2988
|
2995
|
$data['memoIn'] = json_encode(array_merge($param, $logdata), JSON_UNESCAPED_UNICODE);
|
2989
|
2996
|
$data['memoOut'] = json_encode($resB, JSON_UNESCAPED_UNICODE);
|
2990
|
2997
|
$this->syslog($data);
|
|
2998
|
+
|
2991
|
2999
|
// 打點返回成功,需要確認
|
2992
|
3000
|
// 確認成功,對用戶返回已打點的資訊,也計入資料庫
|
2993
|
3001
|
// 確認失敗,對用戶返回已打點的資訊,也計入資料庫(差別只在於 LOG 註記的內容不同)
|
|
@@ -2995,6 +3003,9 @@ class Api2021Service
|
2995
|
3003
|
// 確認成功,對用戶返回已打點的資訊,也計入資料庫(差別也只在於 LOG 註記的內容不同)
|
2996
|
3004
|
// 確認失敗,報錯
|
2997
|
3005
|
if ($resA->RCode != '0000' && $resB->RCode != '0000') {
|
|
3006
|
+ $this->debuglog('redeemTGood', [
|
|
3007
|
+ 'msg' => '打點返回失敗,需要確認'
|
|
3008
|
+ ]);
|
2998
|
3009
|
return false;
|
2999
|
3010
|
}
|
3000
|
3011
|
}
|
|
@@ -3037,6 +3048,16 @@ class Api2021Service
|
3037
|
3048
|
$data['memoIn'] = json_encode(['error' => 'exception'], JSON_UNESCAPED_UNICODE);
|
3038
|
3049
|
$data['memoOut'] = json_encode(['code' => $ex->getCode(), 'msg' => $ex->getMessage()], JSON_UNESCAPED_UNICODE);
|
3039
|
3050
|
$this->syslog($data);
|
|
3051
|
+
|
|
3052
|
+ $this->debuglog('redeemTGood', [
|
|
3053
|
+ 'rqidA' => $rqidA ?? 0,
|
|
3054
|
+ 'rqidB' => $rqidB ?? 0
|
|
3055
|
+ ], [
|
|
3056
|
+ 'errCode' => $ex->getCode(),
|
|
3057
|
+ 'requestTime' => $requestTime ?? '',
|
|
3058
|
+ 'logTime' => date("Y-m-d H:i:s"),
|
|
3059
|
+ 'errMsg' => $ex->getMessage(),
|
|
3060
|
+ ]);
|
3040
|
3061
|
|
3041
|
3062
|
return false;
|
3042
|
3063
|
}
|