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