Browse Source

!284 更新常量 GenConstants,优化 Map 返回结构
* update 优化返回结构, 将 Map 改为指定 Vo 对象 ;
* update GenConstants 扩展数据库数据类型, 更新 BO, VO, ENTITY 字段, 并移动到 generator 模块 ;

MichelleChung 2 years ago
parent
commit
2787212362
23 changed files with 361 additions and 78 deletions
  1. 8 3
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java
  2. 20 14
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java
  3. 25 0
      ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/CaptchaVo.java
  4. 15 0
      ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/LoginVo.java
  5. 31 0
      ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java
  6. 13 10
      ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/constant/GenConstants.java
  7. 1 1
      ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
  8. 1 1
      ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
  9. 1 1
      ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
  10. 1 1
      ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
  11. 8 6
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/monitor/CacheController.java
  12. 6 6
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java
  13. 7 7
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysOssController.java
  14. 12 9
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java
  15. 6 6
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java
  16. 14 13
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java
  17. 18 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AvatarVo.java
  18. 23 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CacheListInfoVo.java
  19. 26 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/DeptTreeSelectVo.java
  20. 26 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MenuTreeSelectVo.java
  21. 30 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java
  22. 28 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssUploadVo.java
  23. 41 0
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java

+ 8 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/CaptchaController.java

@@ -18,6 +18,7 @@ import com.ruoyi.common.sms.entity.SmsResult;
 import com.ruoyi.common.web.config.properties.CaptchaProperties;
 import com.ruoyi.common.web.enums.CaptchaType;
 import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.web.domain.vo.CaptchaVo;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.expression.Expression;
@@ -79,10 +80,12 @@ public class CaptchaController {
      * 生成验证码
      */
     @GetMapping("/captchaImage")
-    public R<Map<String, Object>> getCode() {
+    public R<CaptchaVo> getCode() {
+        CaptchaVo captchaVo = new CaptchaVo();
         boolean captchaEnabled = configService.selectCaptchaEnabled();
         if (!captchaEnabled) {
-            return R.ok(Map.of("captchaEnabled", false));
+            captchaVo.setCaptchaEnabled(false);
+            return R.ok(captchaVo);
         }
         // 保存验证码信息
         String uuid = IdUtil.simpleUUID();
@@ -102,7 +105,9 @@ public class CaptchaController {
             code = exp.getValue(String.class);
         }
         RedisUtils.setCacheObject(verifyKey, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
-        return R.ok(Map.of("uuid", uuid, "img", captcha.getImageBase64()));
+        captchaVo.setUuid(uuid);
+        captchaVo.setImg(captcha.getImageBase64());
+        return R.ok(captchaVo);
     }
 
 }

+ 20 - 14
ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java

@@ -1,7 +1,6 @@
 package com.ruoyi.web.controller;
 
 import cn.dev33.satoken.annotation.SaIgnore;
-import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.model.LoginBody;
 import com.ruoyi.common.core.domain.model.LoginUser;
@@ -13,6 +12,8 @@ import com.ruoyi.system.domain.vo.RouterVo;
 import com.ruoyi.system.service.ISysMenuService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.SysLoginService;
+import com.ruoyi.web.domain.vo.UserInfoVo;
+import com.ruoyi.web.domain.vo.LoginVo;
 import jakarta.validation.constraints.NotBlank;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
@@ -22,7 +23,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 登录验证
@@ -46,11 +46,13 @@ public class SysLoginController {
      */
     @SaIgnore
     @PostMapping("/login")
-    public R<Map<String, Object>> login(@Validated @RequestBody LoginBody loginBody) {
+    public R<LoginVo> login(@Validated @RequestBody LoginBody loginBody) {
+        LoginVo loginVo = new LoginVo();
         // 生成令牌
         String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
             loginBody.getUuid());
-        return R.ok(Map.of(Constants.TOKEN, token));
+        loginVo.setToken(token);
+        return R.ok(loginVo);
     }
 
     /**
@@ -61,10 +63,12 @@ public class SysLoginController {
      */
     @SaIgnore
     @PostMapping("/smsLogin")
-    public R<Map<String, Object>> smsLogin(@Validated @RequestBody SmsLoginBody smsLoginBody) {
+    public R<LoginVo> smsLogin(@Validated @RequestBody SmsLoginBody smsLoginBody) {
+        LoginVo loginVo = new LoginVo();
         // 生成令牌
         String token = loginService.smsLogin(smsLoginBody.getPhonenumber(), smsLoginBody.getSmsCode());
-        return R.ok(Map.of(Constants.TOKEN, token));
+        loginVo.setToken(token);
+        return R.ok(loginVo);
     }
 
     /**
@@ -75,10 +79,12 @@ public class SysLoginController {
      */
     @SaIgnore
     @PostMapping("/xcxLogin")
-    public R<Map<String, Object>> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
+    public R<LoginVo> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
+        LoginVo loginVo = new LoginVo();
         // 生成令牌
         String token = loginService.xcxLogin(xcxCode);
-        return R.ok(Map.of(Constants.TOKEN, token));
+        loginVo.setToken(token);
+        return R.ok(loginVo);
     }
 
     /**
@@ -97,14 +103,14 @@ public class SysLoginController {
      * @return 用户信息
      */
     @GetMapping("getInfo")
-    public R<Map<String, Object>> getInfo() {
+    public R<UserInfoVo> getInfo() {
+        UserInfoVo userInfoVo = new UserInfoVo();
         LoginUser loginUser = LoginHelper.getLoginUser();
         SysUser user = userService.selectUserById(loginUser.getUserId());
-        return R.ok(Map.of(
-            "user", user,
-            "roles", loginUser.getRolePermission(),
-            "permissions", loginUser.getMenuPermission()
-        ));
+        userInfoVo.setUser(user);
+        userInfoVo.setPermissions(loginUser.getMenuPermission());
+        userInfoVo.setRoles(loginUser.getRolePermission());
+        return R.ok(userInfoVo);
     }
 
     /**

+ 25 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/CaptchaVo.java

@@ -0,0 +1,25 @@
+package com.ruoyi.web.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 验证码信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class CaptchaVo {
+
+    /**
+     * 是否开启验证码
+     */
+    private Boolean captchaEnabled = true;
+
+    private String uuid;
+
+    /**
+     * 验证码图片
+     */
+    private String img;
+
+}

+ 15 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/LoginVo.java

@@ -0,0 +1,15 @@
+package com.ruoyi.web.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 登录验证信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class LoginVo {
+
+    private String token;
+
+}

+ 31 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java

@@ -0,0 +1,31 @@
+package com.ruoyi.web.domain.vo;
+
+import com.ruoyi.system.domain.SysUser;
+import lombok.Data;
+
+import java.util.Set;
+
+/**
+ * 登录用户信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class UserInfoVo {
+
+    /**
+     * 用户基本信息
+     */
+    private SysUser user;
+
+    /**
+     * 菜单权限
+     */
+    private Set<String> permissions;
+
+    /**
+     * 角色权限
+     */
+    private Set<String> roles;
+
+}

+ 13 - 10
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/GenConstants.java → ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/constant/GenConstants.java

@@ -1,4 +1,4 @@
-package com.ruoyi.common.core.constant;
+package com.ruoyi.generator.constant;
 
 /**
  * 代码生成通用常量
@@ -44,52 +44,55 @@ public interface GenConstants {
     /**
      * 数据库字符串类型
      */
-    String[] COLUMNTYPE_STR = {"char", "varchar", "nvarchar", "varchar2"};
+    String[] COLUMNTYPE_STR = {"char", "varchar", "enum", "set", "nchar", "nvarchar", "varchar2", "nvarchar2"};
 
     /**
      * 数据库文本类型
      */
-    String[] COLUMNTYPE_TEXT = {"tinytext", "text", "mediumtext", "longtext"};
+    String[] COLUMNTYPE_TEXT = {"tinytext", "text", "mediumtext", "longtext", "binary", "varbinary", "blob",
+        "ntext", "image", "bytea"};
 
     /**
      * 数据库时间类型
      */
-    String[] COLUMNTYPE_TIME = {"datetime", "time", "date", "timestamp"};
+    String[] COLUMNTYPE_TIME = {"datetime", "time", "date", "timestamp", "year", "interval",
+        "smalldatetime", "datetime2", "datetimeoffset"};
 
     /**
      * 数据库数字类型
      */
     String[] COLUMNTYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "number", "integer",
-        "bit", "bigint", "float", "double", "decimal"};
+        "bit", "bigint", "float", "double", "decimal", "numeric", "real", "double precision",
+        "smallserial", "serial", "bigserial", "money", "smallmoney"};
 
     /**
      * BO对象 不需要添加字段
      */
-    String[] COLUMNNAME_NOT_ADD = {"create_by", "create_time", "del_flag", "update_by",
+    String[] COLUMNNAME_NOT_ADD = {"create_dept", "create_by", "create_time", "del_flag", "update_by",
         "update_time", "version"};
 
     /**
      * BO对象 不需要编辑字段
      */
-    String[] COLUMNNAME_NOT_EDIT = {"create_by", "create_time", "del_flag", "update_by",
+    String[] COLUMNNAME_NOT_EDIT = {"create_dept", "create_by", "create_time", "del_flag", "update_by",
         "update_time", "version"};
 
     /**
      * VO对象 不需要返回字段
      */
-    String[] COLUMNNAME_NOT_LIST = {"create_by", "create_time", "del_flag", "update_by",
+    String[] COLUMNNAME_NOT_LIST = {"create_dept", "create_by", "create_time", "del_flag", "update_by",
         "update_time", "version"};
 
     /**
      * BO对象 不需要查询字段
      */
-    String[] COLUMNNAME_NOT_QUERY = {"id", "create_by", "create_time", "del_flag", "update_by",
+    String[] COLUMNNAME_NOT_QUERY = {"id", "create_dept", "create_by", "create_time", "del_flag", "update_by",
         "update_time", "remark", "version"};
 
     /**
      * Entity基类字段
      */
-    String[] BASE_ENTITY = {"createBy", "createTime", "updateBy", "updateTime"};
+    String[] BASE_ENTITY = {"createDept", "createBy", "createTime", "updateBy", "updateTime"};
 
     /**
      * Tree基类字段

+ 1 - 1
ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java

@@ -1,7 +1,7 @@
 package com.ruoyi.generator.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
-import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.generator.constant.GenConstants;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.mybatis.core.domain.BaseEntity;
 import jakarta.validation.Valid;

+ 1 - 1
ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java

@@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.constant.Constants;
-import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.generator.constant.GenConstants;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StreamUtils;
 import com.ruoyi.common.core.utils.StringUtils;

+ 1 - 1
ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java

@@ -1,6 +1,6 @@
 package com.ruoyi.generator.util;
 
-import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.generator.constant.GenConstants;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.satoken.utils.LoginHelper;
 import com.ruoyi.generator.config.GenConfig;

+ 1 - 1
ruoyi-modules/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java

@@ -3,7 +3,7 @@ package com.ruoyi.generator.util;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.Dict;
-import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.generator.constant.GenConstants;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.json.utils.JsonUtils;

+ 8 - 6
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/monitor/CacheController.java

@@ -11,6 +11,7 @@ import com.ruoyi.common.json.utils.JsonUtils;
 import com.ruoyi.common.redis.utils.CacheUtils;
 import com.ruoyi.common.redis.utils.RedisUtils;
 import com.ruoyi.system.domain.SysCache;
+import com.ruoyi.system.domain.vo.CacheListInfoVo;
 import lombok.RequiredArgsConstructor;
 import org.redisson.spring.data.connection.RedissonConnectionFactory;
 import org.springframework.data.redis.connection.RedisConnection;
@@ -49,7 +50,7 @@ public class CacheController {
      */
     @SaCheckPermission("monitor:cache:list")
     @GetMapping()
-    public R<Map<String, Object>> getInfo() throws Exception {
+    public R<CacheListInfoVo> getInfo() throws Exception {
         RedisConnection connection = connectionFactory.getConnection();
         Properties commandStats = connection.commands().info("commandstats");
 
@@ -63,11 +64,12 @@ public class CacheController {
                 pieList.add(data);
             });
         }
-        return R.ok(Map.of(
-                "info", connection.commands().info(),
-                "dbSize", connection.commands().dbSize(),
-                "commandStats", pieList
-        ));
+
+        CacheListInfoVo infoVo = new CacheListInfoVo();
+        infoVo.setInfo(connection.commands().info());
+        infoVo.setDbSize(connection.commands().dbSize());
+        infoVo.setCommandStats(pieList);
+        return R.ok(infoVo);
     }
 
     /**

+ 6 - 6
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java

@@ -10,6 +10,7 @@ import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.satoken.utils.LoginHelper;
 import com.ruoyi.common.web.core.BaseController;
 import com.ruoyi.system.domain.bo.SysMenuBo;
+import com.ruoyi.system.domain.vo.MenuTreeSelectVo;
 import com.ruoyi.system.domain.vo.SysMenuVo;
 import com.ruoyi.system.service.ISysMenuService;
 import lombok.RequiredArgsConstructor;
@@ -17,7 +18,6 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 菜单信息
@@ -68,12 +68,12 @@ public class SysMenuController extends BaseController {
      * @param roleId 角色ID
      */
     @GetMapping(value = "/roleMenuTreeselect/{roleId}")
-    public R<Map<String, Object>> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
+    public R<MenuTreeSelectVo> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
         List<SysMenuVo> menus = menuService.selectMenuList(LoginHelper.getUserId());
-        return R.ok(Map.of(
-                "checkedKeys", menuService.selectMenuListByRoleId(roleId),
-                "menus", menuService.buildMenuTreeSelect(menus)
-        ));
+        MenuTreeSelectVo selectVo = new MenuTreeSelectVo();
+        selectVo.setCheckedKeys(menuService.selectMenuListByRoleId(roleId));
+        selectVo.setMenus(menuService.buildMenuTreeSelect(menus));
+        return R.ok(selectVo);
     }
 
     /**

+ 7 - 7
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysOssController.java

@@ -12,6 +12,7 @@ import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.mybatis.core.page.PageQuery;
 import com.ruoyi.common.mybatis.core.page.TableDataInfo;
 import com.ruoyi.system.domain.bo.SysOssBo;
+import com.ruoyi.system.domain.vo.SysOssUploadVo;
 import com.ruoyi.system.domain.vo.SysOssVo;
 import com.ruoyi.system.service.ISysOssService;
 import jakarta.servlet.http.HttpServletResponse;
@@ -25,7 +26,6 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 文件上传 控制层
@@ -70,16 +70,16 @@ public class SysOssController extends BaseController {
     @SaCheckPermission("system:oss:upload")
     @Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
     @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
-    public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
+    public R<SysOssUploadVo> upload(@RequestPart("file") MultipartFile file) {
         if (ObjectUtil.isNull(file)) {
             throw new ServiceException("上传文件不能为空");
         }
         SysOssVo oss = iSysOssService.upload(file);
-        return R.ok(Map.of(
-                "url", oss.getUrl(),
-                "fileName", oss.getOriginalName(),
-                "ossId", oss.getOssId().toString()
-        ));
+        SysOssUploadVo uploadVo = new SysOssUploadVo();
+        uploadVo.setUrl(oss.getUrl());
+        uploadVo.setFileName(oss.getOriginalName());
+        uploadVo.setOssId(oss.getOssId().toString());
+        return R.ok(uploadVo);
     }
 
     /**

+ 12 - 9
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java

@@ -11,6 +11,8 @@ import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.satoken.utils.LoginHelper;
 import com.ruoyi.system.domain.SysUser;
+import com.ruoyi.system.domain.vo.AvatarVo;
+import com.ruoyi.system.domain.vo.ProfileVo;
 import com.ruoyi.system.domain.vo.SysOssVo;
 import com.ruoyi.system.service.ISysOssService;
 import com.ruoyi.system.service.ISysUserService;
@@ -21,7 +23,6 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.Arrays;
-import java.util.Map;
 
 /**
  * 个人信息 业务处理
@@ -41,13 +42,13 @@ public class SysProfileController extends BaseController {
      * 个人信息
      */
     @GetMapping
-    public R<Map<String, Object>> profile() {
+    public R<ProfileVo> profile() {
         SysUser user = userService.selectUserById(LoginHelper.getUserId());
-        return R.ok(Map.of(
-                "user", user,
-                "roleGroup", userService.selectUserRoleGroup(user.getUserName()),
-                "postGroup", userService.selectUserPostGroup(user.getUserName())
-        ));
+        ProfileVo profileVo = new ProfileVo();
+        profileVo.setUser(user);
+        profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserName()));
+        profileVo.setPostGroup(userService.selectUserPostGroup(user.getUserName()));
+        return R.ok(profileVo);
     }
 
     /**
@@ -107,7 +108,7 @@ public class SysProfileController extends BaseController {
      */
     @Log(title = "用户头像", businessType = BusinessType.UPDATE)
     @PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
-    public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
+    public R<AvatarVo> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
         if (!avatarfile.isEmpty()) {
             String extension = FileUtil.extName(avatarfile.getOriginalFilename());
             if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) {
@@ -116,7 +117,9 @@ public class SysProfileController extends BaseController {
             SysOssVo oss = iSysOssService.upload(avatarfile);
             String avatar = oss.getUrl();
             if (userService.updateUserAvatar(LoginHelper.getUsername(), avatar)) {
-                return R.ok(Map.of("imgUrl", avatar));
+                AvatarVo avatarVo = new AvatarVo();
+                avatarVo.setImgUrl(avatar);
+                return R.ok(avatarVo);
             }
         }
         return R.fail("上传图片异常,请联系管理员");

+ 6 - 6
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java

@@ -16,6 +16,7 @@ import com.ruoyi.system.domain.SysDept;
 import com.ruoyi.system.domain.SysUser;
 import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.domain.bo.SysRoleBo;
+import com.ruoyi.system.domain.vo.DeptTreeSelectVo;
 import com.ruoyi.system.domain.vo.SysRoleVo;
 import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysRoleService;
@@ -27,7 +28,6 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 角色信息
@@ -228,10 +228,10 @@ public class SysRoleController extends BaseController {
      */
     @SaCheckPermission("system:role:list")
     @GetMapping(value = "/deptTree/{roleId}")
-    public R<Map<String, Object>> roleDeptTreeselect(@PathVariable("roleId") Long roleId) {
-        return R.ok(Map.of(
-                "checkedKeys", deptService.selectDeptListByRoleId(roleId),
-                "depts", deptService.selectDeptTreeList(new SysDept())
-        ));
+    public R<DeptTreeSelectVo> roleDeptTreeselect(@PathVariable("roleId") Long roleId) {
+        DeptTreeSelectVo selectVo = new DeptTreeSelectVo();
+        selectVo.setCheckedKeys(deptService.selectDeptListByRoleId(roleId));
+        selectVo.setDepts(deptService.selectDeptTreeList(new SysDept()));
+        return R.ok(selectVo);
     }
 }

+ 14 - 13
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java

@@ -24,6 +24,7 @@ import com.ruoyi.system.domain.SysUser;
 import com.ruoyi.system.domain.vo.SysRoleVo;
 import com.ruoyi.system.domain.vo.SysUserExportVo;
 import com.ruoyi.system.domain.vo.SysUserImportVo;
+import com.ruoyi.system.domain.vo.SysUserInfoVo;
 import com.ruoyi.system.listener.SysUserImportListener;
 import com.ruoyi.system.service.*;
 import jakarta.servlet.http.HttpServletResponse;
@@ -109,19 +110,19 @@ public class SysUserController extends BaseController {
      */
     @SaCheckPermission("system:user:query")
     @GetMapping(value = {"/", "/{userId}"})
-    public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
+    public R<SysUserInfoVo> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
         userService.checkUserDataScope(userId);
-        Map<String, Object> ajax = new HashMap<>();
+        SysUserInfoVo userInfoVo = new SysUserInfoVo();
         List<SysRoleVo> roles = roleService.selectRoleAll();
-        ajax.put("roles", LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin()));
-        ajax.put("posts", postService.selectPostAll());
+        userInfoVo.setRoles(LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin()));
+        userInfoVo.setPosts(postService.selectPostAll());
         if (ObjectUtil.isNotNull(userId)) {
             SysUser sysUser = userService.selectUserById(userId);
-            ajax.put("user", sysUser);
-            ajax.put("postIds", postService.selectPostListByUserId(userId));
-            ajax.put("roleIds", StreamUtils.toList(sysUser.getRoles(), SysRole::getRoleId));
+            userInfoVo.setUser(sysUser);
+            userInfoVo.setRoleIds(StreamUtils.toList(sysUser.getRoles(), SysRole::getRoleId));
+            userInfoVo.setPostIds(postService.selectPostListByUserId(userId));
         }
-        return R.ok(ajax);
+        return R.ok(userInfoVo);
     }
 
     /**
@@ -212,13 +213,13 @@ public class SysUserController extends BaseController {
      */
     @SaCheckPermission("system:user:query")
     @GetMapping("/authRole/{userId}")
-    public R<Map<String, Object>> authRole(@PathVariable Long userId) {
+    public R<SysUserInfoVo> authRole(@PathVariable Long userId) {
         SysUser user = userService.selectUserById(userId);
         List<SysRoleVo> roles = roleService.selectRolesByUserId(userId);
-        return R.ok(Map.of(
-                "user", user,
-                "roles", LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin())
-        ));
+        SysUserInfoVo userInfoVo = new SysUserInfoVo();
+        userInfoVo.setUser(user);
+        userInfoVo.setRoles(LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin()));
+        return R.ok(userInfoVo);
     }
 
     /**

+ 18 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AvatarVo.java

@@ -0,0 +1,18 @@
+package com.ruoyi.system.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 用户头像信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class AvatarVo {
+
+    /**
+     * 头像地址
+     */
+    private String imgUrl;
+
+}

+ 23 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CacheListInfoVo.java

@@ -0,0 +1,23 @@
+package com.ruoyi.system.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * 缓存监控列表信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class CacheListInfoVo {
+
+    private Properties info;
+
+    private Long dbSize;
+
+    private List<Map<String, String>> commandStats;
+
+}

+ 26 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/DeptTreeSelectVo.java

@@ -0,0 +1,26 @@
+package com.ruoyi.system.domain.vo;
+
+import cn.hutool.core.lang.tree.Tree;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 角色部门列表树信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class DeptTreeSelectVo {
+
+    /**
+     * 选中部门列表
+     */
+    private List<Long> checkedKeys;
+
+    /**
+     * 下拉树结构列表
+     */
+    private List<Tree<Long>> depts;
+
+}

+ 26 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MenuTreeSelectVo.java

@@ -0,0 +1,26 @@
+package com.ruoyi.system.domain.vo;
+
+import cn.hutool.core.lang.tree.Tree;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 角色菜单列表树信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class MenuTreeSelectVo {
+
+    /**
+     * 选中菜单列表
+     */
+    private List<Long> checkedKeys;
+
+    /**
+     * 菜单下拉树结构列表
+     */
+    private List<Tree<Long>> menus;
+
+}

+ 30 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java

@@ -0,0 +1,30 @@
+package com.ruoyi.system.domain.vo;
+
+import com.ruoyi.system.domain.SysUser;
+import lombok.Data;
+
+/**
+ * 用户个人信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class ProfileVo {
+
+    /**
+     * 用户信息
+     */
+    private SysUser user;
+
+    /**
+     * 用户所属角色组
+     */
+    private String roleGroup;
+
+    /**
+     * 用户所属岗位组
+     */
+    private String postGroup;
+
+
+}

+ 28 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssUploadVo.java

@@ -0,0 +1,28 @@
+package com.ruoyi.system.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 上传对象信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class SysOssUploadVo {
+
+    /**
+     * URL地址
+     */
+    private String url;
+
+    /**
+     * 文件名
+     */
+    private String fileName;
+
+    /**
+     * 对象存储主键
+     */
+    private String ossId;
+
+}

+ 41 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java

@@ -0,0 +1,41 @@
+package com.ruoyi.system.domain.vo;
+
+import com.ruoyi.system.domain.SysUser;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 用户信息
+ *
+ * @author Michelle.Chung
+ */
+@Data
+public class SysUserInfoVo {
+
+    /**
+     * 用户信息
+     */
+    private SysUser user;
+
+    /**
+     * 角色ID列表
+     */
+    private List<Long> roleIds;
+
+    /**
+     * 角色列表
+     */
+    private List<SysRoleVo> roles;
+
+    /**
+     * 岗位ID列表
+     */
+    private List<Long> postIds;
+
+    /**
+     * 岗位列表
+     */
+    private List<SysPostVo> posts;
+
+}