package com.backendsys.modules.system.controller; import com.backendsys.exception.CustException; import com.backendsys.modules.common.utils.Result; import com.backendsys.entity.System.SysUserRoleDTO; import com.backendsys.modules.system.service.SysUserRoleV2Service; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * 系统用户角色 */ @Validated @RestController @Tag(name = "系统用户角色") public class SysUserRoleV2Controller { @Autowired private SysUserRoleV2Service sysUserRoleV2Service; @Operation(summary = "获取系统用户角色列表") @PreAuthorize("@ss.hasPermi('4.1')") @GetMapping("/api/v2/system/user/getUserRole") public Result getUserRole(@Validated SysUserRoleDTO sysUserRoleDTO) { return Result.success().put("data", sysUserRoleV2Service.getUserRole(sysUserRoleDTO)); } @Operation(summary = "获取系统用户角色详情") @PreAuthorize("@ss.hasPermi('4.1.1')") @GetMapping("/api/v2/system/user/getUserRoleDetail") public Result getUserRoleDetail(@Validated(SysUserRoleDTO.Detail.class) SysUserRoleDTO sysUserRoleDTO) { return Result.success().put("data", sysUserRoleV2Service.getUserRoleDetail(sysUserRoleDTO)); } @Operation(summary = "创建系统用户角色") @PreAuthorize("@ss.hasPermi('4.1.2')") @PostMapping("/api/v2/system/user/createUserRole") public Result createUserRole(@Validated(SysUserRoleDTO.Create.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) { return Result.success().put("data", sysUserRoleV2Service.insertUserRole(sysUserRoleDTO)); } @Operation(summary = "更新系统用户角色") @PreAuthorize("@ss.hasPermi('4.1.3')") @PutMapping("/api/v2/system/user/updateUserRole") public Result updateUserRole(@Validated(SysUserRoleDTO.Update.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) { return Result.success().put("data", sysUserRoleV2Service.updateUserRole(sysUserRoleDTO)); } @Operation(summary = "删除系统用户角色") @PreAuthorize("@ss.hasPermi('4.1.4')") @DeleteMapping("/api/v2/system/user/deleteUserRole") public Result deleteUserRole(@Validated(SysUserRoleDTO.Delete.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) { // 不可删除 角色ID: (1管理员, 2游客) if (Arrays.asList(1L, 2L).contains(sysUserRoleDTO.getRole_id())) throw new CustException("该角色不可删除"); return Result.success().put("data", sysUserRoleV2Service.deleteUserRole(sysUserRoleDTO)); } }