kyle 2 years ago
parent
commit
90d8f6be51
1 changed files with 31 additions and 12 deletions
  1. 31
    12
      app/Http/Services/Web/Api2021Service.php

+ 31
- 12
app/Http/Services/Web/Api2021Service.php View File

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