引言:根据需求,用户在支付页面,可以选择用户所关注的商家,并使用商家提供的优惠价格使用次数。未满足上述需求,系统中需要存储用户与商家之间的关联关系,这之间就需要通过微信获得用户与该商家是否是关注与被关注的关系,所以将通过如下方案获取。
使用Unionid机制
获取用户的unionId作为唯一用户的标识
将多个公众号绑定到开放平台的账号中,如下图所示:
注意:目前免费绑定的公众账号只有10个
当完成了绑定后,在调用微信接口获取用户信息时,就会多出一个unionid,unionid将被作为该用户对于绑定的公众号中的唯一标识符
Openid的存储方式修改
由于有了unionid作为唯一标识符,又因为openid只是用户对于一个公众号的唯一标示符,所以将用户获取到的openid存入新建数据库表中
后台新增商家管理
后台新增商家管理,需要在后台录入商家的微信唯一标识码,AppId,Appsecret数据,用于定期遍历商家列表,获取商家的粉丝列表
增加定时任务
1、 遍历后台添加的商家列表
2、 通过每一个商家的AppId , AppSecret,向微信获取access_token值
3、 使用access_token值获取商家的粉丝列表
4、 遍历粉丝列表,根据OpenId获取每个粉丝的unionId
5、 根据uinionId查询本地数据库中是否有该粉丝信息,如果有则检查用户、商家关联关系表中是否有对应数据,没有则添加
定时任务流程图
用户信息统一管理实现方案20150128(方案一).docx