将Result类从common包移动到dto包,ResultUtils类从common包移动到util包 调整所有相关文件的import语句以匹配新的包结构 新增CorsConfig配置类处理跨域请求 优化AuthController的登录接口返回统一响应格式
145 lines
4.9 KiB
Java
145 lines
4.9 KiB
Java
/*
|
||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||
*/
|
||
|
||
package com.qf.backend.controller;
|
||
import org.slf4j.Logger;
|
||
import org.slf4j.LoggerFactory;
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.web.bind.annotation.GetMapping;
|
||
import org.springframework.web.bind.annotation.PostMapping;
|
||
import org.springframework.web.bind.annotation.PutMapping;
|
||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||
import org.springframework.web.bind.annotation.RequestMapping;
|
||
import org.springframework.web.bind.annotation.RestController;
|
||
import org.springframework.web.bind.annotation.RequestBody;
|
||
import org.springframework.web.bind.annotation.PathVariable;
|
||
import org.springframework.security.access.prepost.PreAuthorize;
|
||
|
||
import com.qf.backend.dto.Result;
|
||
import com.qf.backend.entity.Permissions;
|
||
import com.qf.backend.service.PermissionsService;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 权限管理控制器
|
||
* 处理权限相关的HTTP请求
|
||
* 遵循RESTful API设计规范
|
||
* @author 30803
|
||
*/
|
||
@RequestMapping("/api/permissions")
|
||
@RestController
|
||
public class PermissionsController {
|
||
private static final Logger logger = LoggerFactory.getLogger(PermissionsController.class);
|
||
|
||
@Autowired
|
||
private PermissionsService permissionsService;
|
||
|
||
/**
|
||
* 查询所有权限
|
||
* @return 权限列表
|
||
*/
|
||
@GetMapping
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<List<Permissions>> listAllPermissions() {
|
||
logger.info("管理员查询所有权限");
|
||
return permissionsService.listAllPermissions();
|
||
}
|
||
|
||
/**
|
||
* 根据权限ID查询权限
|
||
* @param id 权限ID
|
||
* @return 权限信息
|
||
*/
|
||
@GetMapping("/{id}")
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<Permissions> getPermissionById(@PathVariable Long id) {
|
||
logger.info("管理员根据ID查询权限,ID:{}", id);
|
||
return permissionsService.getPermissionById(id);
|
||
}
|
||
|
||
/**
|
||
* 根据权限编码查询权限
|
||
* @param permissionCode 权限编码
|
||
* @return 权限信息
|
||
*/
|
||
@GetMapping("/code/{permissionCode}")
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<Permissions> getPermissionByCode(@PathVariable String permissionCode) {
|
||
logger.info("管理员根据权限编码查询权限,权限编码:{}", permissionCode);
|
||
return permissionsService.getPermissionByCode(permissionCode);
|
||
}
|
||
|
||
/**
|
||
* 创建权限
|
||
* @param permissions 权限信息
|
||
* @return 是否成功
|
||
*/
|
||
@PostMapping
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<Boolean> createPermission(@RequestBody Permissions permissions) {
|
||
logger.info("管理员创建权限:{}", permissions);
|
||
return permissionsService.createPermission(permissions);
|
||
}
|
||
|
||
/**
|
||
* 更新权限信息
|
||
* @param permissions 权限信息
|
||
* @return 是否成功
|
||
*/
|
||
@PutMapping
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<Boolean> updatePermission(@RequestBody Permissions permissions) {
|
||
logger.info("管理员更新权限:{}", permissions);
|
||
return permissionsService.updatePermission(permissions);
|
||
}
|
||
|
||
/**
|
||
* 删除权限
|
||
* @param id 权限ID
|
||
* @return 是否成功
|
||
*/
|
||
@DeleteMapping("/{id}")
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<Boolean> deletePermission(@PathVariable Long id) {
|
||
logger.info("管理员删除权限,ID:{}", id);
|
||
return permissionsService.deletePermission(id);
|
||
}
|
||
|
||
/**
|
||
* 批量删除权限
|
||
* @param ids 权限ID列表
|
||
* @return 是否成功
|
||
*/
|
||
@DeleteMapping("/batch")
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<Boolean> batchDeletePermissions(@RequestBody List<Long> ids) {
|
||
logger.info("管理员批量删除权限,IDs:{}", ids);
|
||
return permissionsService.batchDeletePermissions(ids);
|
||
}
|
||
|
||
/**
|
||
* 根据菜单ID查询权限
|
||
* @param menuId 菜单ID
|
||
* @return 权限列表
|
||
*/
|
||
@GetMapping("/menu/{menuId}")
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<List<Permissions>> listPermissionsByMenuId(@PathVariable Long menuId) {
|
||
logger.info("管理员根据菜单ID查询权限,菜单ID:{}", menuId);
|
||
return permissionsService.listPermissionsByMenuId(menuId);
|
||
}
|
||
|
||
/**
|
||
* 根据权限类型查询权限
|
||
* @param permissionType 权限类型
|
||
* @return 权限列表
|
||
*/
|
||
@GetMapping("/type/{permissionType}")
|
||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||
public Result<List<Permissions>> listPermissionsByType(@PathVariable String permissionType) {
|
||
logger.info("管理员根据权限类型查询权限,权限类型:{}", permissionType);
|
||
return permissionsService.listPermissionsByType(permissionType);
|
||
}
|
||
} |