From 6609637e38d2a7a37fcd068cf49340018051262e Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Fri, 25 Aug 2023 17:48:47 +0800
Subject: [PATCH] Merge branch 'blnka' of http://120.27.238.55:7000/r/xc-mall into blnka
---
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/resources/mapper/modules/MallMemberCollectionMapper.xml | 2
src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java | 2 +
src/main/resources/mapper/modules/MallMemberFootprintMapper.xml | 2
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 49 +++++++++++++++++++++---
8 files changed, 71 insertions(+), 9 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..b369f4a 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
@@ -253,14 +253,16 @@
mallMemberVo.setHasPayment(1);
}
- LambdaQueryWrapper<MallMemberCollection> collectionQuery = new LambdaQueryWrapper<>();
- collectionQuery.eq(MallMemberCollection::getMemberId, id);
- List<MallMemberCollection> collectionList = mallMemberCollectionService.list(collectionQuery);
+ MemberCollectionListDto memberCollectionListDto = new MemberCollectionListDto();
+ memberCollectionListDto.setPageNow(1);
+ memberCollectionListDto.setPageSize(10);
+ List<CollectionListVo> collectionList = mallMemberCollectionService.findMemberCollectionList(memberCollectionListDto);
mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(collectionList) ? collectionList.size() : 0);
- LambdaQueryWrapper<MallMemberFootprint> footprintQuery = new LambdaQueryWrapper<>();
- footprintQuery.eq(MallMemberFootprint::getMemberId, id);
- List<MallMemberFootprint> footprintList = mallMemberFootprintService.list(footprintQuery);
+ MemberFootprintListDto memberFootprintListDto = new MemberFootprintListDto();
+ memberFootprintListDto.setPageNow(1);
+ memberFootprintListDto.setPageSize(10);
+ List<FootprintListVo> footprintList = mallMemberFootprintService.findMemberFootprintList(memberFootprintListDto);
mallMemberVo.setFootprintCnt(CollUtil.isNotEmpty(footprintList) ? footprintList.size() : 0);
List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId());
@@ -564,6 +566,7 @@
@Override
public FebsResponse xcxLogin(ApiXcxLoginDto apiXcxLoginDto) throws IOException {
+ log.info("登录请求参数:{}", JSONObject.toJSONString(apiXcxLoginDto));
FebsResponse febsResponse = new FebsResponse();
String code = apiXcxLoginDto.getCode();
log.info("code:" + code);
@@ -593,6 +596,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..0dc3549 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 inviteId = wxGenerateQrCodeDto.getTypeParam();
+ MallMember member = mallMemberMapper.selectInfoByInviteId(inviteId);
+ 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 inviteId = wxGenerateQrCodeDto.getTypeParam();
+ MallMember member = mallMemberMapper.selectInfoByInviteId(inviteId);
+ if(ObjectUtil.isNotNull(member)){
+ member.setInviteImg(codeImgPath);
+ mallMemberMapper.updateById(member);
+ }
+ }
return new FebsResponse().success().data(codeImgPath);
}
diff --git a/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml b/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml
index c6c80e1..42d63b7 100644
--- a/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberCollectionMapper.xml
@@ -10,7 +10,7 @@
,goods.present_price
,goods.is_sale
from mall_member_collection collection
- inner join mall_goods goods on collection.goods_id=goods.ID
+ inner join mall_goods goods on collection.goods_id=goods.ID and goods.is_sale = 1
<where>
<if test="record != null">
<if test="record.memberId != null">
diff --git a/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml b/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml
index 3890f4f..08e9e59 100644
--- a/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberFootprintMapper.xml
@@ -10,7 +10,7 @@
,goods.present_price
,goods.is_sale
from mall_member_footprint footprint
- inner join mall_goods goods on footprint.goods_id=goods.ID
+ inner join mall_goods goods on footprint.goods_id=goods.ID and goods.is_sale = 1
<where>
<if test="record != null">
<if test="record.memberId != null">
--
Gitblit v1.9.1