package com.ruoyi.web.controller.system; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.PoUser; import com.ruoyi.system.service.IPoUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 被分配用户Controller * * @author ruoyi * @date 2023-01-17 */ @RestController @RequestMapping("/po/user") public class PoUserController extends BaseController { @Autowired private IPoUserService poUserService; /** * 查询用户列表 */ @PreAuthorize("@ss.hasPermi('post:user:list')") @GetMapping("/list") public TableDataInfo list(PoUser poUser) { startPage(); List list = poUserService.selectPoUserList(poUser); return getDataTable(list); } /** * 导出用户列表 */ @PreAuthorize("@ss.hasPermi('post:user:export')") @Log(title = "被分配权限的用户", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, PoUser poUser) { List list = poUserService.selectPoUserList(poUser); ExcelUtil util = new ExcelUtil(PoUser.class); util.exportExcel(response, list, "用户数据"); } /** * 获取用户有权限查到的详细信息 */ @PreAuthorize("@ss.hasPermi('post:user:query')") @GetMapping(value = "/{userId}") public AjaxResult getInfo(@PathVariable("userId") String userId) { return success(poUserService.selectPoUserByUserId(userId)); } /** * 新增分配权限用户 */ @PreAuthorize("@ss.hasPermi('post:user:add')") @Log(title = "获得权限用户", businessType = BusinessType.INSERT) @PostMapping("/add") public AjaxResult add(@RequestBody PoUser poUser) { return toAjax(poUserService.insertPoUser(poUser)); } /** * 修改用户 */ @PreAuthorize("@ss.hasPermi('post:user:edit')") @Log(title = "修改权限用户", businessType = BusinessType.UPDATE) @PutMapping("/edit") public AjaxResult edit(@RequestBody PoUser poUser) { return toAjax(poUserService.updatePoUser(poUser)); } /** * 删除用户 */ @PreAuthorize("@ss.hasPermi('po:user:remove')") @Log(title = "删除权限用户", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") public AjaxResult remove(@PathVariable String[] userIds) { return toAjax(poUserService.deletePoUserByUserIds(userIds)); } }