!284 更新常量 GenConstants,优化 Map 返回结构
* update 优化返回结构, 将 Map 改为指定 Vo 对象 ;
* update GenConstants 扩展数据库数据类型, 更新 BO, VO, ENTITY 字段, 并移动到 generator 模块 ;
已修改12个文件
已添加10个文件
已重命名1个文件
| | |
| | | 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; |
| | |
| | | * çæéªè¯ç |
| | | */ |
| | | @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(); |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ç»å½éªè¯ |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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); |
| | | } |
| | | |
| | | /** |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.web.domain.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * ç»å½éªè¯ä¿¡æ¯ |
| | | * |
| | | * @author Michelle.Chung |
| | | */ |
| | | @Data |
| | | public class LoginVo { |
| | | |
| | | private String token; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
ÎļþÃû´Ó ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/GenConstants.java ÐÞ¸Ä |
| | |
| | | package com.ruoyi.common.core.constant; |
| | | package com.ruoyi.generator.constant; |
| | | |
| | | /** |
| | | * 代ç çæéç¨å¸¸é |
| | |
| | | /** |
| | | * æ°æ®åºå符串类å |
| | | */ |
| | | 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åºç±»å段 |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | */ |
| | | @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"); |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * èåä¿¡æ¯ |
| | |
| | | * @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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; |
| | |
| | | import java.io.IOException; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * æä»¶ä¸ä¼ æ§å¶å± |
| | |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ä¸ªäººä¿¡æ¯ ä¸å¡å¤ç |
| | |
| | | * ä¸ªäººä¿¡æ¯ |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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)) { |
| | |
| | | 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("ä¸ä¼ å¾çå¼å¸¸ï¼è¯·è系管çå"); |
| | |
| | | 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; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * è§è²ä¿¡æ¯ |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.system.domain.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * ç¨æ·å¤´åä¿¡æ¯ |
| | | * |
| | | * @author Michelle.Chung |
| | | */ |
| | | @Data |
| | | public class AvatarVo { |
| | | |
| | | /** |
| | | * 头åå°å |
| | | */ |
| | | private String imgUrl; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |