From 112e21ae617dff206597db3677a59f10484d6a6e Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Wed, 07 Jun 2023 22:59:54 +0800
Subject: [PATCH] fix

---
 src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html     |   58 +++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java     |    4 +
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java                 |    2 
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java    |    7 ++
 src/main/resources/mapper/modules/MallMemberMapper.xml                         |    5 +
 src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java                           |   10 +++
 src/main/resources/templates/febs/views/modules/system/bonusSetting.html       |   41 +++++++++++++
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java         |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |    5 +
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html |   26 ++++----
 10 files changed, 147 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index af2af3f..e54aa4a 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.tree.MatrixTree;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.service.IAdminMallMemberService;
@@ -459,4 +460,10 @@
         return new FebsResponse().success().data(dataTable);
     }
 
+    @GetMapping(value = "/matrixTree")
+    public FebsResponse matrixTree() {
+        MatrixTree instance = MatrixTree.getInstance();
+        return null;
+    }
+
 }
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 767c777..048babc 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -369,6 +369,10 @@
     }
 
 
+    @GetMapping("matrixTree")
+    public String matrixTree() {
+        return FebsUtil.view("modules/mallMember/matrixTree");
+    }
 
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index 80924dc..77e6f2b 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -110,4 +110,6 @@
 
 
     Integer selectOwnCntByInviteIdAndAccountLevel(@Param("inviteId") String inviteId, @Param("accountLevel") Integer accountLevel);
+
+    List<MallMember> selectMatrixTreeMemberList();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
index af4a498..6292cfe 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -114,4 +114,6 @@
     FebsResponse insideWithType(Long id, int i);
 
     List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent);
+
+    TreeItemVo findMatrixTree();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 8ed5bf9..a380fb7 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -802,4 +802,9 @@
         }
         return result;
     }
+
+    @Override
+    public TreeItemVo findMatrixTree() {
+        return null;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java b/src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java
new file mode 100644
index 0000000..b8e63d0
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java
@@ -0,0 +1,10 @@
+package cc.mrbird.febs.mall.vo;
+
+import java.util.List;
+
+public class TreeItemVo {
+
+    private String name;
+
+    private List<TreeItemVo> children;
+}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index fad5e17..c261413 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -503,4 +503,9 @@
             and x.account_level in (2, 3)
         </if>
     </select>
+
+    <select id="selectMatrixTreeMemberList" resultType="cc.mrbird.febs.mall.entity.MallMember">
+        select memberInfo.* from mall_member memberInfo
+            inner join matrix_tree_node nodeInfo on memberInfo.id=nodeInfo.tree_node
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index ad54201..be12562 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -3,7 +3,7 @@
         <div class="layui-col-md12">
             <div class="layui-card">
                 <div class="layui-card-body febs-table-full">
-                    <form class="layui-form layui-table-form" lay-filter="user-table-form">
+                    <form class="layui-form layui-table-form" lay-filter="member-table-form">
                         <div class="layui-row">
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
@@ -41,7 +41,7 @@
                             </div>
                         </div>
                     </form>
-                    <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
+                    <table lay-filter="memberTable" lay-data="{id: 'memberTable'}"></table>
                 </div>
             </div>
         </div>
@@ -121,7 +121,7 @@
         initTable();
 
         // 初始化表格操作栏各个按钮功能
-        table.on('tool(userTable)', function (obj) {
+        table.on('tool(memberTable)', function (obj) {
             var data = obj.data,
                 layEvent = obj.event;
 
@@ -228,7 +228,7 @@
         function initTable() {
             tableIns = febs.table.init({
                 elem: $view.find('table'),
-                id: 'userTable',
+                id: 'memberTable',
                 url: ctx + 'admin/mallMember/getMallMemberList',
                 toolbar:"#tableMemberBar",
                 defaultToolbar:[],
@@ -271,7 +271,7 @@
             });
         }
 
-        table.on('toolbar(userTable)', function(obj){
+        table.on('toolbar(memberTable)', function(obj){
             var data = obj.data,
                 layEvent = obj.event;
 
@@ -289,14 +289,14 @@
                 return;
             }
 
-            // var checkData = table.checkStatus('userTable').data;
+            // var checkData = table.checkStatus('memberTable').data;
             // if (checkData.length <= 0) {
             //     febs.alert.warn('请选择需要的用户');
             //     return;
             // }
 
             if (layEvent === 'resetPwd') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
@@ -311,7 +311,7 @@
             }
 
             if (layEvent === 'resetPayPwd') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
@@ -327,7 +327,7 @@
             }
 
             if (layEvent === 'balance') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
@@ -340,7 +340,7 @@
             }
 
             if (layEvent === 'voucherUpdate') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
@@ -353,7 +353,7 @@
             }
 
             if (layEvent === 'score') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
@@ -366,7 +366,7 @@
             }
 
             if (layEvent === 'prizeScore') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
@@ -379,7 +379,7 @@
             }
 
             if (layEvent === 'agentLevel') {
-                var checkData = table.checkStatus('userTable').data;
+                var checkData = table.checkStatus('memberTable').data;
                 if (checkData.length <= 0) {
                     febs.alert.warn('请选择需要的用户');
                     return;
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html b/src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html
new file mode 100644
index 0000000..48d88ff
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html
@@ -0,0 +1,58 @@
+<div class="layui-fluid layui-anim febs-anim" id="matrix-tree" lay-title="星级补贴设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <blockquote class="layui-elem-quote blue-border">星级补贴</blockquote>
+                <div class="layui-tab-item layui-show">
+                    <table id="agentBonus" lay-filter="agentBonus"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laytpl', 'table'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            table = layui.table,
+            validate = layui.validate,
+            $view = $('#matrix-tree')
+            , laytpl = layui.laytpl
+            , agentBonusArr;
+
+        function dicDataReq(type) {
+            $.get(ctx + 'admin/common/findDicByType/' + type, function (r) {
+                if (r.code === 200) {
+                    var data = r.data;
+                    if ("AGENT_LEVEL_REQUIRE" == type) {
+                        for (let i = 0; i < data.length; i++) {
+                            data[i].prop = JSON.parse(data[i].value).profitProp;
+                            data[i].achieve = JSON.parse(data[i].value).teamIncome;
+                            data[i].direct = JSON.parse(data[i].value).directCnt;
+                            data[i].lastAgentCnt = JSON.parse(data[i].value).lastAgentCnt;
+                        }
+                        agentBonusArr = data;
+                        table.reload('agentBonus', {
+                            data : data
+                        });
+                    }
+                }
+            });
+        }
+
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/system/bonusSetting.html b/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
index 5f2a88b..8b1190d 100644
--- a/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
@@ -7,6 +7,10 @@
                     <div class="layui-tab-item layui-show">
                         <table id="agentBonus" lay-filter="agentBonus"></table>
                     </div>
+                    <blockquote class="layui-elem-quote blue-border">全网分红设置</blockquote>
+                    <div class="layui-tab-item layui-show">
+                        <table id="allInternetBonus" lay-filter="allInternetBonus"></table>
+                    </div>
                     <div class="layui-form-item">
                         <label class="layui-form-label  febs-form-item-require">推荐奖(%):</label>
                         <div class="layui-input-block">
@@ -109,6 +113,7 @@
             , $view = $('#bonus-setting')
             , laytpl = layui.laytpl
             , agentBonusArr
+            , allInternetBonusArr
             , bonusPoolArr;
 
         form.verify(validate);
@@ -122,6 +127,17 @@
             ]]
             ,data: []
         });
+
+
+        table.render({
+            elem: '#allInternetBonus'
+            ,cols: [[ //表头
+                {field: 'description', title: '角色'}
+                ,{field: 'value', title: '比例', edit:'text'}
+            ]]
+            ,data: []
+        });
+
 
 
         table.render({
@@ -145,6 +161,18 @@
                     valueData.pushCnt = data.pushCnt;
                     valueData.prop = data.prop;
                     agentBonusArr[i].value = JSON.stringify(valueData);
+                }
+            }
+        });
+
+        table.on('edit(allInternetBonus)', function(obj){
+            var value = obj.value //得到修改后的值
+                ,data = obj.data //得到所在行所有键值
+                ,field = obj.field; //得到字段
+
+            for (let i = 0; i < allInternetBonusArr.length; i++) {
+                if (allInternetBonusArr[i].code === data.code) {
+                    allInternetBonusArr[i] = data;
                 }
             }
         });
@@ -182,6 +210,7 @@
         }
 
         dicDataReq("DIRECT_BONUS_SETTING");
+        dicDataReq("INTERNET_LEVEL_BONUS");
         dicDataReq("MEIYE_BONUS_TYPE");
         function dicDataReq(type) {
             $.get(ctx + 'admin/common/findDicByType/' + type, function (r) {
@@ -194,6 +223,17 @@
                         }
                         agentBonusArr = data;
                         table.reload('agentBonus', {
+                            data : data
+                        });
+                    }
+
+                    if ("INTERNET_LEVEL_BONUS" == type) {
+                        // for (let i = 0; i < data.length; i++) {
+                        //     data[i].pushCnt = JSON.parse(data[i].value).pushCnt;
+                        //     data[i].prop = JSON.parse(data[i].value).prop;
+                        // }
+                        allInternetBonusArr = data;
+                        table.reload('allInternetBonus', {
                             data : data
                         });
                     }
@@ -212,6 +252,7 @@
 
         form.on('submit(bonus-setting-form-submit)', function (data) {
             data.field.agentBonus = agentBonusArr;
+            data.field.allInternetBonus = allInternetBonusArr;
             data.field.bonusPool = bonusPoolArr[0];
             $.ajax({
                 'url':ctx + 'admin/system/bonusSystemSetting',

--
Gitblit v1.9.1