From ea2938522357f193ee82938129a8094c594f1fb1 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 17 Jul 2023 17:33:21 +0800 Subject: [PATCH] 用户登录获取用户的微信昵称和头像 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 41 ++++++++++++----------------------------- 1 files changed, 12 insertions(+), 29 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index be29d70..37289ce 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -20,6 +20,7 @@ import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.service.IXcxPayService; +import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; @@ -69,6 +70,7 @@ private final SpringContextHolder springContextHolder; private final MallAgentRecordMapper mallAgentRecordMapper; private final IMallMoneyFlowService mallMoneyFlowService; + private final AgentProducer agentProducer; @Value("${spring.profiles.active}") @@ -593,34 +595,12 @@ } String openId = json.getString("openid"); - String sessionKey = json.getString("session_key"); - log.info("openId={},sessionKey={}", openId, sessionKey); + String accessToken = json.getString("access_token"); + log.info("openId={}", openId); // 查询用户是否存在 - MallMember mallMember = null; - synchronized (this) { - mallMember = this.baseMapper.selectMemberByOpenId(openId); - if (ObjectUtil.isEmpty(mallMember)) { - // 新增用户 - mallMember = new MallMember(); - mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); - mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL); - mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name()); - mallMember.setOpenId(openId); - mallMember.setSessionKey(sessionKey); - this.baseMapper.insert(mallMember); - - mallMember = this.baseMapper.selectMemberByOpenId(openId); - String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId()); - mallMember.setInviteId(inviteId); - this.baseMapper.updateById(mallMember); - MallMemberWallet wallet = new MallMemberWallet(); - wallet.setBalance(BigDecimal.ZERO); - wallet.setMemberId(mallMember.getId()); - mallMemberWalletMapper.insert(wallet); - } else { - mallMember.setSessionKey(sessionKey); - this.baseMapper.updateById(mallMember); - } + MallMember mallMember = this.baseMapper.selectMemberByOpenId(openId); + if (ObjectUtil.isEmpty(mallMember)) { + return febsResponse.fail().message("请先关注公众号"); } // 存放redis String redisKey = AppContants.XCX_LOGIN_PREFIX + mallMember.getId(); @@ -639,6 +619,9 @@ authInfo.put("appid", xcxProperties.getXcxAppid()); authInfo.put("member", mallMember); authInfo.put("rasToken", generateAsaToken(token)); + authInfo.put("accessToken",accessToken); + authInfo.put("openId",openId); + agentProducer.sendMemberInfoMsg(accessToken+"|"+openId); febsResponse.success().data(authInfo); } else { return febsResponse.fail().message("自动登录失败"); @@ -800,9 +783,9 @@ @Override public void updateMemberAgent(Long memberId,String levelCode) { mallAgentRecordMapper.updateStateByMemberId(memberId); - + MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectById(memberId); //更新用户表中的LEVEL - MallMember mallMember = this.baseMapper.selectById(memberId); + MallMember mallMember = this.baseMapper.selectById(mallAgentRecord.getMemberId()); mallMember.setLevel(levelCode); this.baseMapper.updateById(mallMember); } -- Gitblit v1.9.1