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