From 1764dd21b6bf90b97542acc66c8d2e29d71e37a2 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 08 Apr 2025 11:24:39 +0800
Subject: [PATCH] feat(mall): 会员列表增加医生设置功能

---
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java    |   10 +++++++++-
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java         |    3 +++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   16 +++++++++++-----
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html |   24 ++++++++++++++++++++++++
 4 files changed, 47 insertions(+), 6 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 86be4d2..3149c28 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -17,7 +17,6 @@
 import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -572,6 +571,15 @@
     }
 
     /**
+     * 会员列表-医生设置
+     */
+    @GetMapping("doctorStateChange/{id}")
+    @ControllerEndpoint(operation = " 会员列表-医生设置", exceptionMessage = "操作失败")
+    public FebsResponse doctorStateChange(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.doctorStateChange(id);
+    }
+
+    /**
      * 会员列表-推销员设置
      */
     @GetMapping("upSale/{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 810b4d7..8006c4a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -127,6 +127,9 @@
 
     FebsResponse agentVerifyUpdate(AdminAgentVerifyVo adminAgentVerifyVo);
 
+
+    FebsResponse doctorStateChange(Long id);
+
     FebsResponse upCoupon(Long id);
 
     FebsResponse downCoupon(Long id);
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 0bce76e..5ad9ccb 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
@@ -3,16 +3,12 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.common.utils.LoginUserUtil;
-import cc.mrbird.febs.common.utils.MallUtils;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
-import cc.mrbird.febs.mall.entity.MallNewsInfo;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
@@ -33,7 +29,6 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.xmlbeans.impl.store.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -320,6 +315,17 @@
     }
 
     @Override
+    public FebsResponse doctorStateChange(Long id) {
+        MallMember mallMember = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallMember)){
+            throw new FebsException("请刷新页面");
+        }
+        mallMember.setDoctorState(mallMember.getDoctorState() == 1 ? 0 : 1);
+        this.baseMapper.updateById(mallMember);
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
     public FebsResponse upCoupon(Long id) {
         MallMember mallMember = this.baseMapper.selectById(id);
         if(ObjectUtil.isEmpty(mallMember)){
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 86fb5e5..5b28852 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -97,6 +97,14 @@
     <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="isSalesmanSwitch">
     {{# } }}
 </script>
+
+<script type="text/html" id="isDoctorSwitch">
+    {{# if(d.doctorState === 1) { }}
+    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="isDoctorSwitch">
+    {{# } else { }}
+    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="isDoctorSwitch">
+    {{# } }}
+</script>
 <style>
     .layui-form-onswitch {
         background-color: #5FB878 !important;
@@ -249,6 +257,21 @@
             }
         })
 
+        form.on('switch(isDoctorSwitch)', function (data) {
+            if (data.elem.checked) {
+                doctorStateChange(data.value);
+            } else {
+                doctorStateChange(data.value);
+            }
+        })
+
+        function doctorStateChange(id) {
+            febs.get(ctx + 'admin/mallMember/doctorStateChange/' + id, null, function () {
+                febs.alert.success('操作成功');
+                $query.click();
+            });
+        }
+
         function upSale(id) {
             febs.get(ctx + 'admin/mallMember/upSale/' + id, null, function () {
                 febs.alert.success('操作成功');
@@ -295,6 +318,7 @@
                     {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
                     {field: 'levelName', title: '会员等级', minWidth: 100,align:'left'},
                     // {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
+                    {field: 'doctorState', title: '医生设置', templet: '#isDoctorSwitch', minWidth: 100,align:'center'},
                     {field: 'isSalesman', title: '推销员设置', templet: '#isSalesmanSwitch', minWidth: 100,align:'center'},
                     // {field: 'director', title: '总监', templet:'#switchDirector', minWidth: 100},
                     // {field: 'accountType', title: '账号类型',

--
Gitblit v1.9.1