refactor: 项目结构优化
This commit is contained in:
@@ -2,10 +2,11 @@ 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 com.youlai.system.pojo.dto.LoginResult;
|
||||
import com.youlai.system.framework.security.JwtTokenManager;
|
||||
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.authentication.AuthenticationManager;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
@@ -23,9 +24,9 @@ public class AuthController {
|
||||
|
||||
@Operation(summary = "登录")
|
||||
@PostMapping("/login")
|
||||
public Result<TokenResult> login(
|
||||
@RequestParam String username,
|
||||
@RequestParam String password
|
||||
public Result<LoginResult> login(
|
||||
@Parameter(name = "用户名",example = "admin") @RequestParam String username,
|
||||
@Parameter(name = "密码") @RequestParam String password
|
||||
) {
|
||||
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
|
||||
username.toLowerCase().trim(),
|
||||
@@ -35,10 +36,10 @@ public class AuthController {
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
// 生成token
|
||||
String accessToken = "Bearer " + jwtTokenManager.createToken(authentication);
|
||||
TokenResult tokenResult = TokenResult.builder()
|
||||
LoginResult loginResult = LoginResult.builder()
|
||||
.accessToken(accessToken)
|
||||
.build();
|
||||
return Result.success(tokenResult);
|
||||
return Result.success(loginResult);
|
||||
}
|
||||
|
||||
@Operation(summary = "注销")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.youlai.system.controller;
|
||||
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.pojo.vo.file.FileInfo;
|
||||
import com.youlai.system.pojo.vo.FileInfoVO;
|
||||
import com.youlai.system.service.FileService;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@@ -21,11 +21,11 @@ public class FileController {
|
||||
|
||||
@PostMapping
|
||||
@Operation(summary = "文件上传")
|
||||
public Result<FileInfo> uploadFile(
|
||||
public Result<FileInfoVO> uploadFile(
|
||||
@Parameter(name ="表单文件对象") @RequestParam(value = "file") MultipartFile file
|
||||
) {
|
||||
FileInfo fileInfo = fileService.uploadFile(file);
|
||||
return Result.success(fileInfo);
|
||||
FileInfoVO fileInfoVO = fileService.uploadFile(file);
|
||||
return Result.success(fileInfoVO);
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
package com.youlai.system.controller;
|
||||
|
||||
import com.youlai.system.pojo.Option;
|
||||
import com.youlai.system.pojo.vo.Option;
|
||||
import com.youlai.system.common.result.Result;
|
||||
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.pojo.vo.DeptVO;
|
||||
import com.youlai.system.service.SysDeptService;
|
||||
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.springdoc.core.annotations.ParameterObject;
|
||||
|
||||
@@ -5,11 +5,10 @@ import com.youlai.system.common.result.PageResult;
|
||||
import com.youlai.system.common.result.Result;
|
||||
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.pojo.vo.DictItemPageVO;
|
||||
import com.youlai.system.service.SysDictItemService;
|
||||
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.springdoc.core.annotations.ParameterObject;
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.youlai.system.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.youlai.system.pojo.Option;
|
||||
import com.youlai.system.pojo.vo.Option;
|
||||
import com.youlai.system.common.result.PageResult;
|
||||
import com.youlai.system.common.result.Result;
|
||||
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.pojo.vo.DictTypePageVO;
|
||||
import com.youlai.system.service.SysDictTypeService;
|
||||
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.springdoc.core.annotations.ParameterObject;
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.youlai.system.controller;
|
||||
|
||||
import com.youlai.system.pojo.Option;
|
||||
import com.youlai.system.pojo.vo.Option;
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.pojo.entity.SysMenu;
|
||||
import com.youlai.system.pojo.query.MenuQuery;
|
||||
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.pojo.vo.MenuVO;
|
||||
import com.youlai.system.pojo.vo.ResourceVO;
|
||||
import com.youlai.system.pojo.vo.RouteVO;
|
||||
import com.youlai.system.service.SysMenuService;
|
||||
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;
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
package com.youlai.system.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.youlai.system.pojo.Option;
|
||||
import com.youlai.system.pojo.vo.Option;
|
||||
import com.youlai.system.common.result.PageResult;
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.pojo.entity.SysRole;
|
||||
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.pojo.vo.RolePageVO;
|
||||
import com.youlai.system.service.SysRoleService;
|
||||
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.springdoc.core.annotations.ParameterObject;
|
||||
|
||||
@@ -6,17 +6,19 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.youlai.system.common.result.PageResult;
|
||||
import com.youlai.system.common.result.Result;
|
||||
import com.youlai.system.pojo.dto.UserImportDTO;
|
||||
import com.youlai.system.common.util.ExcelUtils;
|
||||
import com.youlai.system.framework.easyexcel.ExcelResult;
|
||||
import com.youlai.system.listener.UserImportListener;
|
||||
import com.youlai.system.pojo.vo.UserImportVO;
|
||||
import com.youlai.system.pojo.form.UserForm;
|
||||
import com.youlai.system.pojo.entity.SysUser;
|
||||
import com.youlai.system.pojo.query.UserPageQuery;
|
||||
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.pojo.vo.UserExportVO;
|
||||
import com.youlai.system.pojo.vo.UserInfoVO;
|
||||
import com.youlai.system.pojo.vo.UserPageVO;
|
||||
import com.youlai.system.service.SysUserService;
|
||||
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.springdoc.core.annotations.ParameterObject;
|
||||
@@ -27,6 +29,8 @@ import org.springframework.web.bind.annotation.*;
|
||||
import jakarta.servlet.ServletOutputStream;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -49,17 +53,17 @@ public class SysUserController {
|
||||
|
||||
@Operation(summary = "用户分页列表")
|
||||
@GetMapping("/pages")
|
||||
public PageResult<UserVO> listUserPages(
|
||||
public PageResult<UserPageVO> listUserPages(
|
||||
@ParameterObject UserPageQuery queryParams
|
||||
) {
|
||||
IPage<UserVO> result = userService.listUserPages(queryParams);
|
||||
IPage<UserPageVO> result = userService.listUserPages(queryParams);
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
@Operation(summary = "用户表单数据")
|
||||
@GetMapping("/{userId}/form")
|
||||
public Result<UserForm> getUserDetail(
|
||||
@Parameter(name = "用户ID") @PathVariable Long userId
|
||||
public Result<UserForm> getUserForm(
|
||||
@Parameter(name = "用户ID") @PathVariable Long userId
|
||||
) {
|
||||
UserForm formData = userService.getUserFormData(userId);
|
||||
return Result.success(formData);
|
||||
@@ -79,7 +83,7 @@ public class SysUserController {
|
||||
@PutMapping(value = "/{userId}")
|
||||
@PreAuthorize("@pms.hasPermission('sys:user:edit')")
|
||||
public Result updateUser(
|
||||
@Parameter(name ="用户ID") @PathVariable Long userId,
|
||||
@Parameter(name = "用户ID") @PathVariable Long userId,
|
||||
@RequestBody @Validated UserForm userForm) {
|
||||
boolean result = userService.updateUser(userId, userForm);
|
||||
return Result.judge(result);
|
||||
@@ -89,7 +93,7 @@ public class SysUserController {
|
||||
@DeleteMapping("/{ids}")
|
||||
@PreAuthorize("@pms.hasPermission('sys:user:delete')")
|
||||
public Result deleteUsers(
|
||||
@Parameter(name ="用户ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
@Parameter(name = "用户ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
) {
|
||||
boolean result = userService.deleteUsers(ids);
|
||||
return Result.judge(result);
|
||||
@@ -98,7 +102,7 @@ public class SysUserController {
|
||||
@Operation(summary = "修改用户密码")
|
||||
@PatchMapping(value = "/{userId}/password")
|
||||
public Result updatePassword(
|
||||
@Parameter(name ="用户ID") @PathVariable Long userId,
|
||||
@Parameter(name = "用户ID") @PathVariable Long userId,
|
||||
@RequestParam String password
|
||||
) {
|
||||
boolean result = userService.updatePassword(userId, password);
|
||||
@@ -108,8 +112,8 @@ public class SysUserController {
|
||||
@Operation(summary = "修改用户状态")
|
||||
@PatchMapping(value = "/{userId}/status")
|
||||
public Result updatePassword(
|
||||
@Parameter(name ="用户ID") @PathVariable Long userId,
|
||||
@Parameter(name ="用户状态(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)
|
||||
@@ -118,14 +122,14 @@ public class SysUserController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@Operation(summary = "获取登录用户信息")
|
||||
@Operation(summary = "获取当前登录用户信息")
|
||||
@GetMapping("/me")
|
||||
public Result<UserLoginVO> getUserLoginInfo() {
|
||||
UserLoginVO userLoginVO = userService.getUserLoginInfo();
|
||||
return Result.success(userLoginVO);
|
||||
public Result<UserInfoVO> getUserLoginInfo() {
|
||||
UserInfoVO userInfoVO = userService.getUserLoginInfo();
|
||||
return Result.success(userInfoVO);
|
||||
}
|
||||
|
||||
@Operation(summary ="用户导入模板下载")
|
||||
@Operation(summary = "用户导入模板下载")
|
||||
@GetMapping("/template")
|
||||
public void downloadTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "用户导入模板.xlsx";
|
||||
@@ -141,14 +145,15 @@ public class SysUserController {
|
||||
excelWriter.finish();
|
||||
}
|
||||
|
||||
@Operation(summary ="导入用户")
|
||||
@Operation(summary = "导入用户")
|
||||
@PostMapping("/_import")
|
||||
public Result importUsers(UserImportDTO userImportDTO) throws IOException {
|
||||
String msg = userService.importUsers(userImportDTO);
|
||||
return Result.success(msg);
|
||||
public Result importUsers(@Parameter(name = "部门ID") Long deptId, MultipartFile file) throws IOException {
|
||||
UserImportListener listener = new UserImportListener(deptId);
|
||||
ExcelResult excelResult = ExcelUtils.importExcel(file.getInputStream(), UserImportVO.class, listener);
|
||||
return Result.success(excelResult.getMsg());
|
||||
}
|
||||
|
||||
@Operation(summary ="导出用户")
|
||||
@Operation(summary = "导出用户")
|
||||
@GetMapping("/_export")
|
||||
public void exportUsers(UserPageQuery queryParams, HttpServletResponse response) throws IOException {
|
||||
String fileName = "用户列表.xlsx";
|
||||
|
||||
Reference in New Issue
Block a user