| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace common\components;
- use Yii;
- use Shishaoqi\MeituanFlashPurchase\Application;
- /**
- * 美团工具箱
- */
- class mtUtil
- {
- public static function getAccessToken($ext)
- {
- $shopId = $ext->shopId ?? '';
- $mtAccessTokenExpire = $ext->mtAccessTokenExpire ?? '';
- $date = date("Y-m-d H:i:s");
- $mtAccessToken = $ext->mtAccessToken ?? '';
- if ($mtAccessTokenExpire > $date) {
- return $mtAccessToken;
- }
- $mtRefreshTokenExpire = $ext->mtRefreshTokenExpire ?? '';
- if ($date > $mtRefreshTokenExpire) {
- noticeUtil::push("门店:{$shopId} 的美团refresh_access_token已经失效,已无法获取access_token,请重点关注", '15280215347');
- }
- $mtRefreshToken = $ext->mtRefreshToken ?? '';
- $config = dict::getDict('mtConfig');
- $app = new Application($config);
- $appId = $config['app_id'] ?? '';
- $return = $app->token->refreshToken($appId, $mtRefreshToken);
- Yii::info('美团refresh_access_token刷新access_token,refreshToken:' . $mtRefreshToken . ',数据:' . $return);
- $ret = json_decode($return, true);
- if (isset($ret['status']) == false || $ret['status'] != 0) {
- noticeUtil::push("门店:{$shopId} 的美团refresh_access_token刷新access_token失败,接口返回数据错误,请重点关注", '15280215347');
- return '';
- }
- $accessToken = $ret['access_token'] ?? '';
- if (empty($accessToken)) {
- noticeUtil::push("门店:{$shopId} 的美团refresh_access_token刷新access_token失败,未获取access_token,请重点关注", '15280215347');
- return '';
- }
- $refreshToken = $ret['refresh_token'] ?? '';
- if (empty($refreshToken)) {
- noticeUtil::push("门店:{$shopId} 的美团refresh_access_token刷新access_token失败,未获取refresh_token,请重点关注", '15280215347');
- return '';
- }
- $expiresIn = $ret['expires_in'] ?? 0;
- $refreshExpiresIn = $ret['re_expires_in'] ?? 0;
- $ext->mtAppPoiCode = $shopId;
- $ext->mtAccessToken = $accessToken;
- $ext->mtAccessTokenExpire = date("Y-m-d H:i:s", (time() + $expiresIn));
- $ext->mtRefreshToken = $refreshToken;
- $ext->mtRefreshTokenExpire = date("Y-m-d H:i:s", (time() + $refreshExpiresIn));
- $ext->save();
- return $accessToken;
- }
- }
|