Subscribe.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CatchAdmin [Just Like ~ ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
  8. // +----------------------------------------------------------------------
  9. // | Author: JaguarJack [ njphper@gmail.com ]
  10. // +----------------------------------------------------------------------
  11. namespace catchAdmin\wechat\library\messages\events;
  12. use catchAdmin\wechat\library\messages\Message;
  13. use catchAdmin\wechat\model\WechatUsers;
  14. use catcher\library\WeChat;
  15. /**
  16. * 订阅事件
  17. *
  18. * Class Subscribe
  19. * @package catchAdmin\wechat\library\messages\events
  20. */
  21. class Subscribe extends Message
  22. {
  23. public function reply()
  24. {
  25. // TODO: Implement reply() method.
  26. $wechatUser = WechatUsers::onlyTrashed()->where('openid', $this->fromUserName())->find();
  27. if ($wechatUser) {
  28. return $wechatUser->restore();
  29. }
  30. $user = WeChat::officialAccount()->user->get($this->fromUserName());
  31. $user['avatar'] = $user['headimgurl'];
  32. $user['unionid'] = $user['unionid'] ?? '';
  33. $user['created_at'] = time();
  34. $user['updated_at'] = time();
  35. if (!empty($user['tagid_list'])) {
  36. $user['tagid_list'] = trim(implode(',', $user['tagid_list']), ',');
  37. }
  38. unset($user['headimgurl'], $user['qr_scene'], $user['qr_scene_str']);
  39. if (app(WechatUsers::class)->storeBy($user)) {
  40. return '谢谢你的关注';
  41. }
  42. return false;
  43. }
  44. }