package com.github.ouyangbob.wechat.service.impl; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.github.ouyangbob.util.UUIDGenerator; import com.github.ouyangbob.wechat.mapper.IWechatUserMapper; import com.github.ouyangbob.wechat.model.entity.WechatUser; import com.github.ouyangbob.wechat.service.IWechatUserService; import com.github.ouyangbob.wechat.vo.UserInfo; @Service public class WechatUserServiceImpl implements IWechatUserService { @Autowired private IWechatUserMapper wechatUserMapper; public WechatUser saveAndFindWechatUser(UserInfo userInfo) { WechatUser wechatUer=null; if(StringUtils.isNoneBlank(userInfo.getUnionId())){ wechatUer=this.wechatUserMapper.findWechatUserByOpenId(userInfo.getOpenId()); }else if(StringUtils.isNoneBlank(userInfo.getOpenId())){ wechatUer=this.wechatUserMapper.findWechatUserByUnionId(userInfo.getOpenId()); } if(wechatUer==null){ wechatUer=new WechatUser(); wechatUer.setId(UUIDGenerator.generate()); wechatUer.setNickName(userInfo.getNickName()); wechatUer.setOpenid(userInfo.getOpenId()); wechatUer.setCity(userInfo.getCity()); wechatUer.setCountry(userInfo.getCountry()); wechatUer.setProvince(userInfo.getProvince()); wechatUer.setSex(userInfo.getSex()); wechatUer.setUnionid(userInfo.getUnionId()); wechatUserMapper.saveWechatUser(wechatUer); }else{ wechatUer.setNickName(userInfo.getNickName()); wechatUer.setOpenid(userInfo.getOpenId()); wechatUer.setCity(userInfo.getCity()); wechatUer.setCountry(userInfo.getCountry()); wechatUer.setProvince(userInfo.getProvince()); wechatUer.setSex(userInfo.getSex()); wechatUer.setUnionid(userInfo.getUnionId()); wechatUserMapper.reAuthWechatUser(wechatUer); } return null; } }