feat: 重构项目结构并新增微信小程序认证模块
This commit is contained in:
@@ -5,20 +5,21 @@ import cn.idev.excel.ExcelWriter;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.youlai.boot.common.annotation.Log;
|
||||
import com.youlai.boot.common.annotation.RepeatSubmit;
|
||||
import com.youlai.boot.common.enums.ActionTypeEnum;
|
||||
import com.youlai.boot.common.enums.LogModuleEnum;
|
||||
import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.core.web.ExcelResult;
|
||||
import com.youlai.boot.core.web.PageResult;
|
||||
import com.youlai.boot.core.web.Result;
|
||||
import com.youlai.boot.framework.security.util.SecurityUtils;
|
||||
import com.youlai.boot.shared.dto.Option;
|
||||
import com.youlai.boot.common.result.ExcelResult;
|
||||
import com.youlai.boot.common.result.PageResult;
|
||||
import com.youlai.boot.common.result.Result;
|
||||
import com.youlai.boot.common.util.ExcelUtils;
|
||||
import com.youlai.boot.security.util.SecurityUtils;
|
||||
import com.youlai.boot.system.listener.UserImportListener;
|
||||
import com.youlai.boot.system.model.dto.UserExportDTO;
|
||||
import com.youlai.boot.system.model.dto.UserImportDTO;
|
||||
import com.youlai.boot.system.model.entity.User;
|
||||
import com.youlai.boot.system.model.vo.UserExportVO;
|
||||
import com.youlai.boot.system.model.form.UserImportForm;
|
||||
import com.youlai.boot.system.model.entity.SysUser;
|
||||
import com.youlai.boot.system.model.form.*;
|
||||
import com.youlai.boot.system.model.query.UserQuery;
|
||||
import com.youlai.boot.system.model.dto.CurrentUserDTO;
|
||||
import com.youlai.boot.system.model.vo.CurrentUserVO;
|
||||
import com.youlai.boot.system.model.vo.UserPageVO;
|
||||
import com.youlai.boot.system.model.vo.UserProfileVO;
|
||||
import com.youlai.boot.system.service.UserService;
|
||||
@@ -57,7 +58,7 @@ public class UserController {
|
||||
|
||||
@Operation(summary = "用户列表")
|
||||
@GetMapping
|
||||
@Log(value = "用户列表", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.LIST)
|
||||
public PageResult<UserPageVO> getUserList(
|
||||
@Valid UserQuery queryParams
|
||||
) {
|
||||
@@ -68,7 +69,7 @@ public class UserController {
|
||||
@PostMapping
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:create')")
|
||||
@RepeatSubmit
|
||||
@Log(value = "新增用户", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.INSERT)
|
||||
public Result<?> saveUser(
|
||||
@RequestBody @Valid UserForm userForm
|
||||
) {
|
||||
@@ -79,7 +80,6 @@ public class UserController {
|
||||
@Operation(summary = "获取用户表单数据")
|
||||
@GetMapping("/{userId}/form")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:update')")
|
||||
@Log(value = "用户表单数据", module = LogModuleEnum.USER)
|
||||
public Result<UserForm> getUserForm(
|
||||
@Parameter(description = "用户ID") @PathVariable Long userId
|
||||
) {
|
||||
@@ -90,7 +90,7 @@ public class UserController {
|
||||
@Operation(summary = "修改用户")
|
||||
@PutMapping(value = "/{userId}")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:update')")
|
||||
@Log(value = "修改用户", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.UPDATE)
|
||||
public Result<Void> updateUser(
|
||||
@Parameter(description = "用户ID") @PathVariable Long userId,
|
||||
@RequestBody @Valid UserForm userForm
|
||||
@@ -102,7 +102,7 @@ public class UserController {
|
||||
@Operation(summary = "删除用户")
|
||||
@DeleteMapping("/{ids}")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:delete')")
|
||||
@Log(value = "删除用户", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.DELETE)
|
||||
public Result<Void> deleteUsers(
|
||||
@Parameter(description = "用户ID,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
) {
|
||||
@@ -113,14 +113,14 @@ public class UserController {
|
||||
@Operation(summary = "修改用户状态")
|
||||
@PatchMapping(value = "/{userId}/status")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:update')")
|
||||
@Log(value = "修改用户状态", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.UPDATE)
|
||||
public Result<Void> updateUserStatus(
|
||||
@Parameter(description = "用户ID") @PathVariable Long userId,
|
||||
@Parameter(description = "用户状态(1:启用;0:禁用)") @RequestParam Integer status
|
||||
) {
|
||||
boolean result = userService.update(new LambdaUpdateWrapper<User>()
|
||||
.eq(User::getId, userId)
|
||||
.set(User::getStatus, status)
|
||||
boolean result = userService.update(new LambdaUpdateWrapper<SysUser>()
|
||||
.eq(SysUser::getId, userId)
|
||||
.set(SysUser::getStatus, status)
|
||||
);
|
||||
return Result.judge(result);
|
||||
}
|
||||
@@ -128,6 +128,7 @@ public class UserController {
|
||||
@Operation(summary = "重置指定用户密码")
|
||||
@PutMapping(value = "/{userId}/password/reset")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:reset-password')")
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.RESET_PASSWORD)
|
||||
public Result<?> resetUserPassword(
|
||||
@Parameter(description = "用户ID") @PathVariable Long userId,
|
||||
@RequestParam String password
|
||||
@@ -138,15 +139,13 @@ public class UserController {
|
||||
|
||||
@Operation(summary = "获取当前登录用户信息")
|
||||
@GetMapping("/me")
|
||||
@Log(value = "获取当前登录用户信息", module = LogModuleEnum.USER)
|
||||
public Result<CurrentUserDTO> getCurrentUser() {
|
||||
CurrentUserDTO currentUserDto = userService.getCurrentUserInfo();
|
||||
return Result.success(currentUserDto);
|
||||
public Result<CurrentUserVO> getCurrentUser() {
|
||||
CurrentUserVO currentUserVo = userService.getCurrentUserInfo();
|
||||
return Result.success(currentUserVo);
|
||||
}
|
||||
|
||||
@Operation(summary = "用户导入模板下载")
|
||||
@GetMapping("/template")
|
||||
@Log(value = "用户导入模板下载", module = LogModuleEnum.USER)
|
||||
public void downloadTemplate(HttpServletResponse response) {
|
||||
String fileName = "用户导入模板.xlsx";
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
@@ -166,24 +165,24 @@ public class UserController {
|
||||
@Operation(summary = "导入用户")
|
||||
@PostMapping("/import")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:import')")
|
||||
@Log(value = "导入用户", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.IMPORT)
|
||||
public Result<ExcelResult> importUsers(MultipartFile file) throws IOException {
|
||||
UserImportListener listener = new UserImportListener();
|
||||
ExcelUtils.importExcel(file.getInputStream(), UserImportDTO.class, listener);
|
||||
ExcelUtils.importExcel(file.getInputStream(), UserImportForm.class, listener);
|
||||
return Result.success(listener.getExcelResult());
|
||||
}
|
||||
|
||||
@Operation(summary = "导出用户")
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@ss.hasPerm('sys:user:export')")
|
||||
@Log(value = "导出用户", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.EXPORT)
|
||||
public void exportUsers(UserQuery queryParams, HttpServletResponse response) throws IOException {
|
||||
String fileName = "用户列表.xlsx";
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8));
|
||||
|
||||
List<UserExportDTO> exportUserList = userService.listExportUsers(queryParams);
|
||||
EasyExcel.write(response.getOutputStream(), UserExportDTO.class).sheet("用户列表")
|
||||
List<UserExportVO> exportUserList = userService.listExportUsers(queryParams);
|
||||
EasyExcel.write(response.getOutputStream(), UserExportVO.class).sheet("用户列表")
|
||||
.doWrite(exportUserList);
|
||||
}
|
||||
|
||||
@@ -196,7 +195,6 @@ public class UserController {
|
||||
|
||||
@Operation(summary = "获取个人中心用户信息")
|
||||
@GetMapping("/profile")
|
||||
@Log(value = "获取个人中心用户信息", module = LogModuleEnum.USER)
|
||||
public Result<UserProfileVO> getUserProfile() {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
UserProfileVO userProfile = userService.getUserProfile(userId);
|
||||
@@ -205,7 +203,7 @@ public class UserController {
|
||||
|
||||
@Operation(summary = "个人中心修改用户信息")
|
||||
@PutMapping("/profile")
|
||||
@Log(value = "个人中心修改用户信息", module = LogModuleEnum.USER)
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.UPDATE)
|
||||
public Result<?> updateUserProfile(@RequestBody UserProfileForm formData) {
|
||||
boolean result = userService.updateUserProfile(formData);
|
||||
return Result.judge(result);
|
||||
@@ -214,6 +212,7 @@ public class UserController {
|
||||
|
||||
@Operation(summary = "当前用户修改密码")
|
||||
@PutMapping(value = "/password")
|
||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.CHANGE_PASSWORD)
|
||||
public Result<?> changeCurrentUserPassword(
|
||||
@RequestBody PasswordUpdateForm data
|
||||
) {
|
||||
@@ -276,5 +275,4 @@ public class UserController {
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user