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