package com.sandu.ximon.admin.controller; import com.github.pagehelper.PageHelper; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.RoleParam; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.service.RoleService; import com.sandu.ximon.dao.domain.Role; import com.sandu.ximon.dao.domain.RoleDetail; import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @author chenjiantian * @date 2021/4/27 18:47 */ @AllArgsConstructor @RestController @RequestMapping("/v1/role") public class RoleController { private PermissionConfig permissionConfig; private final RoleService roleService; /** * 获取管理员的角色 */ @GetMapping("/getRoleListByAdmin/{adminId}") public ResponseVO getRoleListByAdmin(@PathVariable Long adminId) { List roles = roleService.listByAdminId(adminId); return ResponseUtil.success(roles); } @GetMapping("/list") public ResponseVO listRole(BaseConditionVO conditionVO) { if (!permissionConfig.check("角色管理")) { return ResponseUtil.fail("缺少对应用户权限"); } List roleDetails = roleService.listRole(conditionVO.getPageNo(), conditionVO.getPageSize()); return ResponseUtil.success(roleDetails); } @PostMapping("/add") public ResponseVO addRole(@Validated @RequestBody RoleParam param) { boolean result = roleService.addRole(param); if (result) { return ResponseUtil.success("添加成功"); } else { return ResponseUtil.success("添加失败"); } } @PostMapping("/update/{roleId}") public ResponseVO updateRole(@PathVariable Long roleId, @Validated @RequestBody RoleParam param) { boolean result = roleService.updateRole(roleId, param); if (result) { return ResponseUtil.success("编辑成功"); } else { return ResponseUtil.success("编辑失败"); } } @PostMapping("/del/{roleId}") public ResponseVO delRole(@PathVariable Long roleId) { boolean result = roleService.delRole(roleId); if (result) { return ResponseUtil.success("删除成功"); } else { return ResponseUtil.success("删除失败"); } } }