From 1d0d712b4f2b489e020cbf23eaf20e386eee1561 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 15 Jun 2023 01:46:42 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/vo/AdminTeamListVo.java                  |    2 ++
 src/main/java/cc/mrbird/febs/mall/entity/MallMember.java                   |    2 ++
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java |    5 +++--
 src/main/resources/templates/febs/views/modules/mallMember/teamList.html   |   17 ++++++++++++++---
 src/main/resources/mapper/modules/MallMemberMapper.xml                     |    8 ++++++--
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml                  |    2 +-
 6 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
index 494fc1f..6f84b70 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -384,9 +384,10 @@
         return FebsUtil.view("modules/mallMember/teamList");
     }
 
-    @GetMapping("teamList/{inviteId}")
-    public String teamListByInviteId(@PathVariable String inviteId, Model model) {
+    @GetMapping("teamList/{type}/{inviteId}")
+    public String teamListByInviteId(@PathVariable(value = "inviteId") String inviteId, @PathVariable("type") Integer type, Model model) {
         model.addAttribute("refererId", inviteId);
+        model.addAttribute("type", type);
         return FebsUtil.view("modules/mallMember/teamList");
     }
 
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 562f1fa..00474bd 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -183,4 +183,6 @@
 
         return null;
     }
+
+    private Integer type;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminTeamListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminTeamListVo.java
index 70fb126..069eaae 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminTeamListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminTeamListVo.java
@@ -17,6 +17,8 @@
 
     private Integer directCnt;
 
+    private Integer teamCnt;
+
     private BigDecimal teamOrderAmount;
 
     private BigDecimal teamProfitAmount;
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 307f5f5..0ae5631 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -515,7 +515,8 @@
              ,memberInfo.phone
             ,memberInfo.name
             ,memberInfo.invite_id inviteId
-             ,(select count(1) from mall_member a where a.referrer_id=memberInfo.invite_id) directCnt
+            ,(select count(1) from mall_member a where a.referrer_id=memberInfo.invite_id) directCnt
+            ,(select count(1) from mall_member a where find_in_set(memberInfo.invite_id, a.referrer_ids)) teamCnt
              ,ifnull(sum(orderInfo.amount), 0) teamOrderAmount
              ,ifnull((select sum(b.amount) from mall_money_flow b where memberInfo.id=b.member_id and  b.flow_type = 1 and b.type in (1,2,3,4,5,7)),0) selfProfitAmount
         from mall_member memberInfo
@@ -527,9 +528,12 @@
                 <if test="record.query != null and record.query != ''">
                     and (memberInfo.invite_id=#{record.query} or memberInfo.phone=#{record.query} or instr(memberInfo.name, #{record.query}))
                 </if>
-                <if test="record.referrerId != null and record.referrerId != ''">
+                <if test="record.referrerId != null and record.referrerId != '' and record.type == 1">
                     and memberInfo.referrer_id = #{record.referrerId}
                 </if>
+                <if test="record.referrerId != null and record.referrerId != '' and record.type == 2">
+                    and find_in_set(#{record.referrerId}, memberInfo.referrer_ids)
+                </if>
             </if>
         </where>
         group by memberInfo.id
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 639fab7..8d69468 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -69,7 +69,7 @@
                     and a.flow_type like concat('%',  #{record.flowType},'%')
                 </if>
                 <if test="record.referrerId!=null and record.referrerId!=''">
-                    and b.referrer_id = #{record.referrerId}
+                    and find_in_set(#{record.referrerId}, b.referrer_ids)
                 </if>
                 <if test="record.inviteId!=null and record.inviteId!=''">
                     and b.invite_id = #{record.inviteId}
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/teamList.html b/src/main/resources/templates/febs/views/modules/mallMember/teamList.html
index a38b596..f45351a 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/teamList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/teamList.html
@@ -18,6 +18,12 @@
                                             <input type="text" placeholder="" name="refererId" autocomplete="off" data-th-value="${refererId}" class="layui-input">
                                         </div>
                                     </div>
+                                    <div class="layui-inline febs-hide">
+                                        <label class="layui-form-label">上级邀请码:</label>
+                                        <div class="layui-input-inline">
+                                            <input type="text" placeholder="" name="type" autocomplete="off" data-th-value="${type}" class="layui-input">
+                                        </div>
+                                    </div>
                                 </div>
                             </div>
                             <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -46,7 +52,10 @@
 </script>
 
 <script type="text/html" id="directCntTemplate">
-    <a lay-href="/modules/mallMember/teamList/{{d.inviteId}}" target="_blank">{{d.directCnt}}</a>
+    <a lay-href="/modules/mallMember/teamList/1/{{d.inviteId}}" target="_blank">{{d.directCnt}}</a>
+</script>
+<script type="text/html" id="teamCntTemplate">
+    <a lay-href="/modules/mallMember/teamList/2/{{d.inviteId}}" target="_blank">{{d.teamCnt}}</a>
 </script>
 <script type="text/html" id="teamMoneyFlow">
     <a lay-href="/modules/mallMember/moneyFlowList?refererId={{d.inviteId}}" target="_blank">{{d.teamProfitAmount}}</a>
@@ -106,15 +115,17 @@
         });
 
         function initTable() {
+            var type = $searchForm.find('input[name="type"]').val().trim(),
             tableIns = febs.table.init({
                 elem: $view.find('table'),
                 id: 'teamListTable',
-                url: ctx + 'admin/mallMember/teamList?referrerId=' + refererId,
+                url: ctx + 'admin/mallMember/teamList?referrerId=' + refererId + "&type=" + type,
                 where : getQueryParams,
                 cols: [[
                     {field: 'name', title: '会员名称', minWidth: 100},
                     {field: 'phone', title: '会员账号', minWidth: 100},
-                    {field: 'directCnt', title: '直推数量', templet:"#directCntTemplate", minWidth: 100},
+                    {field: 'directCnt', title: '直推人数', templet:"#directCntTemplate", minWidth: 100},
+                    {field: 'teamCnt', title: '团队人数', templet:"#teamCntTemplate", minWidth: 100},
                     {field: 'selfProfitAmount', title: '会员收益', templet:"#selfMoneyFlow", minWidth: 100},
                     {field: 'teamOrderAmount', title: '团队订单金额', minWidth: 100},
                     {field: 'teamProfitAmount', title: '团队收益', templet:"#teamMoneyFlow", minWidth: 100},

--
Gitblit v1.9.1