fix
Hentua
2023-06-07 112e21ae617dff206597db3677a59f10484d6a6e
fix
8 files modified
2 files added
160 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java 10 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 26 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html 58 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/system/bonusSetting.html 41 ●●●●● patch | view | raw | blame | history
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;
    }
}
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");
    }
}
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();
}
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();
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -802,4 +802,9 @@
        }
        return result;
    }
    @Override
    public TreeItemVo findMatrixTree() {
        return null;
    }
}
src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java
New file
@@ -0,0 +1,10 @@
package cc.mrbird.febs.mall.vo;
import java.util.List;
public class TreeItemVo {
    private String name;
    private List<TreeItemVo> children;
}
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>
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;
src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html
New file
@@ -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>
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',