From bf9fbde585055c34e3b71b724853dc27e436be8e Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Tue, 13 Aug 2024 19:52:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E4=B8=AA=E4=BA=BA=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=92=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 23 ++++++++++- .../system/converter/UserConverter.java | 5 +++ .../system/model/form/UserProfileForm.java | 38 +++++++++++++++++++ .../youlai/system/service/SysUserService.java | 18 ++++++++- .../service/impl/SysUserServiceImpl.java | 25 ++++++++++++ 5 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/youlai/system/model/form/UserProfileForm.java diff --git a/src/main/java/com/youlai/system/controller/SysUserController.java b/src/main/java/com/youlai/system/controller/SysUserController.java index c83f5743..23807d79 100644 --- a/src/main/java/com/youlai/system/controller/SysUserController.java +++ b/src/main/java/com/youlai/system/controller/SysUserController.java @@ -6,6 +6,7 @@ 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.model.form.UserProfileForm; import com.youlai.system.util.ExcelUtils; import com.youlai.system.enums.LogModuleEnum; import com.youlai.system.model.dto.UserImportDTO; @@ -103,7 +104,7 @@ public class SysUserController { return Result.judge(result); } - @Operation(summary = "修改用户密码") + @Operation(summary = "重置用户密码") @PatchMapping(value = "/{userId}/password") @PreAuthorize("@ss.hasPerm('sys:user:password:reset')") public Result updatePassword( @@ -169,4 +170,24 @@ public class SysUserController { EasyExcel.write(response.getOutputStream(), UserExportDTO.class).sheet("用户列表") .doWrite(exportUserList); } + + @Operation(summary = "获取个人中心用户信息") + @GetMapping("/{userId}/profile") + public Result getUserProfile( + @PathVariable Long userId + ) { + UserProfileForm userProfile = userService.getUserProfile(userId); + return Result.success(userProfile); + } + + @Operation(summary = "修改个人中心用户信息") + @PutMapping("/{userId}/profile") + public Result updateUserProfile( + @PathVariable Long userId, + @RequestBody UserProfileForm formData + ) { + boolean result = userService.updateUserProfile(formData); + return Result.judge(result); + } + } diff --git a/src/main/java/com/youlai/system/converter/UserConverter.java b/src/main/java/com/youlai/system/converter/UserConverter.java index cb362af7..85d91bea 100644 --- a/src/main/java/com/youlai/system/converter/UserConverter.java +++ b/src/main/java/com/youlai/system/converter/UserConverter.java @@ -5,6 +5,7 @@ import com.youlai.system.model.bo.UserBO; import com.youlai.system.model.entity.SysUser; import com.youlai.system.model.form.UserForm; import com.youlai.system.model.dto.UserImportDTO; +import com.youlai.system.model.form.UserProfileForm; import com.youlai.system.model.vo.UserInfoVO; import com.youlai.system.model.vo.UserPageVO; import org.mapstruct.InheritInverseConfiguration; @@ -40,4 +41,8 @@ public interface UserConverter { SysUser toEntity(UserImportDTO vo); + + UserProfileForm toProfileForm(SysUser entity); + + SysUser toEntity(UserProfileForm formData); } diff --git a/src/main/java/com/youlai/system/model/form/UserProfileForm.java b/src/main/java/com/youlai/system/model/form/UserProfileForm.java new file mode 100644 index 00000000..2f23fdc4 --- /dev/null +++ b/src/main/java/com/youlai/system/model/form/UserProfileForm.java @@ -0,0 +1,38 @@ +package com.youlai.system.model.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 个人中心用户信息 + * + * @author Ray + * @since 2024/8/13 + */ +@Schema(description = "个人中心用户信息") +@Data +public class UserProfileForm { + + @Schema(description = "用户ID") + private Long id; + + @Schema(description = "用户名") + private String username; + + @Schema(description = "用户昵称") + private String nickname; + + @Schema(description = "头像URL") + private String avatar; + + @Schema(description = "性别") + private Integer gender; + + @Schema(description = "手机号") + private String mobile; + + @Schema(description = "邮箱") + private String email; + + +} diff --git a/src/main/java/com/youlai/system/service/SysUserService.java b/src/main/java/com/youlai/system/service/SysUserService.java index 0b9467d4..515a170c 100644 --- a/src/main/java/com/youlai/system/service/SysUserService.java +++ b/src/main/java/com/youlai/system/service/SysUserService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.youlai.system.model.entity.SysUser; import com.youlai.system.model.form.UserForm; import com.youlai.system.model.dto.UserAuthInfo; +import com.youlai.system.model.form.UserProfileForm; import com.youlai.system.model.query.UserPageQuery; import com.youlai.system.model.dto.UserExportDTO; import com.youlai.system.model.vo.UserInfoVO; @@ -87,7 +88,7 @@ public interface SysUserService extends IService { /** * 获取导出用户列表 * - * @param queryParams + * @param queryParams 查询参数 * @return */ List listExportUsers(UserPageQuery queryParams); @@ -99,4 +100,19 @@ public interface SysUserService extends IService { * @return */ UserInfoVO getCurrentUserInfo(); + + /** + * 获取个人中心用户信息 + * + * @return + */ + UserProfileForm getUserProfile(Long userId); + + /** + * 修改个人中心用户信息 + * + * @param formData 表单数据 + * @return + */ + boolean updateUserProfile(UserProfileForm formData); } diff --git a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java index f7451e88..c21445ce 100644 --- a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.system.common.constant.SystemConstants; import com.youlai.system.converter.UserConverter; +import com.youlai.system.model.form.UserProfileForm; import com.youlai.system.security.util.SecurityUtils; import com.youlai.system.mapper.SysUserMapper; import com.youlai.system.model.dto.UserAuthInfo; @@ -250,5 +251,29 @@ public class SysUserServiceImpl extends ServiceImpl impl return userInfoVO; } + /** + * 获取个人中心用户信息 + * + * @param userId 用户ID + * @return + */ + @Override + public UserProfileForm getUserProfile(Long userId) { + SysUser entity = this.getById(userId); + return userConverter.toProfileForm(entity); + } + + /** + * 修改个人中心用户信息 + * + * @param formData 表单数据 + * @return + */ + @Override + public boolean updateUserProfile(UserProfileForm formData) { + SysUser entity = userConverter.toEntity(formData); + return this.updateById(entity); + } + } From c8876578ac0d064a2732a8a7139d75fa479ff094 Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Tue, 13 Aug 2024 19:53:01 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20mapstruct=20=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=91=BD=E5=90=8D=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../youlai/system/converter/DeptConverter.java | 2 +- .../youlai/system/converter/DictConverter.java | 2 +- .../system/converter/DictItemConverter.java | 15 +++++++-------- .../youlai/system/converter/MenuConverter.java | 2 +- .../youlai/system/converter/RoleConverter.java | 2 +- .../system/converter/SysConfigConverter.java | 2 +- .../system/service/impl/SysConfigServiceImpl.java | 2 +- .../system/service/impl/SysDeptServiceImpl.java | 2 +- .../system/service/impl/SysDictServiceImpl.java | 4 ++-- .../system/service/impl/SysMenuServiceImpl.java | 2 +- .../system/service/impl/SysRoleServiceImpl.java | 2 +- 11 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/youlai/system/converter/DeptConverter.java b/src/main/java/com/youlai/system/converter/DeptConverter.java index bf165616..83feca8c 100644 --- a/src/main/java/com/youlai/system/converter/DeptConverter.java +++ b/src/main/java/com/youlai/system/converter/DeptConverter.java @@ -16,7 +16,7 @@ public interface DeptConverter { DeptForm toForm(SysDept entity); - DeptVO convertToVo(SysDept entity); + DeptVO toVo(SysDept entity); SysDept toEntity(DeptForm deptForm); diff --git a/src/main/java/com/youlai/system/converter/DictConverter.java b/src/main/java/com/youlai/system/converter/DictConverter.java index 94bbc246..870b3d10 100644 --- a/src/main/java/com/youlai/system/converter/DictConverter.java +++ b/src/main/java/com/youlai/system/converter/DictConverter.java @@ -15,7 +15,7 @@ import org.mapstruct.Mapper; @Mapper(componentModel = "spring") public interface DictConverter { - Page convertToPageVo(Page page); + Page toPageVo(Page page); DictForm toForm(SysDict entity); diff --git a/src/main/java/com/youlai/system/converter/DictItemConverter.java b/src/main/java/com/youlai/system/converter/DictItemConverter.java index 7c00e9c5..1f026fdb 100644 --- a/src/main/java/com/youlai/system/converter/DictItemConverter.java +++ b/src/main/java/com/youlai/system/converter/DictItemConverter.java @@ -5,7 +5,6 @@ import com.youlai.system.common.model.Option; import com.youlai.system.model.entity.SysDictItem; import com.youlai.system.model.form.DictForm; import com.youlai.system.model.vo.DictPageVO; -import org.mapstruct.InheritInverseConfiguration; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; @@ -21,20 +20,20 @@ import java.util.List; @Mapper(componentModel = "spring") public interface DictItemConverter { - Page convertToPageVo(Page page); + Page toPageVo(Page page); DictForm toForm(SysDictItem entity); - SysDictItem toEntity(DictForm.DictItem dictFormDictItems); - List toEntity(List dictFormDictItems); + SysDictItem toEntity(DictForm.DictItem dictItems); + List toEntity(List dictItems); - DictForm.DictItem convertToDictFormDictItem(SysDictItem entity); - List convertToDictFormDictItem(List entities); + DictForm.DictItem toDictItem(SysDictItem entity); + List toDictItem(List entities); @Mappings({ @Mapping(target = "value", source = "id"), @Mapping(target = "label", source = "name") }) - Option convertToOption(SysDictItem dictItem); - List> convertToOption(List dictItems); + Option toOption(SysDictItem dictItem); + List> toOption(List dictItems); } diff --git a/src/main/java/com/youlai/system/converter/MenuConverter.java b/src/main/java/com/youlai/system/converter/MenuConverter.java index 1a775579..c5c987a0 100644 --- a/src/main/java/com/youlai/system/converter/MenuConverter.java +++ b/src/main/java/com/youlai/system/converter/MenuConverter.java @@ -15,7 +15,7 @@ import org.mapstruct.Mapping; @Mapper(componentModel = "spring") public interface MenuConverter { - MenuVO convertToVo(SysMenu entity); + MenuVO toVo(SysMenu entity); @Mapping(target = "params", ignore = true) MenuForm toForm(SysMenu entity); diff --git a/src/main/java/com/youlai/system/converter/RoleConverter.java b/src/main/java/com/youlai/system/converter/RoleConverter.java index ac546d63..0a86a3a4 100644 --- a/src/main/java/com/youlai/system/converter/RoleConverter.java +++ b/src/main/java/com/youlai/system/converter/RoleConverter.java @@ -20,7 +20,7 @@ import java.util.List; @Mapper(componentModel = "spring") public interface RoleConverter { - Page convertToPageVo(Page page); + Page toPageVo(Page page); @Mappings({ @Mapping(target = "value", source = "id"), diff --git a/src/main/java/com/youlai/system/converter/SysConfigConverter.java b/src/main/java/com/youlai/system/converter/SysConfigConverter.java index 8fd2e5c5..ad7d9781 100644 --- a/src/main/java/com/youlai/system/converter/SysConfigConverter.java +++ b/src/main/java/com/youlai/system/converter/SysConfigConverter.java @@ -15,7 +15,7 @@ import org.mapstruct.Mapper; @Mapper(componentModel = "spring") public interface SysConfigConverter { - Page convertToPageVo(Page page); + Page toPageVo(Page page); SysConfig toEntity(ConfigForm configForm); diff --git a/src/main/java/com/youlai/system/service/impl/SysConfigServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysConfigServiceImpl.java index ca6be5b5..391b9409 100644 --- a/src/main/java/com/youlai/system/service/impl/SysConfigServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysConfigServiceImpl.java @@ -66,7 +66,7 @@ public class SysConfigServiceImpl extends ServiceImpl pageList = this.page(page, query); - return sysConfigConverter.convertToPageVo(pageList); + return sysConfigConverter.toPageVo(pageList); } /** diff --git a/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java index ceb153db..c2788aa3 100644 --- a/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java @@ -86,7 +86,7 @@ public class SysDeptServiceImpl extends ServiceImpl impl return deptList.stream() .filter(dept -> dept.getParentId().equals(parentId)) .map(dept -> { - DeptVO deptVO = deptConverter.convertToVo(dept); + DeptVO deptVO = deptConverter.toVo(dept); List children = recurDeptList(dept.getId(), deptList); deptVO.setChildren(children); return deptVO; diff --git a/src/main/java/com/youlai/system/service/impl/SysDictServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysDictServiceImpl.java index 880e714c..839dc9e6 100644 --- a/src/main/java/com/youlai/system/service/impl/SysDictServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysDictServiceImpl.java @@ -98,7 +98,7 @@ public class SysDictServiceImpl extends ServiceImpl impl .eq(SysDictItem::getDictId, id) ); // 转换数据项 - List dictItemList = dictItemConverter.convertToDictFormDictItem(dictItems); + List dictItemList = dictItemConverter.toDictItem(dictItems); dictForm.setDictItems(dictItemList); return dictForm; } @@ -219,7 +219,7 @@ public class SysDictServiceImpl extends ServiceImpl impl ); // 转换为 Option - return dictItemConverter.convertToOption(dictItems); + return dictItemConverter.toOption(dictItems); } /** diff --git a/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java index 940f2018..bccde913 100644 --- a/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java @@ -94,7 +94,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl .stream() .filter(menu -> menu.getParentId().equals(parentId)) .map(entity -> { - MenuVO menuVO = menuConverter.convertToVo(entity); + MenuVO menuVO = menuConverter.toVo(entity); List children = buildMenuTree(entity.getId(), menuList); menuVO.setChildren(children); return menuVO; diff --git a/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java index cffa9478..3a1bda82 100644 --- a/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java @@ -70,7 +70,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl ); // 实体转换 - return roleConverter.convertToPageVo(rolePage); + return roleConverter.toPageVo(rolePage); } /** From 26fae39ee93adc35f4c8479b3fe2a8766b720151 Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Tue, 13 Aug 2024 19:53:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?docs:=20=E9=A1=B9=E7=9B=AElogo=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0782578c..b8758f39 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- logo + logo

youlai-boot

有来技术 有来技术