xiaoyong931011
2023-08-16 6e0861ea3d9d89400abc942ee1be1b2a97e757d1
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -239,7 +239,7 @@
        MallMember mallMember = this.baseMapper.selectById(id);
        MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
        if(StrUtil.isNotEmpty(mallMember.getReferrerId())){
        if(!"".equals(mallMember.getReferrerId()) && ObjectUtil.isNotEmpty(mallMember.getReferrerId())){
            MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
            if (referMember != null) {
                mallMemberVo.setReferrerName(referMember.getName());
@@ -286,7 +286,11 @@
            mallMemberVo.setIsAgent(3);
        }
//        log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel());
        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.SCORE_CHANGE.getType(),
                DataDictionaryEnum.SCORE_CHANGE.getCode()
        );
        mallMemberVo.setScoreChange(dataDictionaryCustom.getValue() == null ? "1" : dataDictionaryCustom.getValue());
        return new FebsResponse().success().data(mallMemberVo);
    }
@@ -355,11 +359,22 @@
        MallMember mallMember = this.baseMapper.selectById(memberId);
        List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
        if(CollUtil.isNotEmpty(list)){
            for(TeamListVo teamListVo : list){
                List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectTotalAmountListByMemberId(teamListVo.getId());
                if(CollUtil.isNotEmpty(mallOrderInfos)){
                    BigDecimal reduce = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
                    teamListVo.setAmount(reduce);
                    teamListVo.setOrderCnt(mallOrderInfos.size());
                    List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(teamListVo.getInviteId());
                    teamListVo.setCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
                }
            }
        }
        MyTeamVo myTeamVo = new MyTeamVo();
        myTeamVo.setTeam(list);
        myTeamVo.setMyAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1));
        myTeamVo.setMyTeamAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2));
        myTeamVo.setMyAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 1));
        myTeamVo.setMyTeamAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 2));
        myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
        return new FebsResponse().success().data(myTeamVo);
    }
@@ -492,7 +507,7 @@
        MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
        if (referMember != null) {
            commissionVo.setReferrerName(referMember.getName());
            commissionVo.setAvatar(referMember.getAvatar());
            commissionVo.setReferrerAvatar(referMember.getAvatar());
        }
        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.AGENT_LEVEL, mallMember.getLevel());
@@ -501,7 +516,7 @@
        }
        MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(id);
        commissionVo.setCommission(wallet.getCommission());
        commissionVo.setCommission(wallet.getBalance());
        commissionVo.setToday(mallMoneyFlowMapper.selectCommissionIncome(1, new Date(), id));
        commissionVo.setMonth(mallMoneyFlowMapper.selectCommissionIncome(2, new Date(), id));
        commissionVo.setTotal(mallMoneyFlowMapper.selectCommissionIncome(null, null, id));
@@ -600,7 +615,56 @@
            // 查询用户是否存在
            MallMember mallMember = this.baseMapper.selectMemberByOpenId(openId);
            if (ObjectUtil.isEmpty(mallMember)) {
                return febsResponse.fail().message("请先关注公众号");
                //根据OPENID,查询用户信息,如果存在,直接返回
                mallMember = new MallMember();
                mallMember.setPassword(SecureUtil.md5("a123456"));
                mallMember.setName("微信用户");
                mallMember.setSubStatus(MallMember.SUB_STATUS_DISABLED);
                mallMember.setReferrerId(null);
                mallMember.setPhone(null);
                mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
                mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
                mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
                mallMember.setSex("男");
                mallMember.setBindPhone(null);
                mallMember.setOpenId(openId);
                this.baseMapper.insert(mallMember);
                //生成邀请码
                String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
                mallMember.setInviteId(inviteId);
                //推荐人和推荐人链
                boolean flag = false;
                String parentId = mallMember.getReferrerId();
                if (StrUtil.isBlank(parentId)) {
                    flag = true;
                }
                String ids = "";
                while (!flag) {
                    if (StrUtil.isBlank(ids)) {
                        ids += parentId;
                    } else {
                        ids += ("," + parentId);
                    }
                    MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId);
                    if (parentMember == null) {
                        break;
                    }
                    parentId = parentMember.getReferrerId();
                    if (StrUtil.isBlank(parentMember.getReferrerId())) {
                        flag = true;
                    }
                }
                if (StrUtil.isNotBlank(ids)) {
                    mallMember.setReferrerIds(ids);
                }
                this.baseMapper.updateById(mallMember);
                //初始化钱包信息
                MallMemberWallet wallet = new MallMemberWallet();
                wallet.setBalance(BigDecimal.ZERO);
                wallet.setMemberId(mallMember.getId());
                mallMemberWalletMapper.insert(wallet);
                return new FebsResponse().fail().message("请先关注公众号");
            }
            // 存放redis
            String redisKey = AppContants.XCX_LOGIN_PREFIX + mallMember.getId();
@@ -769,8 +833,7 @@
                amount,
                MoneyFlowTypeEnum.RECHARGE.getValue(),
                rechargeNo,
                FlowTypeEnum.BALANCE.getValue(),
                "余额充值",1);
                FlowTypeEnum.BALANCE.getValue());
        String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
        String payResultStr = brandWCPayRequestData.getPrepay_id();