From 3244af424de48477999dd1aaa198f52967eb446c Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Tue, 25 Mar 2025 23:17:18 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20=E4=BE=9D=E8=B5=96=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E4=BC=98=E5=8C=96=E5=92=8C=E5=AE=8C=E5=96=84=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index bf2d86f3..cdae3095 100644 --- a/pom.xml +++ b/pom.xml @@ -113,6 +113,21 @@ spring-boot-starter-aop + + org.springframework.boot + spring-boot-starter-validation + + + + org.springframework.boot + spring-boot-starter-websocket + + + + org.springframework.boot + spring-boot-starter-mail + + com.mysql mysql-connector-j @@ -132,12 +147,14 @@ ${mybatis-plus.version} + com.github.xiaoymin knife4j-openapi3-jakarta-spring-boot-starter ${knife4j.version} + org.mapstruct mapstruct @@ -150,25 +167,20 @@ ${mapstruct.version} + com.xuxueli xxl-job-core ${xxl-job.version} + cn.idev.excel fastexcel ${fastexcel.version} - - - - org.springframework.boot - spring-boot-starter-validation - - io.minio @@ -176,6 +188,7 @@ ${minio.version} + com.aliyun.oss aliyun-sdk-oss @@ -189,34 +202,27 @@ ${redisson.version} - - org.springframework.boot - spring-boot-starter-websocket - - + com.baomidou mybatis-plus-generator ${mybatis-plus-generator.version} + org.apache.velocity velocity-engine-core ${velocity.version} + org.lionsoul ip2region ${ip2region.version} - - org.springframework.boot - spring-boot-starter-mail - - com.aliyun aliyun-java-sdk-core @@ -235,6 +241,7 @@ ${weixin-java.version} + com.github.ben-manes.caffeine caffeine From 505dcf1a73fed3b42b154ec9e28ba5d271b05f2a Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Tue, 25 Mar 2025 23:20:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=E8=8E=B7=E5=8F=96=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/UserController.java | 8 +++---- .../boot/system/converter/UserConverter.java | 6 ++--- .../CurrentUserDTO.java} | 8 +++---- .../boot/system/service/UserService.java | 6 ++--- .../system/service/impl/UserServiceImpl.java | 23 ++++++++++--------- 5 files changed, 26 insertions(+), 25 deletions(-) rename src/main/java/com/youlai/boot/system/model/{vo/UserInfoVO.java => dto/CurrentUserDTO.java} (79%) diff --git a/src/main/java/com/youlai/boot/system/controller/UserController.java b/src/main/java/com/youlai/boot/system/controller/UserController.java index 6705f202..8c574612 100644 --- a/src/main/java/com/youlai/boot/system/controller/UserController.java +++ b/src/main/java/com/youlai/boot/system/controller/UserController.java @@ -19,7 +19,7 @@ import com.youlai.boot.system.model.dto.UserImportDTO; import com.youlai.boot.system.model.entity.User; import com.youlai.boot.system.model.form.*; import com.youlai.boot.system.model.query.UserPageQuery; -import com.youlai.boot.system.model.vo.UserInfoVO; +import com.youlai.boot.system.model.dto.CurrentUserDTO; import com.youlai.boot.system.model.vo.UserPageVO; import com.youlai.boot.system.model.vo.UserProfileVO; import com.youlai.boot.system.service.UserService; @@ -128,9 +128,9 @@ public class UserController { @Operation(summary = "获取当前登录用户信息") @GetMapping("/me") @Log(value = "获取当前登录用户信息", module = LogModuleEnum.USER) - public Result getCurrentUserInfo() { - UserInfoVO userInfoVO = userService.getCurrentUserInfo(); - return Result.success(userInfoVO); + public Result getCurrentUser() { + CurrentUserDTO currentUserDTO = userService.getCurrentUser(); + return Result.success(currentUserDTO); } @Operation(summary = "用户导入模板下载") diff --git a/src/main/java/com/youlai/boot/system/converter/UserConverter.java b/src/main/java/com/youlai/boot/system/converter/UserConverter.java index 2134c5e8..128d4773 100644 --- a/src/main/java/com/youlai/boot/system/converter/UserConverter.java +++ b/src/main/java/com/youlai/boot/system/converter/UserConverter.java @@ -3,7 +3,7 @@ package com.youlai.boot.system.converter; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youlai.boot.common.model.Option; import com.youlai.boot.system.model.entity.User; -import com.youlai.boot.system.model.vo.UserInfoVO; +import com.youlai.boot.system.model.dto.CurrentUserDTO; import com.youlai.boot.system.model.vo.UserPageVO; import com.youlai.boot.system.model.vo.UserProfileVO; import com.youlai.boot.system.model.bo.UserBO; @@ -38,12 +38,12 @@ public interface UserConverter { @Mappings({ @Mapping(target = "userId", source = "id") }) - UserInfoVO toUserInfoVo(User entity); + CurrentUserDTO toCurrentUserDto(User entity); User toEntity(UserImportDTO vo); - UserProfileVO toProfileVO(UserBO bo); + UserProfileVO toProfileVo(UserBO bo); User toEntity(UserProfileForm formData); diff --git a/src/main/java/com/youlai/boot/system/model/vo/UserInfoVO.java b/src/main/java/com/youlai/boot/system/model/dto/CurrentUserDTO.java similarity index 79% rename from src/main/java/com/youlai/boot/system/model/vo/UserInfoVO.java rename to src/main/java/com/youlai/boot/system/model/dto/CurrentUserDTO.java index fc2d095d..e29bd22b 100644 --- a/src/main/java/com/youlai/boot/system/model/vo/UserInfoVO.java +++ b/src/main/java/com/youlai/boot/system/model/dto/CurrentUserDTO.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.model.vo; +package com.youlai.boot.system.model.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -6,14 +6,14 @@ import lombok.Data; import java.util.Set; /** - * 用户登录视图对象 + * 当前登录用户对象 * * @author haoxr * @since 2022/1/14 */ -@Schema(description ="当前登录用户视图对象") +@Schema(description ="当前登录用户对象") @Data -public class UserInfoVO { +public class CurrentUserDTO { @Schema(description="用户ID") private Long userId; diff --git a/src/main/java/com/youlai/boot/system/service/UserService.java b/src/main/java/com/youlai/boot/system/service/UserService.java index cacdbd2d..1929fd8e 100644 --- a/src/main/java/com/youlai/boot/system/service/UserService.java +++ b/src/main/java/com/youlai/boot/system/service/UserService.java @@ -3,11 +3,11 @@ package com.youlai.boot.system.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.youlai.boot.common.model.Option; +import com.youlai.boot.system.model.dto.CurrentUserDTO; import com.youlai.boot.system.model.dto.UserAuthInfo; import com.youlai.boot.system.model.dto.UserExportDTO; import com.youlai.boot.system.model.entity.User; import com.youlai.boot.system.model.query.UserPageQuery; -import com.youlai.boot.system.model.vo.UserInfoVO; import com.youlai.boot.system.model.vo.UserPageVO; import com.youlai.boot.system.model.vo.UserProfileVO; import com.youlai.boot.system.model.form.*; @@ -87,9 +87,9 @@ public interface UserService extends IService { /** * 获取登录用户信息 * - * @return {@link UserInfoVO} 登录用户信息 + * @return {@link CurrentUserDTO} 登录用户信息 */ - UserInfoVO getCurrentUserInfo(); + CurrentUserDTO getCurrentUser(); /** * 获取个人中心用户信息 diff --git a/src/main/java/com/youlai/boot/system/service/impl/UserServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/UserServiceImpl.java index 2e1f056c..1ccffce5 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/UserServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/UserServiceImpl.java @@ -22,6 +22,7 @@ import com.youlai.boot.system.converter.UserConverter; import com.youlai.boot.system.enums.DictCodeEnum; import com.youlai.boot.system.mapper.UserMapper; import com.youlai.boot.system.model.bo.UserBO; +import com.youlai.boot.system.model.dto.CurrentUserDTO; import com.youlai.boot.system.model.dto.UserAuthInfo; import com.youlai.boot.system.model.dto.UserExportDTO; import com.youlai.boot.system.model.entity.DictItem; @@ -29,7 +30,6 @@ import com.youlai.boot.system.model.entity.User; import com.youlai.boot.system.model.entity.UserRole; import com.youlai.boot.system.model.form.*; import com.youlai.boot.system.model.query.UserPageQuery; -import com.youlai.boot.system.model.vo.UserInfoVO; import com.youlai.boot.system.model.vo.UserPageVO; import com.youlai.boot.system.model.vo.UserProfileVO; import com.youlai.boot.system.service.*; @@ -314,15 +314,15 @@ public class UserServiceImpl extends ServiceImpl implements Us /** * 获取登录用户信息 * - * @return {@link UserInfoVO} 用户信息 + * @return {@link CurrentUserDTO} 用户信息 */ @Override - public UserInfoVO getCurrentUserInfo() { + public CurrentUserDTO getCurrentUser() { String username = SecurityUtils.getUsername(); // 获取登录用户基础信息 - User user = this.getOne(new LambdaQueryWrapper() + User user = this.lambdaQuery() .eq(User::getUsername, username) .select( User::getId, @@ -330,20 +330,21 @@ public class UserServiceImpl extends ServiceImpl implements Us User::getNickname, User::getAvatar ) - ); - // entity->VO - UserInfoVO userInfoVO = userConverter.toUserInfoVo(user); + .oneOpt() + .orElseThrow(() -> new BusinessException("用户[" + username + "]不存在")); + + CurrentUserDTO currentUserDTO = userConverter.toCurrentUserDto(user); // 用户角色集合 Set roles = SecurityUtils.getRoles(); - userInfoVO.setRoles(roles); + currentUserDTO.setRoles(roles); // 用户权限集合 if (CollectionUtil.isNotEmpty(roles)) { Set perms = permissionService.getRolePermsFormCache(roles); - userInfoVO.setPerms(perms); + currentUserDTO.setPerms(perms); } - return userInfoVO; + return currentUserDTO; } /** @@ -355,7 +356,7 @@ public class UserServiceImpl extends ServiceImpl implements Us @Override public UserProfileVO getUserProfile(Long userId) { UserBO entity = this.baseMapper.getUserProfile(userId); - return userConverter.toProfileVO(entity); + return userConverter.toProfileVo(entity); } /** From f924d32417daa89d6bde73181e1c22bc228f00af Mon Sep 17 00:00:00 2001 From: metorplex <527073700@qq.com> Date: Wed, 26 Mar 2025 11:09:27 +0000 Subject: [PATCH 3/3] =?UTF-8?q?update=20src/main/java/com/youlai/boot/syst?= =?UTF-8?q?em/controller/DictController.java.=20=E6=BA=90=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=98=AFids=20=E4=B8=8E@DeleteMapping("/{dictCode}/it?= =?UTF-8?q?ems/{itemIds}")=E4=B8=AD=E5=8F=82=E6=95=B0=E5=90=8DitemIds=20?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4=EF=BC=8C=E6=8F=90=E4=BA=A4=E6=97=B6?= =?UTF-8?q?=E4=BC=9A=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: metorplex <527073700@qq.com> --- .../com/youlai/boot/system/controller/DictController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/youlai/boot/system/controller/DictController.java b/src/main/java/com/youlai/boot/system/controller/DictController.java index 1944d1b3..d0626ddb 100644 --- a/src/main/java/com/youlai/boot/system/controller/DictController.java +++ b/src/main/java/com/youlai/boot/system/controller/DictController.java @@ -170,9 +170,9 @@ public class DictController { @DeleteMapping("/{dictCode}/items/{itemIds}") @PreAuthorize("@ss.hasPerm('sys:dict-item:delete')") public Result deleteDictItems( - @Parameter(description = "字典ID,多个以英文逗号(,)拼接") @PathVariable String ids + @Parameter(description = "字典ID,多个以英文逗号(,)拼接") @PathVariable String itemIds ) { - dictItemService.deleteDictItemByIds(ids); + dictItemService.deleteDictItemByIds(itemIds); return Result.success(); }