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 com.xiaopeng.common.log.annotation.AdminOperationLog; import com.xiaopeng.common.log.enums.AdminBusinessType; import com.xiaopeng.common.log.enums.AdminOperationType; import io.swagger.annotations.*; 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 */ @RequiredArgsConstructor(onConstructor_ = @Lazy) @RestController public class SysRoleController { private final ISysRoleService sysRoleService; @ApiOperation(value = "新增角色", tags = {"管理后台-角色管理"}) @PostMapping("/api/v1/role/add") @AdminOperationLog( businessType = AdminBusinessType.ROLE_MANAGEMENT, operationType = AdminOperationType.ADD, content = "新增角色", appendRequestData = true ) public R add(@Validated @RequestBody SysRoleAddDTO dto) { sysRoleService.addRole(dto); return R.ok(); } @ApiOperation(value = "编辑角色", tags = {"管理后台-角色管理"}) @PostMapping("/api/v1/role/edit") @AdminOperationLog( businessType = AdminBusinessType.ROLE_MANAGEMENT, operationType = AdminOperationType.EDIT, content = "编辑角色", appendRequestData = true ) public R edit(@Validated @RequestBody SysRoleEditDTO dto) { sysRoleService.editRole(dto); return R.ok(); } @ApiOperation(value = "角色详情", tags = {"管理后台-角色管理"}) @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(value = "角色分页列表", tags = {"管理后台-角色管理"}) @PostMapping("/api/v1/role/pageList") public R> pageList(@Validated @RequestBody SysRolePageQuery query) { PageInfo pageInfo = sysRoleService.pageList(query); return R.ok(pageInfo); } @ApiOperation(value = "删除角色", tags = {"管理后台-角色管理"}) @DeleteMapping("/api/v1/role/delete/{id}") @AdminOperationLog( businessType = AdminBusinessType.ROLE_MANAGEMENT, operationType = AdminOperationType.DELETE, content = "删除角色", appendRequestData = true ) public R delete(@ApiParam(value = "角色id", required = true) @PathVariable Long id) { sysRoleService.deleteRole(id); return R.ok(); } /** * 根据id获取角色数据 * @param id * @return */ @PostMapping("/logan/api/v1/role/getRoleById") public R getRoleById(@RequestParam("id") Long id){ SysRole sysRole = sysRoleService.getById(id); return R.ok(sysRole); } /** * 检查菜单是否被角色使用 * @param menuId * @return */ @PostMapping("/logan/inner/sysRoleMenu/checkMenuExistRole") public R checkMenuExistRole(Long menuId){ Boolean checked = sysRoleService.checkMenuExistRole(menuId); return R.ok(checked); } @ApiOperation(value = "获取角色不分页列表", tags = {"管理后台-车队管理"}) @GetMapping("/api/v1/role/list") public R getList() { return R.ok(sysRoleService.list()); } }