From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 17 一月 2025 16:40:43 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java |  148 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 133 insertions(+), 15 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
index 043a529..6a24756 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
@@ -2,23 +2,33 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
-import com.ruoyi.system.domain.dto.MgtReplayStaffSuggestDto;
-import com.ruoyi.system.domain.dto.MgtStaffSuggestPageDto;
-import com.ruoyi.system.domain.dto.MgtTagStaffSuggestDto;
+import com.ruoyi.system.api.domain.poji.sys.SysUser;
+import com.ruoyi.system.api.service.RemoteUserService;
+import com.ruoyi.system.domain.dto.*;
+import com.ruoyi.system.domain.vo.MgtDeptStaffListVo;
+import com.ruoyi.system.domain.vo.MgtStaffPageVo;
 import com.ruoyi.system.domain.vo.MgtStaffSuggestPageVo;
 import com.ruoyi.system.domain.vo.MgtStaffSuggestTagVo;
 import com.ruoyi.system.service.config.StaffSuggestService;
+import com.ruoyi.system.service.staff.SysStaffService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
+
+import static com.ruoyi.common.core.web.domain.AjaxResult.success;
 
 /**
  * @author jqs34
@@ -27,21 +37,67 @@
  * @description: TODO
  * @date 2023 2023/6/11 18:36
  */
-@Api(value = "平台端员工相关接口", tags = "平台端员工相关接口", description = "平台端员工相关接口")
+@Api(value = "管理后台员工相关接口", tags = "管理后台员工相关接口", description = "管理后台员工相关接口")
 @RestController
 @RequestMapping("/mgt/staff")
 public class MgtStaffController {
 
+    @Resource
+    private RemoteUserService sysUserService;
 
     @Resource
     private StaffSuggestService staffSuggestService;
 
-    /*@RequestMapping(value = "/listMgtDeptStaff", method = RequestMethod.POST)
+    @Resource
+    private SysStaffService sysStaffService;
+
+    @RequestMapping(value = "/listMgtDeptStaff", method = RequestMethod.POST)
     @ApiOperation(value = "获取部门员工列表")
-    public R<List<MgtDeptStaffListVo>> listMgtStaffSuggestTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
-        List<MgtStaffSuggestTagVo> mgtStaffSuggestTagVoList= staffSuggestService.listMgtStaffSuggestTag(Long.valueOf(mgtBaseGetDto.getId()));
-        return R.ok(mgtStaffSuggestTagVoList);
-    }*/
+    public R<List<MgtDeptStaffListVo>> listMgtDeptStaff(@RequestBody ListMgtDeptStaffDto listMgtDeptStaffDto) {
+        // 获取当前登陆人的可视权限
+        SysUser sysUser = SecurityUtils.getSysUser();
+        // 如果当前登陆人权限是查看部门数据
+        Long deptId = null;
+        // 如果当前登陆人是查看个人数据
+        Long userId  = null;
+        if (sysUser!=null){
+            String dataScope = sysUser.getDataScope();
+            if (!sysUser.getUserName().equals("admin")){
+                if (org.springframework.util.StringUtils.hasLength(dataScope)){
+                    switch (dataScope){
+                        case "3":
+                            // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺
+                            deptId = sysUser.getDeptId();
+                            break;
+                        case "5":
+                            // 仅个人数据 查询当前登陆人关联店铺下的用户
+                            userId = sysUser.getUserId();
+                            break;
+                    }
+                }
+            }
+        }
+        List<MgtDeptStaffListVo> mgtDeptStaffListVoList= sysStaffService.listMgtDeptStaff(deptId,userId, listMgtDeptStaffDto.getName());
+        return R.ok(mgtDeptStaffListVoList);
+    }
+
+
+    @RequestMapping(value = "/listDeptStaff", method = RequestMethod.POST)
+    @ApiOperation(value = "获取所有部门员工列表")
+    public R<List<MgtDeptStaffListVo>> listDeptStaff() {
+        List<MgtDeptStaffListVo> mgtDeptStaffListVoList= sysStaffService.listMgtDeptStaff(null,null, null);
+        return R.ok(mgtDeptStaffListVoList);
+    }
+
+
+
+    @RequestMapping(value = "/listMgtDeptStaffByPermission", method = RequestMethod.POST)
+    @ApiOperation(value = "通过权限获取部门员工列表")
+    public R<List<MgtDeptStaffListVo>> listMgtDeptStaffByPermission() {
+        Long userId = SecurityUtils.getUserId();
+        List<MgtDeptStaffListVo> mgtDeptStaffListVoList= sysStaffService.listMgtDeptStaffByPermission(userId);
+        return R.ok(mgtDeptStaffListVoList);
+    }
 
 
     @RequestMapping(value = "/pageMgtStaffSuggest", method = RequestMethod.POST)
@@ -52,11 +108,30 @@
         Page<MgtStaffSuggestPageVo> page = new Page<>();
         page.setSize(mgtStaffSuggestPageDto.getPageSize());
         page.setCurrent(mgtStaffSuggestPageDto.getPageNum());
-        List<MgtStaffSuggestPageVo> mgtShopSuggestPageVoList = staffSuggestService.pageMgtStaffSuggest(page,mgtStaffSuggestPageDto);
-        return R.ok(page.setRecords(mgtShopSuggestPageVoList));
+        List<MgtStaffSuggestPageVo> staffSuggestPageVoList = staffSuggestService.pageMgtStaffSuggest(page,mgtStaffSuggestPageDto);
+        return R.ok(page.setRecords(staffSuggestPageVoList));
+    }
+
+    @RequestMapping(value = "/exportPageMgtStaffSuggest", method = RequestMethod.POST)
+    @ApiOperation(value = "导出员工建议列表")
+    public void exportPageMgtStaffSuggest(MgtStaffSuggestPageDto mgtStaffSuggestPageDto, HttpServletResponse response) {
+        Long userId = SecurityUtils.getUserId();
+        mgtStaffSuggestPageDto.setUserId(userId);
+        Page<MgtStaffSuggestPageVo> page = new Page<>();
+        if(mgtStaffSuggestPageDto.getPageSize() > 5000){
+            page.setSize(5000);
+            page.setCurrent(1);
+        }else{
+            page.setSize(mgtStaffSuggestPageDto.getPageSize());
+            page.setCurrent(mgtStaffSuggestPageDto.getPageNum());
+        }
+        List<MgtStaffSuggestPageVo> staffSuggestPageVoList = staffSuggestService.pageMgtStaffSuggest(page,mgtStaffSuggestPageDto);
+        ExcelUtil<MgtStaffSuggestPageVo> util = new ExcelUtil<MgtStaffSuggestPageVo>(MgtStaffSuggestPageVo.class);
+        util.exportExcel(response, staffSuggestPageVoList, "员工建议列表");
     }
 
     @RequestMapping(value = "/mgtReplayStaffSuggest", method = RequestMethod.POST)
+    @Log(title = "建议管理", businessType = BusinessType.UPDATE,operContent = "平台回复会员建议")
     @ApiOperation(value = "平台回复会员建议")
     public R mgtReplayStaffSuggest(@RequestBody MgtReplayStaffSuggestDto mgtReplayStaffSuggestDto) {
         Long userId = SecurityUtils.getUserId();
@@ -73,6 +148,7 @@
     }
 
     @RequestMapping(value = "/mgtEditStaffSuggestTag", method = RequestMethod.POST)
+    @Log(title = "建议管理", businessType = BusinessType.UPDATE,operContent = "编辑会员建议标签")
     @ApiOperation(value = "平台编辑会员建议标签")
     public R mgtEditStaffSuggestTag(@RequestBody MgtTagStaffSuggestDto mgtTagStaffSuggestDto) {
         Long userId = SecurityUtils.getUserId();
@@ -80,4 +156,46 @@
         staffSuggestService.mgtEditStaffSuggestTag(mgtTagStaffSuggestDto);
         return R.ok();
     }
+
+    @RequestMapping(value = "/pageMgtStaff", method = RequestMethod.POST)
+    @ApiOperation(value = "平台获取员工列表")
+    public R<Page<MgtStaffPageVo>> pageMgtStaff(@RequestBody MgtStaffPageDto mgtStaffPageDto) {
+        Long userId = SecurityUtils.getUserId();
+        mgtStaffPageDto.setUserId(userId);
+        Page<MgtStaffPageVo> page = new Page<>();
+        page.setSize(mgtStaffPageDto.getPageSize());
+        page.setCurrent(mgtStaffPageDto.getPageNum());
+        List<MgtStaffPageVo> staffPageVoList = sysStaffService.pageMgtStaff(page,mgtStaffPageDto);
+        return R.ok(page.setRecords(staffPageVoList));
+    }
+
+    @RequestMapping(value = "/mgtEditStaff", method = RequestMethod.POST)
+    @Log(title = "员工管理", businessType = BusinessType.UPDATE,operContent = "编辑员工")
+    @ApiOperation(value = "平台编辑员工")
+    public R mgtEditStaff(@Validated  @RequestBody MgtStaffEditDto mgtStaffEditDto) {
+        Long userId = SecurityUtils.getUserId();
+        mgtStaffEditDto.setUserId(userId);
+        sysStaffService.mgtStaffEdit(mgtStaffEditDto);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/mgtDeleteStaff", method = RequestMethod.POST)
+    @Log(title = "员工管理", businessType = BusinessType.DELETE,operContent = "删除员工")
+    @ApiOperation(value = "平台删除员工")
+    public R mgtStaffEdit(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
+        Long userId = SecurityUtils.getUserId();
+        mgtBaseGetDto.setUserId(userId);
+        sysStaffService.mgtDeleteStaff(mgtBaseGetDto);
+        return R.ok();
+    }
+
+    @ApiOperation(value = "导入员工数据")
+    @PostMapping("/importSysStaff")
+    public AjaxResult importSysStaff(@RequestPart("file") MultipartFile file) throws Exception
+    {
+        ExcelUtil<MgtSysStaffImportDto> util = new ExcelUtil<MgtSysStaffImportDto>(MgtSysStaffImportDto.class);
+        List<MgtSysStaffImportDto> sysStaffImportDtoList = util.importExcel(file.getInputStream());
+        String message = sysStaffService.importSysStaff(sysStaffImportDtoList);
+        return success(message);
+    }
 }

--
Gitblit v1.7.1