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); } } }