feat: 升级SpringBoot3
This commit is contained in:
@@ -4,8 +4,8 @@ package com.youlai.system.controller;
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.pojo.dto.TokenResult;
|
||||
import com.youlai.system.security.JwtTokenManager;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
@@ -13,7 +13,7 @@ import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Api(tags = "认证管理")
|
||||
@Tag(name = "认证管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/auth")
|
||||
@RequiredArgsConstructor
|
||||
@@ -21,7 +21,7 @@ public class AuthController {
|
||||
private final AuthenticationManager authenticationManager;
|
||||
private final JwtTokenManager jwtTokenManager;
|
||||
|
||||
@ApiOperation(value = "登录")
|
||||
@Operation(summary = "登录")
|
||||
@PostMapping("/login")
|
||||
public Result<TokenResult> login(
|
||||
@RequestParam String username,
|
||||
@@ -41,7 +41,7 @@ public class AuthController {
|
||||
return Result.success(tokenResult);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "注销")
|
||||
@Operation(summary = "注销")
|
||||
@DeleteMapping("/logout")
|
||||
public Result login() {
|
||||
SecurityContextHolder.clearContext();
|
||||
|
||||
@@ -3,15 +3,15 @@ package com.youlai.system.controller;
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.pojo.vo.file.FileInfo;
|
||||
import com.youlai.system.service.FileService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@Api(tags = "文件接口")
|
||||
@Tag(name = "文件接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/files")
|
||||
@RequiredArgsConstructor
|
||||
@@ -20,19 +20,19 @@ public class FileController {
|
||||
private final FileService fileService;
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "文件上传")
|
||||
@Operation(summary = "文件上传")
|
||||
public Result<FileInfo> uploadFile(
|
||||
@ApiParam("表单文件对象") @RequestParam(value = "file") MultipartFile file
|
||||
@Parameter(name ="表单文件对象") @RequestParam(value = "file") MultipartFile file
|
||||
) {
|
||||
FileInfo fileInfo = fileService.uploadFile(file);
|
||||
return Result.success(fileInfo);
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "文件删除")
|
||||
@Operation(summary = "文件删除")
|
||||
@SneakyThrows
|
||||
public Result deleteFile(
|
||||
@ApiParam("文件路径") @RequestParam String filePath
|
||||
@Parameter(name ="文件路径") @RequestParam String filePath
|
||||
) {
|
||||
boolean result = fileService.deleteFile(filePath);
|
||||
return Result.judge(result);
|
||||
|
||||
@@ -6,13 +6,14 @@ import com.youlai.system.pojo.form.DeptForm;
|
||||
import com.youlai.system.pojo.query.DeptQuery;
|
||||
import com.youlai.system.pojo.vo.dept.DeptVO;
|
||||
import com.youlai.system.service.SysDeptService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import jakarta.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -21,7 +22,7 @@ import java.util.List;
|
||||
* @author haoxr
|
||||
* @date 2020/11/6
|
||||
*/
|
||||
@Api(tags = "部门接口")
|
||||
@Tag(name = "部门接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/dept")
|
||||
@RequiredArgsConstructor
|
||||
@@ -29,30 +30,30 @@ public class SysDeptController {
|
||||
|
||||
private final SysDeptService deptService;
|
||||
|
||||
@ApiOperation(value = "获取部门列表")
|
||||
@Operation(summary = "获取部门列表")
|
||||
@GetMapping
|
||||
public Result<List<DeptVO>> listDepartments(DeptQuery queryParams) {
|
||||
List<DeptVO> list = deptService.listDepartments(queryParams);
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取部门下拉选项")
|
||||
@Operation(summary = "获取部门下拉选项")
|
||||
@GetMapping("/options")
|
||||
public Result<List<Option>> listDeptOptions() {
|
||||
List<Option> list = deptService.listDeptOptions();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取部门详情")
|
||||
@Operation(summary = "获取部门详情")
|
||||
@GetMapping("/{deptId}/form")
|
||||
public Result<DeptForm> getDeptForm(
|
||||
@ApiParam("部门ID") @PathVariable Long deptId
|
||||
@Parameter(name ="部门ID") @PathVariable Long deptId
|
||||
) {
|
||||
DeptForm deptForm = deptService.getDeptForm(deptId);
|
||||
return Result.success(deptForm);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增部门")
|
||||
@Operation(summary = "新增部门")
|
||||
@PostMapping
|
||||
public Result saveDept(
|
||||
@Valid @RequestBody DeptForm formData
|
||||
@@ -61,7 +62,7 @@ public class SysDeptController {
|
||||
return Result.success(id);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改部门")
|
||||
@Operation(summary = "修改部门")
|
||||
@PutMapping(value = "/{deptId}")
|
||||
public Result updateDept(
|
||||
@PathVariable Long deptId,
|
||||
@@ -71,10 +72,10 @@ public class SysDeptController {
|
||||
return Result.success(deptId);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除部门")
|
||||
@Operation(summary = "删除部门")
|
||||
@DeleteMapping("/{ids}")
|
||||
public Result deleteDepartments(
|
||||
@ApiParam("部门ID,多个以英文逗号(,)分割") @PathVariable("ids") String ids
|
||||
@Parameter(name ="部门ID,多个以英文逗号(,)分割") @PathVariable("ids") String ids
|
||||
) {
|
||||
boolean result = deptService.deleteByIds(ids);
|
||||
return Result.judge(result);
|
||||
|
||||
@@ -7,13 +7,14 @@ import com.youlai.system.pojo.form.DictItemForm;
|
||||
import com.youlai.system.pojo.query.DictItemPageQuery;
|
||||
import com.youlai.system.pojo.vo.dict.DictItemPageVO;
|
||||
import com.youlai.system.service.SysDictItemService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Api(tags = "字典数据接口")
|
||||
@Tag(name = "字典数据接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/dict/items")
|
||||
@RequiredArgsConstructor
|
||||
@@ -21,7 +22,7 @@ public class SysDictItemController {
|
||||
|
||||
private final SysDictItemService dictItemService;
|
||||
|
||||
@ApiOperation(value = "字典数据分页列表")
|
||||
@Operation(summary = "字典数据分页列表")
|
||||
@GetMapping("/pages")
|
||||
public PageResult<DictItemPageVO> listDictItemPages(
|
||||
DictItemPageQuery queryParams
|
||||
@@ -30,16 +31,16 @@ public class SysDictItemController {
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "字典数据表单数据")
|
||||
@Operation(summary = "字典数据表单数据")
|
||||
@GetMapping("/{id}/form")
|
||||
public Result<DictItemForm> getDictItemForm(
|
||||
@ApiParam("字典ID") @PathVariable Long id
|
||||
@Parameter(name ="字典ID") @PathVariable Long id
|
||||
) {
|
||||
DictItemForm formData = dictItemService.getDictItemForm(id);
|
||||
return Result.success(formData);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增字典数据")
|
||||
@Operation(summary = "新增字典数据")
|
||||
@PostMapping
|
||||
public Result saveDictItem(
|
||||
@RequestBody DictItemForm DictItemForm
|
||||
@@ -48,7 +49,7 @@ public class SysDictItemController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改字典数据")
|
||||
@Operation(summary = "修改字典数据")
|
||||
@PutMapping("/{id}")
|
||||
public Result updateDictItem(
|
||||
@PathVariable Long id,
|
||||
@@ -58,10 +59,10 @@ public class SysDictItemController {
|
||||
return Result.judge(status);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除字典")
|
||||
@Operation(summary = "删除字典")
|
||||
@DeleteMapping("/{ids}")
|
||||
public Result deleteDictItems(
|
||||
@ApiParam("字典ID,多个以英文逗号(,)拼接") @PathVariable String ids
|
||||
@Parameter(name ="字典ID,多个以英文逗号(,)拼接") @PathVariable String ids
|
||||
) {
|
||||
boolean result = dictItemService.deleteDictItems(ids);
|
||||
return Result.judge(result);
|
||||
|
||||
@@ -8,15 +8,16 @@ import com.youlai.system.pojo.form.DictTypeForm;
|
||||
import com.youlai.system.pojo.query.DictTypePageQuery;
|
||||
import com.youlai.system.pojo.vo.dict.DictTypePageVO;
|
||||
import com.youlai.system.service.SysDictTypeService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "字典类型接口")
|
||||
@Tag(name = "字典类型接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/dict/types")
|
||||
@RequiredArgsConstructor
|
||||
@@ -24,49 +25,49 @@ public class SysDictTypeController {
|
||||
|
||||
private final SysDictTypeService dictTypeService;
|
||||
|
||||
@ApiOperation(value = "字典类型分页列表")
|
||||
@Operation(summary = "字典类型分页列表")
|
||||
@GetMapping("/pages")
|
||||
public PageResult<DictTypePageVO> listDictTypePages(DictTypePageQuery queryParams) {
|
||||
Page<DictTypePageVO> result = dictTypeService.listDictTypePages(queryParams);
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "字典类型表单详情")
|
||||
@Operation(summary = "字典类型表单详情")
|
||||
@GetMapping("/{id}/form")
|
||||
public Result<DictTypeForm> getDictTypeFormData(
|
||||
@ApiParam("字典ID") @PathVariable Long id
|
||||
@Parameter(name ="字典ID") @PathVariable Long id
|
||||
) {
|
||||
DictTypeForm dictTypeForm = dictTypeService.getDictTypeFormData(id);
|
||||
return Result.success(dictTypeForm);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增字典类型")
|
||||
@Operation(summary = "新增字典类型")
|
||||
@PostMapping
|
||||
public Result saveDictType(@RequestBody DictTypeForm dictTypeForm) {
|
||||
boolean result = dictTypeService.saveDictType(dictTypeForm);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改字典类型")
|
||||
@Operation(summary = "修改字典类型")
|
||||
@PutMapping("/{id}")
|
||||
public Result updateDict(@PathVariable Long id, @RequestBody DictTypeForm dictTypeForm) {
|
||||
boolean status = dictTypeService.updateDictType(id, dictTypeForm);
|
||||
return Result.judge(status);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除字典类型")
|
||||
@Operation(summary = "删除字典类型")
|
||||
@DeleteMapping("/{ids}")
|
||||
public Result deleteDictTypes(
|
||||
@ApiParam("字典类型ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
@Parameter(name ="字典类型ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
) {
|
||||
boolean result = dictTypeService.deleteDictTypes(ids);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取字典类型的数据项")
|
||||
@Operation(summary = "获取字典类型的数据项")
|
||||
@GetMapping("/{typeCode}/items")
|
||||
public Result<List<Option>> listDictItemsByTypeCode(
|
||||
@ApiParam("字典类型编码") @PathVariable String typeCode
|
||||
@Parameter(name ="字典类型编码") @PathVariable String typeCode
|
||||
) {
|
||||
List<Option> list = dictTypeService.listDictItemsByTypeCode(typeCode);
|
||||
return Result.success(list);
|
||||
|
||||
@@ -8,9 +8,10 @@ import com.youlai.system.pojo.vo.menu.MenuVO;
|
||||
import com.youlai.system.pojo.vo.menu.ResourceVO;
|
||||
import com.youlai.system.pojo.vo.menu.RouteVO;
|
||||
import com.youlai.system.service.SysMenuService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
@@ -25,7 +26,7 @@ import java.util.List;
|
||||
* @author haoxr
|
||||
* @date 2020/11/06
|
||||
*/
|
||||
@Api(tags = "菜单接口")
|
||||
@Tag(name = "菜单接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/menus")
|
||||
@RequiredArgsConstructor
|
||||
@@ -34,44 +35,44 @@ public class SysMenuController {
|
||||
|
||||
private final SysMenuService menuService;
|
||||
|
||||
@ApiOperation(value = "资源(菜单+权限)列表")
|
||||
@Operation(summary = "资源(菜单+权限)列表")
|
||||
@GetMapping("/resources")
|
||||
public Result<List<ResourceVO>> listResources() {
|
||||
List<ResourceVO> resources = menuService.listResources();
|
||||
return Result.success(resources);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "菜单列表")
|
||||
@Operation(summary = "菜单列表")
|
||||
@GetMapping
|
||||
public Result listMenus(MenuQuery queryParams) {
|
||||
List<MenuVO> menuList = menuService.listMenus(queryParams);
|
||||
return Result.success(menuList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "菜单下拉列表")
|
||||
@Operation(summary = "菜单下拉列表")
|
||||
@GetMapping("/options")
|
||||
public Result listMenuOptions() {
|
||||
List<Option> menus = menuService.listMenuOptions();
|
||||
return Result.success(menus);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "路由列表")
|
||||
@Operation(summary = "路由列表")
|
||||
@GetMapping("/routes")
|
||||
public Result listRoutes() {
|
||||
List<RouteVO> routeList = menuService.listRoutes();
|
||||
return Result.success(routeList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "菜单详情")
|
||||
@Operation(summary = "菜单详情")
|
||||
@GetMapping("/{id}")
|
||||
public Result detail(
|
||||
@ApiParam(value = "菜单ID") @PathVariable Long id
|
||||
@Parameter(name = "菜单ID") @PathVariable Long id
|
||||
) {
|
||||
SysMenu menu = menuService.getById(id);
|
||||
return Result.success(menu);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增菜单")
|
||||
@Operation(summary = "新增菜单")
|
||||
@PostMapping
|
||||
@CacheEvict(cacheNames = "system", key = "'routes'")
|
||||
public Result addMenu(@RequestBody SysMenu menu) {
|
||||
@@ -79,7 +80,7 @@ public class SysMenuController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改菜单")
|
||||
@Operation(summary = "修改菜单")
|
||||
@PutMapping(value = "/{id}")
|
||||
@CacheEvict(cacheNames = "system", key = "'routes'")
|
||||
public Result updateMenu(
|
||||
@@ -89,21 +90,21 @@ public class SysMenuController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除菜单")
|
||||
@Operation(summary = "删除菜单")
|
||||
@DeleteMapping("/{ids}")
|
||||
@CacheEvict(cacheNames = "system", key = "'routes'")
|
||||
public Result deleteMenus(
|
||||
@ApiParam("菜单ID,多个以英文(,)分割") @PathVariable("ids") String ids
|
||||
@Parameter(name ="菜单ID,多个以英文(,)分割") @PathVariable("ids") String ids
|
||||
) {
|
||||
boolean result = menuService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改菜单显示状态")
|
||||
@Operation(summary = "修改菜单显示状态")
|
||||
@PatchMapping("/{menuId}")
|
||||
public Result updateMenuVisible(
|
||||
@ApiParam(value = "菜单ID") @PathVariable Long menuId,
|
||||
@ApiParam(value = "显示状态(1:显示;0:隐藏)") Integer visible
|
||||
@Parameter(name = "菜单ID") @PathVariable Long menuId,
|
||||
@Parameter(name = "显示状态(1:显示;0:隐藏)") Integer visible
|
||||
|
||||
) {
|
||||
boolean result =menuService.updateMenuVisible(menuId, visible);
|
||||
|
||||
@@ -9,16 +9,17 @@ import com.youlai.system.pojo.form.RoleForm;
|
||||
import com.youlai.system.pojo.query.RolePageQuery;
|
||||
import com.youlai.system.pojo.vo.role.RolePageVO;
|
||||
import com.youlai.system.service.SysRoleService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import jakarta.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "角色接口")
|
||||
@Tag(name = "角色接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/roles")
|
||||
@RequiredArgsConstructor
|
||||
@@ -26,72 +27,72 @@ public class SysRoleController {
|
||||
|
||||
private final SysRoleService roleService;
|
||||
|
||||
@ApiOperation(value = "角色分页列表")
|
||||
@Operation(summary = "角色分页列表")
|
||||
@GetMapping("/pages")
|
||||
public PageResult<RolePageVO> listRolePages(RolePageQuery queryParams) {
|
||||
Page<RolePageVO> result = roleService.listRolePages(queryParams);
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "角色下拉列表")
|
||||
@Operation(summary = "角色下拉列表")
|
||||
@GetMapping("/options")
|
||||
public Result<List<Option>> listRoleOptions() {
|
||||
List<Option> list = roleService.listRoleOptions();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "角色详情")
|
||||
@Operation(summary = "角色详情")
|
||||
@GetMapping("/{roleId}")
|
||||
public Result getRoleDetail(
|
||||
@ApiParam("角色ID") @PathVariable Long roleId
|
||||
@Parameter(name ="角色ID") @PathVariable Long roleId
|
||||
) {
|
||||
SysRole role = roleService.getById(roleId);
|
||||
return Result.success(role);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增角色")
|
||||
@Operation(summary = "新增角色")
|
||||
@PostMapping
|
||||
public Result addRole(@Valid @RequestBody RoleForm roleForm) {
|
||||
boolean result = roleService.saveRole(roleForm);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改角色")
|
||||
@Operation(summary = "修改角色")
|
||||
@PutMapping(value = "/{id}")
|
||||
public Result updateRole(@Valid @RequestBody RoleForm roleForm) {
|
||||
boolean result = roleService.saveRole(roleForm);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除角色")
|
||||
@Operation(summary = "删除角色")
|
||||
@DeleteMapping("/{ids}")
|
||||
public Result deleteRoles(
|
||||
@ApiParam("删除角色,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
@Parameter(name ="删除角色,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
) {
|
||||
boolean result = roleService.deleteRoles(ids);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改角色状态")
|
||||
@Operation(summary = "修改角色状态")
|
||||
@PutMapping(value = "/{roleId}/status")
|
||||
public Result updateRoleStatus(
|
||||
@ApiParam("角色ID") @PathVariable Long roleId,
|
||||
@ApiParam("角色状态:1-启用;0-禁用") @RequestParam Integer status
|
||||
@Parameter(name ="角色ID") @PathVariable Long roleId,
|
||||
@Parameter(name ="角色状态:1-启用;0-禁用") @RequestParam Integer status
|
||||
) {
|
||||
boolean result = roleService.updateRoleStatus(roleId, status);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取角色的菜单ID集合")
|
||||
@Operation(summary = "获取角色的菜单ID集合")
|
||||
@GetMapping("/{roleId}/menuIds")
|
||||
public Result<List<Long>> getRoleMenuIds(
|
||||
@ApiParam("角色ID") @PathVariable Long roleId
|
||||
@Parameter(name ="角色ID") @PathVariable Long roleId
|
||||
) {
|
||||
List<Long> resourceIds = roleService.getRoleMenuIds(roleId);
|
||||
return Result.success(resourceIds);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "分配角色的资源权限")
|
||||
@Operation(summary = "分配角色的资源权限")
|
||||
@PutMapping("/{roleId}/menus")
|
||||
public Result updateRoleMenus(
|
||||
@PathVariable Long roleId,
|
||||
|
||||
@@ -14,17 +14,18 @@ import com.youlai.system.pojo.vo.user.UserExportVO;
|
||||
import com.youlai.system.pojo.vo.user.UserLoginVO;
|
||||
import com.youlai.system.pojo.vo.user.UserVO;
|
||||
import com.youlai.system.service.SysUserService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import jakarta.servlet.ServletOutputStream;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -37,7 +38,7 @@ import java.util.List;
|
||||
* @author haoxr
|
||||
* @date 2022/10/16
|
||||
*/
|
||||
@Api(tags = "用户接口")
|
||||
@Tag(name = "用户接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/users")
|
||||
@RequiredArgsConstructor
|
||||
@@ -45,23 +46,23 @@ public class SysUserController {
|
||||
|
||||
private final SysUserService userService;
|
||||
|
||||
@ApiOperation(value = "用户分页列表")
|
||||
@Operation(summary = "用户分页列表")
|
||||
@GetMapping("/pages")
|
||||
public PageResult<UserVO> listUserPages(UserPageQuery queryParams) {
|
||||
IPage<UserVO> result = userService.listUserPages(queryParams);
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "用户表单数据")
|
||||
@Operation(summary = "用户表单数据")
|
||||
@GetMapping("/{userId}/form")
|
||||
public Result<UserForm> getUserDetail(
|
||||
@ApiParam(value = "用户ID") @PathVariable Long userId
|
||||
@Parameter(name = "用户ID") @PathVariable Long userId
|
||||
) {
|
||||
UserForm formData = userService.getUserFormData(userId);
|
||||
return Result.success(formData);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增用户")
|
||||
@Operation(summary = "新增用户")
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('sys:user:add')")
|
||||
public Result saveUser(
|
||||
@@ -71,41 +72,41 @@ public class SysUserController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改用户")
|
||||
@Operation(summary = "修改用户")
|
||||
@PutMapping(value = "/{userId}")
|
||||
@PreAuthorize("@pms.hasPermission('sys:user:edit')")
|
||||
public Result updateUser(
|
||||
@ApiParam("用户ID") @PathVariable Long userId,
|
||||
@Parameter(name ="用户ID") @PathVariable Long userId,
|
||||
@RequestBody @Validated UserForm userForm) {
|
||||
boolean result = userService.updateUser(userId, userForm);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除用户")
|
||||
@Operation(summary = "删除用户")
|
||||
@DeleteMapping("/{ids}")
|
||||
@PreAuthorize("@pms.hasPermission('sys:user:delete')")
|
||||
public Result deleteUsers(
|
||||
@ApiParam("用户ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
@Parameter(name ="用户ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
) {
|
||||
boolean result = userService.deleteUsers(ids);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改用户密码")
|
||||
@Operation(summary = "修改用户密码")
|
||||
@PatchMapping(value = "/{userId}/password")
|
||||
public Result updatePassword(
|
||||
@ApiParam("用户ID") @PathVariable Long userId,
|
||||
@Parameter(name ="用户ID") @PathVariable Long userId,
|
||||
@RequestParam String password
|
||||
) {
|
||||
boolean result = userService.updatePassword(userId, password);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改用户状态")
|
||||
@Operation(summary = "修改用户状态")
|
||||
@PatchMapping(value = "/{userId}/status")
|
||||
public Result updatePassword(
|
||||
@ApiParam("用户ID") @PathVariable Long userId,
|
||||
@ApiParam("用户状态(1:启用;0:禁用)") @RequestParam Integer status
|
||||
@Parameter(name ="用户ID") @PathVariable Long userId,
|
||||
@Parameter(name ="用户状态(1:启用;0:禁用)") @RequestParam Integer status
|
||||
) {
|
||||
boolean result = userService.update(new LambdaUpdateWrapper<SysUser>()
|
||||
.eq(SysUser::getId, userId)
|
||||
@@ -114,14 +115,14 @@ public class SysUserController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取登录用户信息")
|
||||
@Operation(summary = "获取登录用户信息")
|
||||
@GetMapping("/me")
|
||||
public Result<UserLoginVO> getUserLoginInfo() {
|
||||
UserLoginVO userLoginVO = userService.getUserLoginInfo();
|
||||
return Result.success(userLoginVO);
|
||||
}
|
||||
|
||||
@ApiOperation("用户导入模板下载")
|
||||
@Operation(summary ="用户导入模板下载")
|
||||
@GetMapping("/template")
|
||||
public void downloadTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "用户导入模板.xlsx";
|
||||
@@ -137,14 +138,14 @@ public class SysUserController {
|
||||
excelWriter.finish();
|
||||
}
|
||||
|
||||
@ApiOperation("导入用户")
|
||||
@Operation(summary ="导入用户")
|
||||
@PostMapping("/_import")
|
||||
public Result importUsers(UserImportDTO userImportDTO) throws IOException {
|
||||
String msg = userService.importUsers(userImportDTO);
|
||||
return Result.success(msg);
|
||||
}
|
||||
|
||||
@ApiOperation("导出用户")
|
||||
@Operation(summary ="导出用户")
|
||||
@GetMapping("/_export")
|
||||
public void exportUsers(UserPageQuery queryParams, HttpServletResponse response) throws IOException {
|
||||
String fileName = "用户列表.xlsx";
|
||||
|
||||
Reference in New Issue
Block a user