package com.simuwang.manage.api.system; import com.simuwang.base.common.support.MybatisPage; import com.simuwang.base.common.support.vo.OnlyIdNameVO; import com.simuwang.base.pojo.dto.DeleteByIdCmd; import com.simuwang.base.pojo.dto.GetByIdQuery; import com.simuwang.base.pojo.dto.UpdateStatusCmd; import com.simuwang.base.pojo.dto.sys.RoleAddCmd; import com.simuwang.base.pojo.dto.sys.RoleEditCmd; import com.simuwang.base.pojo.dto.sys.RoleMenuAssignCmd; import com.simuwang.base.pojo.dto.sys.RoleQuery; import com.simuwang.base.pojo.vo.sys.SysRoleVO; import com.simuwang.manage.service.system.SysRoleService; import jakarta.validation.Valid; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 角色管理相关接口 */ @RestController @RequestMapping("/v1/sys/role") public class SysRoleController { private final SysRoleService service; public SysRoleController(SysRoleService service) { this.service = service; } /** * 分页接口 * * @param query 角色列表分页请求参数 * @return / */ @GetMapping("page") public MybatisPage page(RoleQuery query) { return this.service.findPage(query); } /** * 新增角色 * * @param command 角色信息 */ @PostMapping("save") public boolean save(@Valid @RequestBody RoleAddCmd command) { this.service.insert(command); return true; } /** * 更新角色 * * @param command 角色id+角色信息 */ @PostMapping("update") public boolean update(@Valid @RequestBody RoleEditCmd command) { this.service.update(command); return true; } /** * 更新角色状态接口 * * @param command 角色id+状态对象 */ @PostMapping("update-status") public boolean updateStatus(@Valid @RequestBody UpdateStatusCmd command) { this.service.updateStatus(command); return true; } /** * 根据id删除角色信息接口 * * @param command 角色id对象 */ @PostMapping("del") public boolean deleteById(@Valid @RequestBody DeleteByIdCmd command) { this.service.delete(command); return true; } /** * 给角色分配权限 * * @param command 角色id对象 */ @PostMapping("assign-perms") public boolean assignPermissions(@Valid @RequestBody RoleMenuAssignCmd command) { this.service.assignPerms(command); return true; } /** * 获取角色分配的权限 * * @param query 角色id对象 */ @GetMapping("list-assign-perms") public List listAssignPerms(@Valid @RequestBody GetByIdQuery query) { return this.service.getRolePerms(query); } }