package com.ruoyi.system.controller.staff; 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.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.dto.StaffPageDto; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.domain.dto.MgtSysStaffImportDto; import com.ruoyi.system.domain.dto.StaffUseSuggestDto; import com.ruoyi.system.api.domain.poji.sys.SysStaff; import com.ruoyi.system.domain.vo.StaffSuggestPageVo; import com.ruoyi.system.domain.vo.StaffUserGetVo; import com.ruoyi.system.service.config.StaffSuggestService; import com.ruoyi.system.service.staff.SysStaffService; import com.ruoyi.system.service.sys.ISysPermissionService; import com.ruoyi.system.service.sys.ISysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.List; import java.util.Set; import static com.ruoyi.common.core.web.domain.AjaxResult.success; /** * @author jqs34 * @version 1.0 * @classname StaffUserController * @description: TODO * @date 2023 2023/7/16 12:02 */ @Api(value = "员工端商户接口", tags = "员工端商户接口", description = "员工端商户接口") @RestController @RequestMapping("/staff/sys") public class StaffSysController { @Resource private SysStaffService sysStaffService; @Resource private ISysUserService sysUserService; @Resource private StaffSuggestService staffSuggestService; @Resource private ISysPermissionService permissionService; @RequestMapping(value = "/getStaffShopInfo", method = RequestMethod.POST) @ApiOperation(value = "获取员工端商户信息") public R getStaffShopInfo() { Long userId = SecurityUtils.getUserId(); SysStaff sysStaff = sysStaffService.getByUserId(userId); SysUser sysUser = sysUserService.selectUserById(userId); StaffUserGetVo staffUserGetVo = new StaffUserGetVo(); staffUserGetVo.setUserId(sysStaff.getUserId()); staffUserGetVo.setStaffName(sysStaff.getStaffName()); staffUserGetVo.setStaffMobile(sysStaff.getStaffMobile()); staffUserGetVo.setStaffAvatar(sysStaff.getStaffAvatar()); staffUserGetVo.setStaffDept(sysUser.getDept().getDeptName()); staffUserGetVo.setStaffPost(sysStaff.getStaffPost()); return R.ok(staffUserGetVo); } @RequestMapping(value = "/getStaffPermissions", method = RequestMethod.POST) @ApiOperation(value = "获取员工端权限") public R> getStaffPermissions() { Long userId = SecurityUtils.getUserId(); SysUser sysUser = sysUserService.selectUserById(userId); Set permissions = permissionService.getStaffClientMenuPermission(sysUser); return R.ok(permissions); } @RequestMapping(value = "/staffSuggest", method = RequestMethod.POST) @ApiOperation(value = "员工发起建议") public R userSuggest(@RequestBody StaffUseSuggestDto staffUseSuggestDto) { Long userId = SecurityUtils.getUserId(); staffUseSuggestDto.setUserId(userId); staffSuggestService.staffSuggest(staffUseSuggestDto); return R.ok(); } @RequestMapping(value = "/pageStaffShopSuggest", method = RequestMethod.POST) @ApiOperation(value = "分页获取员工建议") public R> pageStaffShopSuggest(@RequestBody StaffPageDto staffPageDto) { Long userId = SecurityUtils.getUserId(); staffPageDto.setUserId(userId); Page page = new Page<>(); page.setSize(staffPageDto.getPageSize()); page.setCurrent(staffPageDto.getPageNum()); List staffSuggestPageVoList = staffSuggestService.pageStaffShopSuggest(page,staffPageDto); return R.ok(page.setRecords(staffSuggestPageVoList)); } @ApiOperation(value = "导入员工") @PostMapping("/importSysStaffData") public AjaxResult importGoodsTagData(@RequestPart("file")MultipartFile file) throws Exception { ExcelUtil util = new ExcelUtil(MgtSysStaffImportDto.class); List tagList = util.importExcel(file.getInputStream()); String message = sysStaffService.importSysStaff(tagList); return success(message); } }