Esempio n. 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();
 }
Esempio n. 2
0
 /**
  * 粉丝组更新完成后执行.
  *
  * @param \App\Models\FanGroup $fanGroupModel
  */
 public function updated(FanGroup $fanGroupModel)
 {
     /*
      * 1 获取更新的属性
      */
     $updateArr = $fanGroupModel->getDirty();
     if (isset($updateArr['title'])) {
         /*
          * 1.1 更改的粉丝组名称同步到线上, 自带分组不能改
          */
         if ($fanGroupModel->group_id > 2) {
             $this->group->update($fanGroupModel->group_id, $updateArr['title']);
         }
     }
 }
 /**
  * Bootstrap the application services.
  */
 public function boot()
 {
     User::observe('App\\Observers\\UserObserver');
     Reply::observe('App\\Observers\\ReplyObserver');
     Event::observe('App\\Observers\\EventObserver');
     Material::observe('App\\Observers\\MaterialObserver');
     Account::observe('App\\Observers\\AccountObserver');
     FanGroup::observe('App\\Observers\\FanGroupObserver');
     Fan::observe('App\\Observers\\FanObserver');
 }