k94314517
2024-07-22 1941e9fc342b3a2cb6d32e9658ad46f29f50a5df
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -28,6 +28,7 @@
import com.doumee.dao.business.CustomerUserMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.business.model.CustomerUser;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Users;
import com.doumee.dao.web.reqeust.EditMemberRequest;
@@ -274,7 +275,7 @@
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员");
            }
//            String openId = code;
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId));
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
            Users users = new Users();
            if(StringUtils.isBlank(iamId)){
                users = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
@@ -305,18 +306,17 @@
                this.saveCustomerUser(users,member.getId());
            }else{
                ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
                if(Objects.isNull(ztUserGetTokenResponse)){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台服务调起失败!");
                }else{
                if(!Objects.isNull(ztUserGetTokenResponse)){
                    member.setToken(ztUserGetTokenResponse.getToken());
                    memberMapper.updateById(member);
                }
                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);
            AccountResponse accountResponse = new AccountResponse();
            accountResponse.setToken(token);
            accountResponse.setSessionKey(session.getSessionKey());
@@ -438,13 +438,11 @@
        ztUserInfoUpdateRequest.setHouseLayout(Constants.getHouseLayout(member.getHousetype()));
        ZTBaseResponse userUpdateInfo = zbomZhongTaiService.userUpdateInfo(ztUserInfoUpdateRequest);
        if(Objects.isNull(userUpdateInfo)||userUpdateInfo.getCode()!=200){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"中台信息更新失败,请联系管理员");
            return null;
        }
        ZTUserGetTokenResponse ztUserGetTokenResponse = (ZTUserGetTokenResponse) userUpdateInfo.getData();
        return ztUserGetTokenResponse;
    }
    @Override
    public Member getMemberInfo(Long memberId){
@@ -537,8 +535,6 @@
    }
    @Override
    public ZTBaseRequst logOff(Long memberId){
        Member member = memberMapper.selectById(memberId);
@@ -546,7 +542,8 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(StringUtils.isBlank(member.getPhone())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已注销");
            redisTemplate.delete(ZTConstants.CUSTOMER+"_"+ member.getId());
           return null;
        }
        //校验用户token信息
        MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,member.getId(),ZTConstants.CUSTOMER);
@@ -556,10 +553,12 @@
        ztBaseRequst.setOpenId(member.getOpenid());
        ztBaseRequst.setToken(member.getToken());
        memberMapper.update(new UpdateWrapper<Member>().lambda()
                .set(Member::getOpenid,null)
                .set(Member::getPhone,null)
                .set(Member::getEditDate,new Date())
                .eq(Member::getId,member.getId())
        );
        redisTemplate.delete(ZTConstants.CUSTOMER+"_"+ member.getId());
        return ztBaseRequst;
    }