rk
2026-03-17 a9e1505680c7dd45840975b38451ef88d451e6d4
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -312,34 +312,33 @@
    @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;
    }