Commit d5592bdd authored by shiyu's avatar shiyu

公众号订阅

parent 7365d894
...@@ -18,7 +18,7 @@ public class UserDaoImpl implements UserDao { ...@@ -18,7 +18,7 @@ public class UserDaoImpl implements UserDao {
@Override @Override
public User queryByOid(String openId) { public User queryByOid(String openId) {
UserExample example = new UserExample(); UserExample example = new UserExample();
example.or().andWeixinOpenidEqualTo(openId).andDeletedEqualTo(false); example.createCriteria().andWeixinOpenidEqualTo(openId).andDeletedEqualTo(false);
return userMapper.selectOneByExample(example); return userMapper.selectOneByExample(example);
} }
......
...@@ -93,10 +93,15 @@ public class OfficialAccountCallbackController { ...@@ -93,10 +93,15 @@ public class OfficialAccountCallbackController {
//新增或更新订阅记录 //新增或更新订阅记录
OfficialAccountSubscribeRecord officialAccountSubscribeRecord = new OfficialAccountSubscribeRecord(); OfficialAccountSubscribeRecord officialAccountSubscribeRecord = new OfficialAccountSubscribeRecord();
officialAccountSubscribeRecord.setOpenid(userOpenId); officialAccountSubscribeRecord.setOpenid(userOpenId);
String unionid = null;
if (SUBSCRIBE_EVENT.equals(event)) { if (SUBSCRIBE_EVENT.equals(event)) {
//只有关注了公众号,才可以通过根据openid获取unionid //只有关注了公众号,才可以通过根据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.setUnionid(unionid);
officialAccountSubscribeRecord.setEnabled(1); officialAccountSubscribeRecord.setEnabled(1);
} else { } else {
...@@ -105,20 +110,10 @@ public class OfficialAccountCallbackController { ...@@ -105,20 +110,10 @@ public class OfficialAccountCallbackController {
//查询有无历史订阅记录 //查询有无历史订阅记录
boolean isExisted = officialAccountSubscribeRecordService.isExisted(userOpenId); boolean isExisted = officialAccountSubscribeRecordService.isExisted(userOpenId);
if (isExisted) { if (isExisted) {
/* Result<OfficialAccountSubscribeRecord> result = officialAccountSubscribeRecordService.findOne(userOpenId);
OfficialAccountSubscribeRecord oldRecord = result.getData();
officialAccountSubscribeRecord.setUnionid(oldRecord.getUnionid());*/
officialAccountSubscribeRecord.setUpdateTime(date); officialAccountSubscribeRecord.setUpdateTime(date);
officialAccountSubscribeRecordService.update(officialAccountSubscribeRecord); officialAccountSubscribeRecordService.update(officialAccountSubscribeRecord);
} else { } else {
//没有历史订阅记录, //没有历史订阅记录
if (SUBSCRIBE_EVENT.equals(event)) {
//根据unionid查询手机号
User user = userDao.queryByOid(unionid);
if (user != null) {
officialAccountSubscribeRecord.setPhone(user.getMobile());
}
}
officialAccountSubscribeRecord.setCreateTime(date); officialAccountSubscribeRecord.setCreateTime(date);
officialAccountSubscribeRecord.setUpdateTime(date); officialAccountSubscribeRecord.setUpdateTime(date);
officialAccountSubscribeRecord.setPlatformType(OfficalAccountEnum.PlatformTypeEnum.WECHAT.getCode()); 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