From 2d3135558f6cf1c4dd648bc42abb1fc617499357 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 28 Jul 2023 16:59:00 +0800 Subject: [PATCH] 赠送积分更新状态 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 64 +++++++++++++++++++++++++++++--- 1 files changed, 58 insertions(+), 6 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 1fe33ce..69bc4e4 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 @@ -239,7 +239,7 @@ MallMember mallMember = this.baseMapper.selectById(id); MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember); - if(ObjectUtil.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); } @@ -492,7 +496,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()); @@ -600,7 +604,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 +822,7 @@ amount, MoneyFlowTypeEnum.RECHARGE.getValue(), rechargeNo, - FlowTypeEnum.BALANCE.getValue(), - "余额充值",1); + FlowTypeEnum.BALANCE.getValue()); String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData); String payResultStr = brandWCPayRequestData.getPrepay_id(); -- Gitblit v1.9.1