Ver código fonte

微信公众号关注事件

whitefang 1 ano atrás
pai
commit
4d0f8f34eb
1 arquivos alterados com 14 adições e 12 exclusões
  1. 14 12
      app/adminapi/logic/channel/OfficialAccountReplyLogic.php

+ 14 - 12
app/adminapi/logic/channel/OfficialAccountReplyLogic.php

@@ -161,18 +161,18 @@ class OfficialAccountReplyLogic extends BaseLogic
                     $wx_user = (new WeChatOaService())->getUserInfo($message['FromUserName']);
                     if(!empty($wx_user)){
                         $official_auth = OfficialAuth::where('openid',$wx_user['openid'])->findOrEmpty();
-                        $official_auth->subscribe = 1;
-                        $official_auth->openid = $wx_user['openid'];
-                        $official_auth->unionid = $wx_user['unionid'];
+                        if(!$official_auth->isEmpty()){
+                            $official_auth->subscribe = 1;
+                            $official_auth->openid = $wx_user['openid'];
+                            $official_auth->unionid = $wx_user['unionid'];
+                        }else{
+                            $official_auth = new OfficialAuth();
+                            $official_auth->subscribe = 1;
+                            $official_auth->openid = $wx_user['openid'];
+                            $official_auth->unionid = $wx_user['unionid'];
+                        }
                         $official_auth->save();
-                    }else{
-                        $official_auth = new OfficialAuth();
                     }
-                    $official_auth->subscribe = 1;
-                    $official_auth->openid = $wx_user['openid'];
-                    $official_auth->unionid = $wx_user['unionid'];
-                    $official_auth->save();
-
                     $replyContent = OfficialAccountReply::where([
                         'reply_type' => OfficialAccountEnum::REPLY_TYPE_FOLLOW,
                         'status' => YesNoEnum::YES
@@ -187,8 +187,10 @@ class OfficialAccountReplyLogic extends BaseLogic
                     $wx_user = (new WeChatOaService())->getUserInfo($message['FromUserName']);
                     if(!empty($wx_user)){
                         $official_auth = OfficialAuth::where('openid',$wx_user['openid'])->findOrEmpty();
-                        $official_auth->subscribe = 0;
-                        $official_auth->save();
+                        if(!$official_auth->isEmpty()){
+                            $official_auth->subscribe = 0;
+                            $official_auth->save();
+                        }
                     }
                     break;
             }