| | |
| | | |
| | | |
| | | @Override |
| | | public AccountResponse wxLogin(String code){ |
| | | try { |
| | | //获取微信敏感数据 |
| | | WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code); |
| | | String openId = session.getOpenid(); |
| | | if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员"); |
| | | } |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, openId) |
| | | .eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getStatus,Constants.ZERO) |
| | | .last(" limit 1")); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | if(Objects.nonNull(member)){ |
| | | memberMapper.updateById(member); |
| | | member.setImgFullUrl(StringUtils.isNotBlank(member.getImgurl())?systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ |
| | | systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl():null); |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setOpenid(openId); |
| | | accountResponse.setMember(member); |
| | | }else{ |
| | | accountResponse.setOpenid(openId); |
| | | } |
| | | return accountResponse; |
| | | } catch (WxErrorException e) { |
| | | e.printStackTrace(); |
| | | public AccountResponse wxLogin(String code) throws WxErrorException { |
| | | WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code); |
| | | String openId = session.getOpenid(); |
| | | if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员"); |
| | | } |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"微信登录异常!请联系管理员"); |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getOpenId, openId) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Member::getStatus,Constants.ZERO) |
| | | .last(" limit 1")); |
| | | |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | if(Objects.nonNull(member)){ |
| | | String ossPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(); |
| | | String memberPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode(); |
| | | if(StringUtils.isNotBlank(member.getImgurl())){ |
| | | member.setImgFullUrl(ossPath + memberPath + member.getImgurl()); |
| | | } |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setOpenid(openId); |
| | | accountResponse.setMember(member); |
| | | }else{ |
| | | accountResponse.setOpenid(openId); |
| | | } |
| | | return accountResponse; |
| | | } |
| | | |
| | | |