refactor: 项目结构优化

This commit is contained in:
haoxr
2023-03-01 23:24:07 +08:00
parent 42420b7019
commit aa422ff45c
64 changed files with 168 additions and 414 deletions

View File

@@ -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";