MtController.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace pt\controllers;
  3. use biz\shop\classes\ShopExtClass;
  4. use common\components\dict;
  5. use common\components\mtUtil;
  6. use common\components\util;
  7. use Shishaoqi\MeituanFlashPurchase\Application;
  8. use Yii;
  9. class MtController extends BaseController
  10. {
  11. public $guestAccess = ['bind', 'refresh'];
  12. public function actionBind()
  13. {
  14. $shopId = Yii::$app->request->get('id');
  15. $ext = ShopExtClass::getByCondition(['shopId' => $shopId], true);
  16. if (empty($ext)) {
  17. util::fail('没有找到门店相信息41');
  18. }
  19. $config = dict::getDict('mtConfig');
  20. $app = new Application($config);
  21. $appId = $config['app_id'] ?? '';
  22. $respond = $app->token->getAuthorizeCode($appId, $shopId);
  23. $result = json_decode($respond, true);
  24. if (isset($result['code']) == false || empty($result['code'])) {
  25. util::fail('没有获取到门店的授权码');
  26. }
  27. $code = $result['code'] ?? '';
  28. $return = $app->token->getAccessToken($appId, $code);
  29. $ret = json_decode($return, true);
  30. if (isset($ret['status']) == false || $ret['status'] != 0) {
  31. util::fail('获取access_token失败');
  32. }
  33. $accessToken = $ret['access_token'] ?? '';
  34. if (empty($accessToken)) {
  35. util::fail('access_token为空');
  36. }
  37. $refreshToken = $ret['refresh_token'] ?? '';
  38. if (empty($refreshToken)) {
  39. util::fail('refresh_token为空');
  40. }
  41. $expiresIn = $ret['expires_in'] ?? 0;
  42. $refreshExpiresIn = $ret['re_expires_in'] ?? 0;
  43. $ext->mtAppPoiCode = $shopId;
  44. $ext->mtAccessToken = $accessToken;
  45. $ext->mtAccessTokenExpire = date("Y-m-d H:i:s", (time() + $expiresIn));
  46. $ext->mtRefreshToken = $refreshToken;
  47. $ext->mtRefreshTokenExpire = date("Y-m-d H:i:s", (time() + $refreshExpiresIn));
  48. $ext->save();
  49. echo "<pre>";
  50. print_r($ret);
  51. }
  52. //刷新
  53. public function actionRefresh()
  54. {
  55. $shopId = Yii::$app->request->get('id');
  56. $shopExt = ShopExtClass::getByCondition(['shopId' => $shopId], true);
  57. if (empty($shopExt)) {
  58. util::fail('没有找到门店相信息42');
  59. }
  60. $accessToken = mtUtil::getAccessToken($shopExt);
  61. echo $accessToken;
  62. }
  63. }