From 3f847215a4875a7855b830013b337b6c082f4649 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Thu, 24 Aug 2023 22:10:58 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/entity/MallMember.java | 1 src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java | 2 + src/main/java/cc/mrbird/febs/pay/model/WxGenerateQrCodeDto.java | 2 src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java | 20 ++++++++++ src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java | 2 + src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 34 +++++++++++++++++ 6 files changed, 60 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java index 0156599..e6e26cc 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java @@ -9,4 +9,6 @@ private String code; + private String inviteId; + } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java index e7df061..7922925 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java @@ -20,4 +20,6 @@ @ApiModelProperty(value = "性别" ) private Integer gender; + @ApiModelProperty(value = "邀请码") + private String inviteId; } diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java index 0963c19..0f110ab 100644 --- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java @@ -154,4 +154,5 @@ @TableField(exist = false) private String salesmansName; + private String inviteImg; } 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 6547937..0fb793c 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 @@ -593,6 +593,40 @@ mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name()); mallMember.setOpenId(openId); mallMember.setSessionKey(sessionKey); + + if (StrUtil.isNotBlank(apiXcxLoginDto.getInviteId())) { + MallMember member = this.baseMapper.selectInfoByInviteId(apiXcxLoginDto.getInviteId()); + if (member != null) { + mallMember.setReferrerId(member.getInviteId()); + + //推荐人和推荐人链 + 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.insert(mallMember); mallMember = this.baseMapper.selectMemberByOpenId(openId); diff --git a/src/main/java/cc/mrbird/febs/pay/model/WxGenerateQrCodeDto.java b/src/main/java/cc/mrbird/febs/pay/model/WxGenerateQrCodeDto.java index 6fa01a2..6550ba9 100644 --- a/src/main/java/cc/mrbird/febs/pay/model/WxGenerateQrCodeDto.java +++ b/src/main/java/cc/mrbird/febs/pay/model/WxGenerateQrCodeDto.java @@ -17,7 +17,7 @@ @ApiModelProperty(value = "参数 订单id 例如 15") private String scene; - @ApiModelProperty(value = "1:商品分享 2:团长分享") + @ApiModelProperty(value = "1:商品分享 2:团长分享 3-会员邀请码") private Integer type; @ApiModelProperty(value = "商品分享传商品ID,团长分享放图章特征码") diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java index 8813345..5a2774e 100644 --- a/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java @@ -319,6 +319,17 @@ } } + if (type == 3) { + String openId = wxGenerateQrCodeDto.getTypeParam(); + MallMember member = mallMemberMapper.selectMemberByOpenId(openId); + if(ObjectUtil.isNotNull(member)){ + String wxCodeImg = member.getInviteImg(); + if(StrUtil.isNotBlank(wxCodeImg)){ + return new FebsResponse().success().data(wxCodeImg); + } + } + } + String randomNum = MallUtils.getRandomNum(5); String imgName="/user_" + randomNum + "_acode_1.jpg"; String codeImgPath = generateAcode(wxGenerateQrCodeDto.getScene(), wxGenerateQrCodeDto.getPage(), imgName, "400px", null); @@ -334,6 +345,15 @@ mallTeamLeader.setWxCodeImg(codeImgPath); mallTeamLeaderMapper.updateById(mallTeamLeader); } + + if (type == 3) { + String openId = wxGenerateQrCodeDto.getTypeParam(); + MallMember member = mallMemberMapper.selectMemberByOpenId(openId); + if(ObjectUtil.isNotNull(member)){ + member.setInviteImg(codeImgPath); + mallMemberMapper.updateById(member); + } + } return new FebsResponse().success().data(codeImgPath); } -- Gitblit v1.9.1