1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace addons\shopro\channel;
- use addons\shopro\notification\Notification;
- use addons\shopro\facade\Wechat;
- class WechatOfficialAccount
- {
- public function __construct()
- {
- }
-
- public function send($notifiable, Notification $notification)
- {
- $data = [];
- if (method_exists($notification, 'toWechatOfficialAccount')) {
- $data = $notification->toWechatOfficialAccount($notifiable);
- if ($data && isset($data['openid']) && isset($data['template_id']) && $data['template_id']) {
- $data['touser'] = $data['openid'];
- unset($data['openid']);
- try {
-
- $result = Wechat::officialAccount()->template_message->send($data);
- if ($result['errcode'] != 0) {
-
- \think\Log::error('公众号模板消息发送失败:用户:' . $notifiable['id'] . ';类型:' . get_class($notification) . ";发送类型:" . $notification->event . ";错误信息:" . json_encode($result, JSON_UNESCAPED_UNICODE));
- } else {
-
- $notification->sendOk('WechatOfficialAccount');
- }
- } catch (\Exception $e) {
-
- format_log_error($e, 'WechatOfficialAccount_notification', '用户:' . $notifiable['id'] . ';类型:' . get_class($notification) . ";发送类型:" . $notification->event);
- }
- return true;
- }
-
- \think\Log::error('公众号模板消息发送失败,没有 openid:用户:' . $notifiable['id'] . ';类型:' . get_class($notification) . ";发送类型:" . $notification->event);
- }
- return true;
- }
- }
|