365体育备用网址报道25.5.2同步用户基本信息_365体育备用网址官网资讯

同步了新的用户OpenID之后,需要将该用户的基本信息也同步到数据库中。同步用户基本信息的代码如下所示。

 1 public function updateInfo(){
 2     $weixin = new \weixin\Wxapi();
 3 
 4      //猎取本地用户列表
 5     $updateUser = Db::name('user')->where('subscribe','')->limit(100)->select();
 6    
 7     if (count($updateUser) > 0){
 8         $municipalities = array("北京", "上海", "天津", "重庆", "香港", "澳门");
 9         $sexes = array("", "男", "女");
10 
11         $new = 0;
12         foreach ($updateUser as &$user) {
13             $new ++;
14             $info = $weixin->get_user_info($user['openid']);
15             // var_dump($info);
16             $data = array();
17             $data['nickname'] = str_replace("'", "", $info['nickname']);
18             $data['sex'] = $sexes[$info['sex']];
19             $data['country'] = $info['country'];
20             $data['province'] = $info['province'];
21             $data['city'] = (in_array($info['province'], $municipalities))?$info['province'] : $info['city'];
22             $data['headimgurl'] = $info['headimgurl'];
23             $data['subscribe'] = $info['subscribe_time'];
24             $data['heartbeat'] = $info['subscribe_time'];
25             $data['remark'] = $info['remark'];
26             $data['tagid'] = $info['tagid_list'];
27             
28             Db::name('user')->where('openid', $user['openid'])->update($data);// 依据条件更新记载
29         }
30 
31         $this->success('更新了'.$new.'个用户','updateInfo');
32     }else{
33         $this->success('更新完成','index');
34     }
35 }

在上述代码中,先猎取没有subscribe记载的100条微信用户记载,通过循环遍历的方式,将猎取每个用户的基本信息,并写入数据库,在这进程中,对于省份字段为“北京”,“上海”,“天津”,“重庆”,“香港”,“澳门”的用户,设置其城市字段和省份字段为同一值。
猎取完100之后,再次跳转到当前方法中更新下一组100条用户的信息。依次循环直到找不到subscribe记载为空的用户就跳转到用户365体育备用网址。

------分隔线----------------------------

公布评论 (136人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换新516捕鱼游戏中心
最新评论