Commit d5592bdd authored by shiyu's avatar shiyu

公众号订阅

parent 7365d894
......@@ -18,7 +18,7 @@ public class UserDaoImpl implements UserDao {
@Override
public User queryByOid(String openId) {
UserExample example = new UserExample();
example.or().andWeixinOpenidEqualTo(openId).andDeletedEqualTo(false);
example.createCriteria().andWeixinOpenidEqualTo(openId).andDeletedEqualTo(false);
return userMapper.selectOneByExample(example);
}
......
......@@ -93,10 +93,15 @@ public class OfficialAccountCallbackController {
//新增或更新订阅记录
OfficialAccountSubscribeRecord officialAccountSubscribeRecord = new OfficialAccountSubscribeRecord();
officialAccountSubscribeRecord.setOpenid(userOpenId);
String unionid = null;
if (SUBSCRIBE_EVENT.equals(event)) {
//只有关注了公众号,才可以通过根据openid获取unionid
unionid = officialAccountApi.getUnionidByOpenid(userOpenId);
String unionid = officialAccountApi.getUnionidByOpenid(userOpenId);
//根据unionid查询手机号
User user = userDao.queryByOid(unionid);
if (user != null) {
logger.info("根据unionid查询手机号, unionid :{}, phone : {}", unionid, user.getMobile());
officialAccountSubscribeRecord.setPhone(user.getMobile());
}
officialAccountSubscribeRecord.setUnionid(unionid);
officialAccountSubscribeRecord.setEnabled(1);
} else {
......@@ -105,20 +110,10 @@ public class OfficialAccountCallbackController {
//查询有无历史订阅记录
boolean isExisted = officialAccountSubscribeRecordService.isExisted(userOpenId);
if (isExisted) {
/* Result<OfficialAccountSubscribeRecord> result = officialAccountSubscribeRecordService.findOne(userOpenId);
OfficialAccountSubscribeRecord oldRecord = result.getData();
officialAccountSubscribeRecord.setUnionid(oldRecord.getUnionid());*/
officialAccountSubscribeRecord.setUpdateTime(date);
officialAccountSubscribeRecordService.update(officialAccountSubscribeRecord);
} else {
//没有历史订阅记录,
if (SUBSCRIBE_EVENT.equals(event)) {
//根据unionid查询手机号
User user = userDao.queryByOid(unionid);
if (user != null) {
officialAccountSubscribeRecord.setPhone(user.getMobile());
}
}
//没有历史订阅记录
officialAccountSubscribeRecord.setCreateTime(date);
officialAccountSubscribeRecord.setUpdateTime(date);
officialAccountSubscribeRecord.setPlatformType(OfficalAccountEnum.PlatformTypeEnum.WECHAT.getCode());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment