示例#1
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $accountId = $this->argument('account_id');
     /*
      * 1 获取Account
      */
     $account = $this->getAccount($accountId);
     $fanGroupModel = new FanGroupModel();
     /*
      * 2 初始化 SDK Config, 构建 SDK 对象
      */
     $groupService = new Group($account->app_id, $account->app_secret);
     $groups = $groupService->lists();
     if ($groups) {
         $insert = [];
         $this->output->progressStart(count($groups));
         foreach ($groups as $groupKey => $group) {
             $insert[$groupKey]['group_id'] = $group['id'];
             $insert[$groupKey]['account_id'] = $account->id;
             $insert[$groupKey]['title'] = $group['name'];
             $insert[$groupKey]['fan_count'] = $group['count'];
             $insert[$groupKey]['is_default'] = in_array($group['name'], ['默认组', '屏蔽组', '星标组']) ? 1 : 0;
             $this->info("\t{$group['name']} created!");
             $this->output->progressAdvance();
         }
         /*
          * clean
          */
         $fanGroupModel->where('account_id', $account->id)->forceDelete();
         $result = $fanGroupModel->insert($insert);
     }
     $this->output->progressFinish();
 }
 /**
  * Show the application welcome screen to the user.
  *
  * @return Response
  */
 public function index()
 {
     $appId = config('wechat.app_id');
     $secret = config('wechat.secret');
     $encoding_key = config('wechat.encoding_key');
     //$card = new Card($appId, $secret);
     //		var_dump($card->lists());
     //exit;
     $group = new Group($appId, $secret);
     var_dump($group->lists());
     exit;
     return view('welcome');
 }
示例#3
0
 /**
  * 粉丝组删除完成后执行.
  *
  * @param \App\Models\FanGroup $fanGroupModel
  */
 public function deleted(FanGroup $fanGroupModel)
 {
     /*
      * 1 线上同步删除, 自带分组不能删
      */
     if (!$fanGroupModel->is_default) {
         $this->group->delete($fanGroupModel->group_id);
     }
 }
示例#4
0
 /**
  * 粉丝更新完成后执行.
  *
  * @param \App\Models\Fan $fanModel
  */
 public function updated(Fan $fanModel)
 {
     /*
      * 1 获取更新的属性
      */
     $updateArr = $fanModel->getDirty();
     if (isset($updateArr['group_id'])) {
         /*
          * 1 移动用户到指定分组同步到线上
          */
         $this->group->moveUser($fanModel->openid, $updateArr['group_id']);
     }
     if (isset($updateArr['remark'])) {
         /*
          * 1 更改的粉丝备注同步到线上
          */
         $this->user->remark($fanModel->openid, $updateArr['remark']);
     }
 }
示例#5
0
 /**
  * 移动微信公众号用户到指定分组
  *
  * @param Request $request POST请求
  *
  * @return JSON
  */
 public function moveToGroup(Request $request)
 {
     if ($request->isMethod('post')) {
         $appId = $request->appId;
         $openId = $request->openId;
         $groupId = $request->groupId;
         $app = WechatApp::getAppById($appId);
         if (isset($app)) {
             $group = new Group($app['app_id'], $app['app_secret']);
             try {
                 if ($group->moveUser($openId, $groupId)) {
                     return '移动用户到指定分组成功';
                 }
             } catch (\Exception $e) {
                 echo '移动用户到指定分组失败:' . $e->getMessage();
             }
         }
     }
 }