liukangdong
2024-07-23 4fc49f3f06e9bb6275045d32245469816b451a4c
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2,6 +2,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -313,10 +314,7 @@
                this.saveCustomerUser(users,member.getId());
                member = this.getMemberInfo(member.getId());
            }
            //创建token
            JwtPayLoad payLoad = new JwtPayLoad(member.getId(),Constants.ZERO);
            String token = JwtTokenUtil.generateToken(payLoad);
            redisTemplate.opsForValue().set(ZTConstants.CUSTOMER+"_"+member.getId(),token);
            String token = JwtTokenUtil.generateTokenForZb(users.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
            AccountResponse accountResponse = new AccountResponse();
            accountResponse.setToken(token);
            accountResponse.setSessionKey(session.getSessionKey());
@@ -494,8 +492,6 @@
//                            .set(Member::getTokenDate,date)//默认有效期为两小时
                            .eq(Member::getId,member.getId()));
                    ztBaseInfoResponse.setToken(ztUserGetTokenResponse.getToken());
                }else{
//                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台TOKEN获取失败,请联系管理员");
                }
            }
            ztBaseInfoResponse.setToken(member.getToken());
@@ -508,11 +504,6 @@
            ztBaseInfoResponse.setUserType(ZTConstants.BUSINESS);
            ztBaseInfoResponse.setOpenId(users.getOpenid());
            if(Objects.isNull(users.getTokenDate()) || users.getTokenDate().getTime()<=System.currentTimeMillis() ){
                ZTUserGetTokenRequest param = new ZTUserGetTokenRequest();
                //查询APPID
                String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode();
                param.setAppId(appId);
                param.setOpenId(users.getOpenid());
                ZTSysuserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getSysuserToken(users.getPhone());
                if(Objects.nonNull(ztUserGetTokenResponse)){
                    users.setToken(ztUserGetTokenResponse.getToken());
@@ -522,27 +513,22 @@
                            .eq(Users::getId,users.getId()));
                    ztBaseInfoResponse.setToken(ztUserGetTokenResponse.getToken());
                    return ztBaseInfoResponse;
                }else{
//                   throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台TOKEN获取失败,请联系管理员");
                }
            }
            ztBaseInfoResponse.setToken(users.getToken());
//            return ztBaseInfoResponse;
        }else{
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"参数错误");
        }
        return  ztBaseInfoResponse;
    }
    @Override
    public ZTBaseRequst logOff(Long memberId){
    public ZTBaseRequst logOff(Long memberId,String token){
        Member member = memberMapper.selectById(memberId);
        if(Objects.isNull(member)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(StringUtils.isBlank(member.getPhone())){
            redisTemplate.delete(ZTConstants.CUSTOMER+"_"+ member.getId());
            redisTemplate.delete(token);
           return null;
        }
        //校验用户token信息