package com.xiaopeng.account.controller; import com.xiaopeng.account.model.dto.SysRoleAddDTO; import com.xiaopeng.account.model.dto.SysRoleEditDTO; import com.xiaopeng.account.model.query.SysRolePageQuery; import com.xiaopeng.account.model.vo.SysRoleDetailVO; import com.xiaopeng.account.model.vo.SysRolePageVO; import com.xiaopeng.account.service.ISysRoleService; import com.xiaopeng.api.model.account.SysRole; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** *

* 角色管理 前端控制器 *

* * @author mitao * @since 2026-02-03 */ @Api(tags = "角色管理") @RequiredArgsConstructor(onConstructor_ = @Lazy) @RestController public class SysRoleController { private final ISysRoleService sysRoleService; @ApiOperation("新增角色") @PostMapping("/api/v1/role/add") public R add(@Validated @RequestBody SysRoleAddDTO dto) { sysRoleService.addRole(dto); return R.ok(); } @ApiOperation("编辑角色") @PostMapping("/api/v1/role/edit") public R edit(@Validated @RequestBody SysRoleEditDTO dto) { sysRoleService.editRole(dto); return R.ok(); } @ApiOperation("角色详情") @GetMapping("/api/v1/role/queryById") public R queryById(@ApiParam(value = "角色id", required = true) @RequestParam Long id) { SysRoleDetailVO detail = sysRoleService.getRoleDetail(id); return R.ok(detail); } @ApiOperation("角色分页列表") @PostMapping("/api/v1/role/pageList") public R> pageList(@Validated @RequestBody SysRolePageQuery query) { PageInfo pageInfo = sysRoleService.pageList(query); return R.ok(pageInfo); } @ApiOperation("删除角色") @DeleteMapping("/api/v1/role/delete/{id}") public R delete(@ApiParam(value = "角色id", required = true) @PathVariable Long id) { sysRoleService.deleteRole(id); return R.ok(); } /** * 根据id获取角色数据 * @param id * @return */ @PostMapping("/api/v1/role/getRoleById") public R getRoleById(@RequestParam("id") Long id){ SysRole sysRole = sysRoleService.getById(id); return R.ok(sysRole); } /** * 检查菜单是否被角色使用 * @param menuId * @return */ @PostMapping("/inner/sysRoleMenu/checkMenuExistRole") public R checkMenuExistRole(Long menuId){ Boolean checked = sysRoleService.checkMenuExistRole(menuId); return R.ok(checked); } }