Beispiel #1
0
 public function actionRefreshFanHeadimgurl($id = null)
 {
     $id = empty($id) ? 0 : $id;
     $gh_id = Yii::$app->wx->getGhid();
     $db = \Yii::$app->db;
     $query = new Query();
     $tableName = MUser::tableName();
     $query->from($tableName)->where('id > :id', [':id' => $id])->orderBy(['id' => SORT_ASC]);
     $i = 0;
     foreach ($query->each() as $user) {
         if (empty($user['subscribe'])) {
             continue;
         }
         U::W(["refresh", $user]);
         Yii::$app->wx->setGhId($user['gh_id']);
         $arr = Yii::$app->wx->WxGetUserInfo($user['openid']);
         U::W($arr);
         if ($arr['subscribe'] == 0) {
             $n = $db->createCommand()->update($tableName, ['subscribe' => 0], 'id = :id', [':id' => $user['id']])->execute();
         } else {
             $n = $db->createCommand()->update($tableName, ['nickname' => $arr['nickname'], 'headimgurl' => $arr['headimgurl'], 'city' => empty($arr['city']) ? '' : $arr['city'], 'province' => empty($arr['province']) ? '' : $arr['province'], 'country' => empty($arr['country']) ? '' : $arr['country'], 'sex' => empty($arr['sex']) ? '' : $arr['sex'], 'subscribe' => empty($arr['subscribe']) ? '' : $arr['subscribe']], 'id = :id', [':id' => $user['id']])->execute();
         }
         U::W("id={$user['id']}");
         $i++;
         if ($i % 1000 == 1) {
             U::W($i);
         }
     }
 }