//package com.backendsys.controller.Systems; // //import cn.hutool.core.collection.CollUtil; //import com.backendsys.aspect.QueryNullCheck; //import com.backendsys.aspect.QueryNullCheckAspect; //import com.backendsys.entity.System.SysUserRoleDTO; //import com.backendsys.service.System.SysUserRoleModuleService; //import com.backendsys.service.System.SysUserRoleService; //import com.backendsys.utils.response.Result; //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.List; // ///** // * 系统用户角色 // */ //@Validated //@RestController //public class SysUserRoleV1Controller { // @Autowired // private SysUserRoleService sysUserRoleService; // // @Autowired // private SysUserRoleModuleService sysUserRoleModuleService; // // // 判断 role.modules: [{ id: 1 }, { id: 2 }],是否有重复值 // //public boolean hasDuplicateIds(List> modules) { // // List ids = CollUtil.getFieldValues(modules, "id"); // // return CollUtil.isNotEmpty(ids) && ids.size() != CollUtil.distinct(ids).size(); // //} // public boolean hasDuplicateIds(List ids) { // return CollUtil.isNotEmpty(ids) && ids.size() != CollUtil.distinct(ids).size(); // } // //// // @Operation(summary = "系统用户角色列表") //// @PreAuthorize("@sr.hasPermission('4.1')") //// @GetMapping("/api/system/user/getUserRole") //// public Result getUserRole(@Validated PageDTO pageDTO, @Validated SysUserRoleDTO sysUserRoleDTO) { //// return Result.success(sysUserRoleService.queryUserRole(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserRoleDTO)); //// } // // //@Operation(summary = "系统用户角色详情") //// @PreAuthorize("@sr.hasPermission('4.1.1')") //// @QueryNullCheck(serviceClass = SysUserRoleService.class, serviceMethod = "queryUserRoleDetail", argField = "role_id", message = "用户角色不存在") //// @GetMapping("/api/v1/system/user/getUserRoleDetail") //// public Result getUserRoleDetail(@Validated(SysUserRoleDTO.Detail.class) SysUserRoleDTO sysUserRoleDTO) { //// return Result.success(QueryNullCheckAspect.getQueryResult()); //// } // //// //@Operation(summary = "创建系统用户角色") //// @PreAuthorize("@sr.hasPermission('4.1.2')") //// @PostMapping("/api/system/user/createUserRole") //// public Result createUserRole(@Validated(SysUserRoleDTO.Create.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) { //// // 判断 role.modules 是否重复 //// if (hasDuplicateIds(sysUserRoleDTO.getModules())) { //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "权限ID出现重复值"); //// } //// // 创建 //// return Result.success(sysUserRoleService.insertUserRole(sysUserRoleDTO), "创建成功"); //// } // //// //@Operation(summary = "更新系统用户角色") //// @PreAuthorize("@sr.hasPermission('4.1.3')") //// @QueryNullCheck(serviceClass = SysUserRoleService.class, serviceMethod = "queryUserRoleDetail", argField = "role_id", message = "用户角色不存在") //// @PutMapping("/api/system/user/updateUserRole") //// public Result updateUserRole(@Validated(SysUserRoleDTO.Update.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) { //// // 判断 role.modules 是否重复 //// if (hasDuplicateIds(sysUserRoleDTO.getModules())) { //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "权限ID出现重复值"); //// } //// // 更新 //// return Result.success(sysUserRoleService.updateUserRole(sysUserRoleDTO), "更新成功"); //// } // //// //@Operation(summary = "删除系统用户角色") //// @PreAuthorize("@sr.hasPermission('4.1.4')") //// @QueryNullCheck(serviceClass = SysUserRoleService.class, serviceMethod = "queryUserRoleDetail", argField = "role_id", message = "用户角色不存在") //// @DeleteMapping("/api/system/user/deleteUserRole") //// public Result deleteUserRole(@Validated(SysUserRoleDTO.Delete.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) { //// //// // 如果角色ID: 1管理员, 2游客,则不可删除 //// Long role_id = sysUserRoleDTO.getRole_id(); //// Set filterRoles = new HashSet<>(Arrays.asList(1L, 2L)); //// if (filterRoles.contains(role_id)) { //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该角色不可删除"); //// } //// //// // 判断角色是否有关联用户,如有则不可删除 //// Map query = QueryNullCheckAspect.getQueryResult(); //// Long user_count = (Long) query.get("user_count"); //// if (user_count != 0) { //// return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "角色已关联 " + user_count + " 个用户,请解除关联后再删除"); //// } //// // 删除用户 (物理删除) //// return Result.success(sysUserRoleService.deleteUserRole(sysUserRoleDTO), "删除成功"); //// } //// //// @PreAuthorize("@sr.hasPermission('4.1.5')") //// @GetMapping("/api/system/user/getUserRoleModule") //// public Result getUserRoleModule() { //// return Result.success(sysUserRoleModuleService.queryUserRoleModule()); //// } //}