From 092567a1697a7ce4406023e723b9220d6508f176 Mon Sep 17 00:00:00 2001 From: JaguarJack Date: Sun, 21 Jun 2020 14:41:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BE=AE=E4=BF=A1=E7=94=A8?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/wechat/controller/Tags.php | 10 ++++ catch/wechat/controller/Users.php | 42 ++++------------ catch/wechat/model/WechatUsers.php | 40 ++++++++------- .../repository/WechatUsersRepository.php | 50 ++++++++++++++++++- catch/wechat/route.php | 6 +-- 5 files changed, 91 insertions(+), 57 deletions(-) create mode 100644 catch/wechat/controller/Tags.php diff --git a/catch/wechat/controller/Tags.php b/catch/wechat/controller/Tags.php new file mode 100644 index 0000000..e703187 --- /dev/null +++ b/catch/wechat/controller/Tags.php @@ -0,0 +1,10 @@ + + * @copyright By CatchAdmin + * @license https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt + */ \ No newline at end of file diff --git a/catch/wechat/controller/Users.php b/catch/wechat/controller/Users.php index 848276c..1363f48 100644 --- a/catch/wechat/controller/Users.php +++ b/catch/wechat/controller/Users.php @@ -1,6 +1,6 @@ user = $users; } @@ -39,49 +39,25 @@ class Users extends CatchController * 备注 * * @time 2020年06月19日 - * @param $optionId + * @param $id * @param $remark * @return \think\response\Json */ - public function remark($optionId, $remark) + public function remark($id, $remark) { - return CatchResponse::success($this->user->remark($optionId, $remark)); + return CatchResponse::success($this->user->remark($id, $remark)); } /** * 拉黑 * * @time 2020年06月19日 - * @param $openId + * @param $id * @return \think\response\Json */ - public function block($openId) + public function block($id) { - return CatchResponse::success($this->user->block(Utils::stringToArrayBy($openId))); - } - - /** - * 拉黑列表 - * - * @time 2020年06月19日 - * @param null $nextOpenid - * @return \think\response\Json - */ - public function blacklist($nextOpenid = null) - { - return CatchResponse::success($this->user->blacklist($nextOpenid)); - } - - /** - * 取消拉黑 - * - * @time 2020年06月19日 - * @param $openId - * @return \think\response\Json - */ - public function unblock($openId) - { - return CatchResponse::success($this->user->unblock(Utils::stringToArrayBy($openId))); + return CatchResponse::success($this->user->block($id)); } public function subscribe() diff --git a/catch/wechat/model/WechatUsers.php b/catch/wechat/model/WechatUsers.php index 9e361aa..f422775 100644 --- a/catch/wechat/model/WechatUsers.php +++ b/catch/wechat/model/WechatUsers.php @@ -23,25 +23,27 @@ class WechatUsers extends CatchModel protected $field = [ 'id', // - 'nickname', // 用户名 - 'avatar', // 用户头像 - 'openid', // openid - 'language', // 语言 - 'country', // 国家 - 'province', // 省份 - 'city', // 城市 - 'subscribe', // 用户状态 0 取消订阅 1 订阅 - 'block', // 拉黑状态 1 正常 2 拉黑 - 'subscribe_time', // 订阅时间 - 'subscribe_scene', // 订阅场景 ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENE_PROFILE_LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_WECHAT_ADVERTISEMENT 微信广告,ADD_SCENE_OTHERS 其他 - 'unionid', // 用户平台唯一身份认证 - 'sex', // 用户状态 1 男 2 女 0 未知 - 'remark', // 备注 - 'groupid', // 分组ID - 'tagid_list', // 标签列表 - 'created_at', // 创建时间 - 'updated_at', // 更新时间 - 'deleted_at', // 删除状态,0未删除 >0 已删除 + 'nickname', // 用户名', + 'avatar', // 用户头像', + 'openid', // openid', + 'language', // 语言', + 'country', // 国家', + 'province', // 省份', + 'city', // 城市', + 'subscribe', // 用户状态 0 取消订阅 1 订阅', + 'block', // 拉黑状态 1 正常 2 拉黑', + 'subscribe_time', // 订阅时间', + 'subscribe_scene', // 订阅场景 ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENE_PROFILE_LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_WECHAT_ADVERTISEMENT 微信广告,ADD_SCENE_OTHERS 其他', + 'unionid', // 用户平台唯一身份认证', + 'sex', // 用户状态 1 男 2 女 0 未知', + 'remark', // 备注', + 'groupid', // 分组ID', + 'tagid_list', // 标签列表', + 'created_at', // 创建时间', + 'updated_at', // 更新时间', + 'deleted_at', // 删除状态,0未删除 >0 已删除', ]; + const BlOCK = 2; // 拉黑 + const UNBLOCK = 1; // 取消拉黑 } \ No newline at end of file diff --git a/catch/wechat/repository/WechatUsersRepository.php b/catch/wechat/repository/WechatUsersRepository.php index f0d5fb0..46dde5a 100644 --- a/catch/wechat/repository/WechatUsersRepository.php +++ b/catch/wechat/repository/WechatUsersRepository.php @@ -1,6 +1,6 @@ wechatUser = $users; } + /** + * 模型 + * + * @time 2020年06月21日 + * @return WechatUsers + */ protected function model() { + return $this->wechatUser; + } + /** + * 拉黑用户 + * + * @time 2020年06月21日 + * @param $id + * @return mixed + */ + public function block($id) + { + $user = $this->wechatUser->findBy($id); + + $blockMethod = $user->block == WechatUsers::UNBLOCK ? 'block' : 'unblock'; + + WeChat::throw(WeChat::officialAccount()->user->{$blockMethod}([$user->openid])); + + $user->block = $user->block == WechatUsers::BlOCK ? WechatUsers::UNBLOCK : WechatUsers::BlOCK; + + return $user->save(); + } + + /** + * 粉丝备注 + * + * @time 2020年06月21日 + * @param $id + * @param string $remark + * @return mixed + */ + public function remark($id, string $remark) + { + $user = $this->wechatUser->findBy($id); + + WeChat::throw(WeChat::officialAccount()->user->remark($user->openid, $remark)); + + $user->remark = $remark; + + return $user->save(); } } \ No newline at end of file diff --git a/catch/wechat/route.php b/catch/wechat/route.php index d625030..7cd4b45 100644 --- a/catch/wechat/route.php +++ b/catch/wechat/route.php @@ -13,9 +13,7 @@ $router->group('wechat', function () use ($router){ // 公众号粉丝 $router->group('official/users', function () use ($router){ $router->get('', '\catchAdmin\wechat\controller\Users@index'); - $router->put('remark//', '\catchAdmin\wechat\controller\Users@remark'); - $router->put('block/', '\catchAdmin\wechat\controller\Users@block'); - $router->put('unblock/', '\catchAdmin\wechat\controller\Users@unblock'); - $router->get('blacklist', '\catchAdmin\wechat\controller\Users@blacklist'); + $router->put('remark//', '\catchAdmin\wechat\controller\Users@remark'); + $router->put('block/', '\catchAdmin\wechat\controller\Users@block'); }); });