|  | @@ -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 |          }
 |