package com.imed.costaccount.web; import com.imed.costaccount.common.util.PageUtils; import com.imed.costaccount.common.util.Result; import com.imed.costaccount.model.dto.RoleEditDTO; import com.imed.costaccount.model.dto.RoleMenuDTO; import com.imed.costaccount.model.dto.RoleSaveDTO; import com.imed.costaccount.model.dto.RoleUserDTO; import com.imed.costaccount.model.vo.CommonVO; import com.imed.costaccount.service.RoleMenuService; import com.imed.costaccount.service.RoleService; import com.imed.costaccount.service.UserRoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Arrays; import java.util.List; @Api(tags = "角色管理相关") @RestController @RequestMapping("/costAccount/role/") public class RoleController extends AbstractController { private final RoleService roleService; private final RoleMenuService roleMenuService; private final UserRoleService userRoleService; public RoleController(RoleService roleService, RoleMenuService roleMenuService, UserRoleService userRoleService) { this.roleService = roleService; this.roleMenuService = roleMenuService; this.userRoleService = userRoleService; } @ApiOperation("新增一个角色") @PostMapping("/save") public Result save(@RequestBody @Valid RoleSaveDTO roleSaveDTO) { roleService.saveRole(roleSaveDTO, getUser()); return Result.ok(); } @ApiOperation("查询角色列表") @GetMapping("/list") public Result list(@RequestParam(defaultValue = "1", value = "current") Integer page, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(value = "roleName", required = false) String keyword, @RequestParam(value = "modifyTime", required = false) String modifyTime) { PageUtils pageUtils = roleService.selectList(page, pageSize, keyword, getUser(),modifyTime); return Result.ok(pageUtils); } @ApiOperation("编辑某个角色") @PostMapping("/edit") public Result update(@RequestBody @Valid RoleEditDTO roleEditDTO) { roleService.updateRole(roleEditDTO, getUserId()); return Result.ok(); } @ApiOperation("删除") @PostMapping("/delete") public Result delete(@RequestBody Long[] roleIds) { roleService.removeByIds(Arrays.asList(roleIds)); return Result.ok(); } @ApiOperation("角色对应的人员列表") @GetMapping("/roleUsers") public Result roleUsers(@RequestParam Long roleId) { List roleUsers = userRoleService.getUsersByRoleId(roleId, getHospId()); return Result.ok(roleUsers); } @ApiOperation("角色对应的菜单列表") @GetMapping("/roleMenus") public Result roleMenus(@RequestParam Long roleId) { List roleUsers = roleMenuService.getMenuByRoleId(roleId, getUser().getHospId()); return Result.ok(roleUsers); } @ApiOperation("绑定角色和人员关系时选择列表(可回显)") @GetMapping("/roleUserList") public Result roleUserList(@RequestParam Long roleId) { List list = userRoleService.roleUserList(roleId, getUser().getHospId()); return Result.ok(list); } @ApiOperation("编辑角色和人员关系") @PostMapping("/editUserRole") public Result saveRoleUser(@RequestBody @Valid RoleUserDTO roleUserDTO) { userRoleService.saveRoleUser(roleUserDTO, getUser().getHospId()); return Result.ok(); } @ApiOperation("绑定角色和菜单关系时选择列表可回显") @GetMapping("/roleMenuList") public Result roleMenuList(@RequestParam Long roleId) { List list = roleMenuService.roleMenuList(roleId, getUser().getHospId()); return Result.ok(list); } @ApiOperation("编辑角色和菜单关系") @PostMapping("/editRoleMenu") public Result saveRoleMenu(@RequestBody @Valid RoleMenuDTO roleMenuDTO) { roleMenuService.saveRoleMenu(roleMenuDTO, getUser().getHospId()); return Result.ok(); } }