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.*;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
/**
|
* <p>
|
* 角色管理 前端控制器
|
* </p>
|
*
|
* @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")
|
public R<?> add(@Validated @RequestBody SysRoleAddDTO dto) {
|
sysRoleService.addRole(dto);
|
return R.ok();
|
}
|
|
@ApiOperation(value = "编辑角色", tags = {"管理后台-角色管理"})
|
@PostMapping("/api/v1/role/edit")
|
public R<?> edit(@Validated @RequestBody SysRoleEditDTO dto) {
|
sysRoleService.editRole(dto);
|
return R.ok();
|
}
|
|
@ApiOperation(value = "角色详情", tags = {"管理后台-角色管理"})
|
@GetMapping("/api/v1/role/queryById")
|
public R<SysRoleDetailVO> 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<PageInfo<SysRolePageVO>> pageList(@Validated @RequestBody SysRolePageQuery query) {
|
PageInfo<SysRolePageVO> pageInfo = sysRoleService.pageList(query);
|
return R.ok(pageInfo);
|
}
|
|
@ApiOperation(value = "删除角色", tags = {"管理后台-角色管理"})
|
@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<SysRole> getRoleById(@RequestParam("id") Long id){
|
SysRole sysRole = sysRoleService.getById(id);
|
return R.ok(sysRole);
|
}
|
|
|
|
/**
|
* 检查菜单是否被角色使用
|
* @param menuId
|
* @return
|
*/
|
@PostMapping("/inner/sysRoleMenu/checkMenuExistRole")
|
public R<Boolean> 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());
|
}
|
}
|