xiaoyong931011
2023-07-17 ea2938522357f193ee82938129a8094c594f1fb1
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}")
@@ -273,15 +275,17 @@
            }
            if(AgentLevelEnum.LEVEL_ONE.name().equals(mallAgentRecordAgree.getAgentLevel())){
                mallMemberVo.setAgentLevel(1);
            }else if(AgentLevelEnum.LEVEL_TWO.name().equals(mallAgentRecordAgree.getAgentLevel())){
            }
            if(AgentLevelEnum.LEVEL_TWO.name().equals(mallAgentRecordAgree.getAgentLevel())){
                mallMemberVo.setAgentLevel(2);
            }else if(AgentLevelEnum.LEVEL_THREE.name().equals(mallAgentRecordAgree.getAgentLevel())){
            }
            if(AgentLevelEnum.LEVEL_THREE.name().equals(mallAgentRecordAgree.getAgentLevel())){
                mallMemberVo.setAgentLevel(3);
            }
        }else if(ObjectUtil.isNotEmpty(mallAgentRecordDisagree)){
            mallMemberVo.setIsAgent(3);
        }
        log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel());
//        log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel());
        return new FebsResponse().success().data(mallMemberVo);
    }
@@ -591,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();
@@ -637,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("自动登录失败");
@@ -798,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);
    }