MtController.php 1.9 KB

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