package com.ruoyi.system.controller.management;
|
|
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.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.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
|
* @version 1.0
|
* @classname MgtStaffController
|
* @description: TODO
|
* @date 2023 2023/6/11 18:36
|
*/
|
@Api(value = "管理后台员工相关接口", tags = "管理后台员工相关接口", description = "管理后台员工相关接口")
|
@RestController
|
@RequestMapping("/mgt/staff")
|
public class MgtStaffController {
|
|
@Resource
|
private RemoteUserService sysUserService;
|
|
@Resource
|
private StaffSuggestService staffSuggestService;
|
|
@Resource
|
private SysStaffService sysStaffService;
|
|
@RequestMapping(value = "/listMgtDeptStaff", method = RequestMethod.POST)
|
@ApiOperation(value = "获取部门员工列表")
|
public R<List<MgtDeptStaffListVo>> listMgtDeptStaff() {
|
// 获取当前登陆人的可视权限
|
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);
|
return R.ok(mgtDeptStaffListVoList);
|
}
|
|
|
@RequestMapping(value = "/listDeptStaff", method = RequestMethod.POST)
|
@ApiOperation(value = "获取所有部门员工列表")
|
public R<List<MgtDeptStaffListVo>> listDeptStaff() {
|
List<MgtDeptStaffListVo> mgtDeptStaffListVoList= sysStaffService.listMgtDeptStaff(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)
|
@ApiOperation(value = "平台获取员工建议列表")
|
public R<Page<MgtStaffSuggestPageVo>> pageMgtStaffSuggest(@RequestBody MgtStaffSuggestPageDto mgtStaffSuggestPageDto) {
|
Long userId = SecurityUtils.getUserId();
|
mgtStaffSuggestPageDto.setUserId(userId);
|
Page<MgtStaffSuggestPageVo> page = new Page<>();
|
page.setSize(mgtStaffSuggestPageDto.getPageSize());
|
page.setCurrent(mgtStaffSuggestPageDto.getPageNum());
|
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();
|
mgtReplayStaffSuggestDto.setUserId(userId);
|
staffSuggestService.mgtReplayStaffSuggest(mgtReplayStaffSuggestDto);
|
return R.ok();
|
}
|
|
@RequestMapping(value = "/listMgtStaffSuggestTag", method = RequestMethod.POST)
|
@ApiOperation(value = "获取员工建议标签")
|
public R<List<MgtStaffSuggestTagVo>> listMgtStaffSuggestTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
|
List<MgtStaffSuggestTagVo> mgtStaffSuggestTagVoList= staffSuggestService.listMgtStaffSuggestTag(Long.valueOf(mgtBaseGetDto.getId()));
|
return R.ok(mgtStaffSuggestTagVoList);
|
}
|
|
@RequestMapping(value = "/mgtEditStaffSuggestTag", method = RequestMethod.POST)
|
@Log(title = "建议管理", businessType = BusinessType.UPDATE,operContent = "编辑会员建议标签")
|
@ApiOperation(value = "平台编辑会员建议标签")
|
public R mgtEditStaffSuggestTag(@RequestBody MgtTagStaffSuggestDto mgtTagStaffSuggestDto) {
|
Long userId = SecurityUtils.getUserId();
|
mgtTagStaffSuggestDto.setUserId(userId);
|
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);
|
}
|
}
|