From 15aca237e53c5eebf51c048e2f4e57741bbfec88 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 30 Sep 2021 11:30:54 +0800
Subject: [PATCH] 20210928

---
 src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelOptionTreeVo.java          |    2 
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java                 |    2 
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java    |    9 ++
 src/main/resources/mapper/modules/MallMemberMapper.xml                         |   10 ++
 src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelSetInfoVo.java             |   13 +++
 src/main/resources/templates/febs/views/modules/mallMember/agentList.html      |   15 +++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   18 ++++
 src/main/resources/templates/febs/views/modules/mallMember/agentLevelSet.html  |   91 ++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java     |   14 +++
 src/main/resources/templates/febs/views/modules/goods/detailGoods.html         |    2 
 src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml               |    2 
 src/main/java/cc/mrbird/febs/mall/dto/AgentLevelSetUpdateDto.java              |   13 +++
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java         |    4 +
 13 files changed, 191 insertions(+), 4 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 34919c2..ef6342c 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -199,6 +199,15 @@
     }
 
     /**
+     * 代理列表-设置代理级别
+     */
+    @PostMapping("agentLevelSetUpdate")
+    @ControllerEndpoint(operation = "代理列表-设置代理级别", exceptionMessage = "操作失败")
+    public FebsResponse agentLevelSetUpdate(@Valid AgentLevelSetUpdateDto agentLevelSetUpdateDto) {
+        return mallMemberService.agentLevelSetUpdate(agentLevelSetUpdateDto);
+    }
+
+    /**
      * 奖励设置-列表
      * @param rankAwardDto
      * @param request
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 39cddb8..efd106c 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -158,6 +158,20 @@
     }
 
     /**
+     * 代理级别-设置代理
+     * @param id
+     * @param model
+     * @return
+     */
+    @GetMapping("agentLevelSet/{id}")
+    @RequiresPermissions("agentLevelSet:update")
+    public String agentLevelSet(@PathVariable long id, Model model) {
+        AdminAgentLevelSetInfoVo data = mallMemberService.getAgentLevelSetInfoByMemberId(id);
+        model.addAttribute("agentLevelSet", data);
+        return FebsUtil.view("modules/mallMember/agentLevelSet");
+    }
+
+    /**
      * 奖励设置-列表
      * @return
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelSetUpdateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelSetUpdateDto.java
new file mode 100644
index 0000000..c132e3a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelSetUpdateDto.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AgentLevelSetUpdateDto", description = "接收参数类")
+public class AgentLevelSetUpdateDto {
+
+    private String levelCode;
+
+    private Long id;
+}
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 06f211f..00eb352 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -65,4 +65,6 @@
     List<MallMember> selectByIdAndNoLevel(@Param("refererId") String refererId, @Param("level") String level);
 
     List<MallMember> selectMallMemberByInviteIdAndLevel(@Param("inviteId")String inviteId, @Param("level")String level);
+
+    AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(@Param("id")long id);
 }
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 0b604df..f445215 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -76,4 +76,8 @@
     FebsResponse updateNewsInfo(MallNewsInfoDto mallNewsInfoDto);
 
     FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto);
+
+    AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id);
+
+    FebsResponse agentLevelSetUpdate(AgentLevelSetUpdateDto agentLevelSetUpdateDto);
 }
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 1fb3dc5..5e393f6 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
@@ -410,4 +410,22 @@
         return new FebsResponse().success();
     }
 
+    @Override
+    public AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id) {
+        AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id);
+        return adminAgentLevelSetInfoVo;
+    }
+
+    @Override
+    public FebsResponse agentLevelSetUpdate(AgentLevelSetUpdateDto agentLevelSetUpdateDto) {
+        Long memberId = agentLevelSetUpdateDto.getId();
+        MallMember mallMember = mallMemberMapper.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        mallMember.setLevel(agentLevelSetUpdateDto.getLevelCode());
+        mallMemberMapper.updateById(mallMember);
+        return new FebsResponse().success();
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelOptionTreeVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelOptionTreeVo.java
index 25fe998..6bd7db7 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelOptionTreeVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelOptionTreeVo.java
@@ -7,7 +7,7 @@
 @ApiModel(value = "AdminAgentLevelOptionTreeVo", description = "信息返回类")
 public class AdminAgentLevelOptionTreeVo {
 
-    private Long id;
+    private String id;
 
     private String name;
 }
\ No newline at end of file
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelSetInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelSetInfoVo.java
new file mode 100644
index 0000000..2d28ea3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelSetInfoVo.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminAgentLevelSetInfoVo", description = "信息返回类")
+public class AdminAgentLevelSetInfoVo {
+    private Long id;
+
+    private String levelCode;
+
+}
diff --git a/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml b/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
index 6e76ed9..59f6bfe 100644
--- a/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
+++ b/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
@@ -32,7 +32,7 @@
 
     <select id="getAgentLevelOption" resultType="cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo">
         select a.code id,a.description name from data_dictionary_custom a
-        where a.type='AGENT_LEVEL'
+        where a.type='AGENT_LEVEL' and a.code != 'ZERO_LEVEL'
     </select>
 
     <select id="getRankAwardUpdateInfoById" resultType="cc.mrbird.febs.mall.vo.AdminRankAwardUpdateInfoVo">
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index d4476c3..1f56fbd 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -240,4 +240,14 @@
         GROUP BY
             m.id
     </select>
+
+
+
+    <select id="getAgentLevelSetInfoByMemberId" resultType="cc.mrbird.febs.mall.vo.AdminAgentLevelSetInfoVo">
+        SELECT a.id,d.code levelCode
+        FROM mall_member a
+                 LEFT JOIN data_dictionary_custom d on d.code = a.level
+        where a.id = #{id} and d.type = 'AGENT_LEVEL'
+        GROUP BY a.id
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/goods/detailGoods.html b/src/main/resources/templates/febs/views/modules/goods/detailGoods.html
index 9c45f8b..c8e74a8 100644
--- a/src/main/resources/templates/febs/views/modules/goods/detailGoods.html
+++ b/src/main/resources/templates/febs/views/modules/goods/detailGoods.html
@@ -129,7 +129,7 @@
         form.render();
 
         //(下拉框)
-        $.get(ctx + 'admin/goodsCategory/categorys/tree', function (data) {
+        $.get(ctx + 'admin/goodsCategory/categorys/allTree', function (data) {
             for (var k in data)
             {
                 $(".categary-update-category").append("<option value='" + data[k].parentId + "'>" + data[k].name + "</option>");
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentLevelSet.html b/src/main/resources/templates/febs/views/modules/mallMember/agentLevelSet.html
new file mode 100644
index 0000000..d1aa6ed
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentLevelSet.html
@@ -0,0 +1,91 @@
+<style>
+    #agent-level-set {
+        padding: 20px 25px 25px 0;
+    }
+
+    #agent-level-set .layui-treeSelect .ztree li a, .ztree li span {
+        margin: 0 0 2px 3px !important;
+    }
+    #agent-level-set #data-permission-tree-block {
+        border: 1px solid #eee;
+        border-radius: 2px;
+        padding: 3px 0;
+    }
+    #agent-level-set .layui-treeSelect .ztree li span.button.switch {
+        top: 1px;
+        left: 3px;
+    }
+
+</style>
+<div class="layui-fluid" id="agent-level-set">
+    <form class="layui-form" action="" lay-filter="agent-level-set-form">
+        <div class="layui-form-item febs-hide">
+            <label class="layui-form-label febs-form-item-require">id:</label>
+            <div class="layui-input-block">
+                <input type="text" name="id">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <div class="layui-inline">
+                <label class="layui-form-label">代理级别:</label>
+                <div class="layui-input-inline">
+                    <select lay-verify="required" name="levelCode" class="agent-level-set-level" id="levelSet">
+                        <option value="">请选择</option>
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item febs-hide">
+            <button class="layui-btn" lay-submit="" lay-filter="agent-level-set-form-submit" id="submit"></button>
+        </div>
+    </form>
+</div>
+
+<script data-th-inline="javascript">
+    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            layer = layui.layer,
+            formSelects = layui.formSelects,
+            treeSelect = layui.treeSelect,
+            form = layui.form,
+            eleTree = layui.eleTree,
+            agentLevelSet = [[${agentLevelSet}]],
+            $view = $('#agent-level-set'),
+            validate = layui.validate,
+            _deptTree;
+
+        form.render();
+
+        initUserValue();
+
+        function initUserValue() {
+            form.val("agent-level-set-form", {
+                "id": agentLevelSet.id,
+                "levelCode": agentLevelSet.levelCode
+            });
+        }
+
+        //(下拉框)
+        $.get(ctx + 'admin/mallMember/getAgentLevelOption/tree', function (data) {
+            for (var k in data)
+            {
+                $(".agent-level-set-level").append("<option value='" + data[k].id + "'>" + data[k].name + "</option>");
+            }
+            layui.use('form', function () {
+                var form = layui.form;
+                $("#levelSet").val(agentLevelSet.levelCode)
+                form.render();
+            });
+        });
+
+        form.on('submit(agent-level-set-form-submit)', function (data) {
+            febs.post(ctx + 'admin/mallMember/agentLevelSetUpdate', data.field, function () {
+                layer.closeAll();
+                febs.alert.success('操作成功');
+                $('#febs-user-agent').find('#reset').click();
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentList.html b/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
index 92ea7ed..dcf2afe 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
@@ -92,6 +92,17 @@
                     activateAccount(data.id);
                 });
             }
+            if (layEvent === 'agentLevelSet') {
+                febs.modal.open('设置代理级别', 'modules/mallMember/agentLevelSet/' + data.id, {
+                    btn: ['确认', '取消'],
+                    yes: function (index, layero) {
+                        $('#agent-level-set').find('#submit').trigger('click');
+                    },
+                    btn2: function () {
+                        layer.closeAll();
+                    }
+                });
+            }
         });
 
         function activateAccount(id) {
@@ -132,9 +143,11 @@
                         templet: function (d) {
                             if (d.level === 'ZERO_LEVEL'){
                                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="activate" shiro:hasPermission="user:update">激活</button>'
+                                    + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agentLevelSet" shiro:hasPermission="user:update">设置代理等级</button>'
                                     + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agentAllMember" shiro:hasPermission="user:update">全部成员</button>'
                             }else{
-                                return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agentAllMember" shiro:hasPermission="user:update">全部成员</button>'
+                                return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agentLevelSet" shiro:hasPermission="user:update">设置代理等级</button>'
+                                    + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agentAllMember" shiro:hasPermission="user:update">全部成员</button>'
                             }
                         },minWidth: 300,align:'center'}
                 ]]

--
Gitblit v1.9.1