upd: 编码规范

This commit is contained in:
2025-04-02 19:00:39 +08:00
parent 3357fbd11f
commit 26cd4cf028
21 changed files with 92 additions and 90 deletions
@@ -1,4 +1,4 @@
package cn.odboy.model.system.response;
package cn.odboy.model.system.model;
import cn.odboy.base.MyObject;
import io.swagger.annotations.ApiModelProperty;
@@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode;
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class MenuMetaResponse extends MyObject {
public class MenuMetaModel extends MyObject {
@ApiModelProperty(value = "菜单标题")
private String title;
@@ -1,4 +1,4 @@
package cn.odboy.model.system.dto;
package cn.odboy.model.system.model;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@@ -12,7 +12,7 @@ import org.springframework.security.core.GrantedAuthority;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RoleCodeDto implements GrantedAuthority {
public class RoleCodeModel implements GrantedAuthority {
@ApiModelProperty(value = "角色名")
private String authority;
@@ -1,4 +1,4 @@
package cn.odboy.model.system.response;
package cn.odboy.model.system.model;
import cn.odboy.base.MyObject;
import cn.odboy.model.system.domain.Dept;
@@ -12,7 +12,7 @@ import java.util.Set;
@Data
@EqualsAndHashCode(callSuper = false)
public class SimpleUserResponse extends MyObject {
public class SimpleUserModel extends MyObject {
@ApiModelProperty(value = "ID", hidden = true)
private Long id;
@ApiModelProperty(value = "用户角色")
@@ -1,4 +1,4 @@
package cn.odboy.model.system.dto;
package cn.odboy.model.system.model;
import cn.odboy.model.system.domain.User;
import com.alibaba.fastjson2.annotation.JSONField;
@@ -12,7 +12,7 @@ import java.util.stream.Collectors;
@Getter
@AllArgsConstructor
public class UserJwtDto implements UserDetails {
public class UserJwtModel implements UserDetails {
@ApiModelProperty(value = "用户")
private final User user;
@@ -21,10 +21,10 @@ public class UserJwtDto implements UserDetails {
private final List<Long> dataScopes;
@ApiModelProperty(value = "角色")
private final List<RoleCodeDto> authorities;
private final List<RoleCodeModel> authorities;
public Set<String> getRoles() {
return authorities.stream().map(RoleCodeDto::getAuthority).collect(Collectors.toSet());
return authorities.stream().map(RoleCodeModel::getAuthority).collect(Collectors.toSet());
}
@Override
@@ -1,4 +1,4 @@
package cn.odboy.model.system.response;
package cn.odboy.model.system.model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -8,7 +8,7 @@ import java.util.Date;
* 在线用户
*/
@Data
public class UserOnlineResponse {
public class UserOnlineModel {
@ApiModelProperty(value = "Token编号")
private String uid;
@@ -1,6 +1,7 @@
package cn.odboy.model.system.response;
import cn.odboy.base.MyObject;
import cn.odboy.model.system.model.MenuMetaModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -32,7 +33,7 @@ public class MenuResponse extends MyObject {
private Boolean alwaysShow;
@ApiModelProperty(value = "元数据")
private MenuMetaResponse meta;
private MenuMetaModel meta;
@ApiModelProperty(value = "子路由")
private List<MenuResponse> children;
@@ -7,7 +7,7 @@ import lombok.Data;
* 修改密码
*/
@Data
public class UserPassResponse {
public class UpdateUserPasswordResponse {
@ApiModelProperty(value = "旧密码")
private String oldPass;
@@ -1,7 +1,8 @@
package cn.odboy.model.system.response;
import cn.odboy.base.MyObject;
import cn.odboy.model.system.dto.RoleCodeDto;
import cn.odboy.model.system.model.RoleCodeModel;
import cn.odboy.model.system.model.SimpleUserModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@@ -11,11 +12,11 @@ import java.util.stream.Collectors;
@Data
@EqualsAndHashCode(callSuper = false)
public class UserInfoResponse extends MyObject {
private SimpleUserResponse user;
private SimpleUserModel user;
private List<Long> dataScopes;
private List<RoleCodeDto> authorities;
private List<RoleCodeModel> authorities;
public Set<String> getRoles() {
return authorities.stream().map(RoleCodeDto::getAuthority).collect(Collectors.toSet());
return authorities.stream().map(RoleCodeModel::getAuthority).collect(Collectors.toSet());
}
}
@@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil;
import cn.odboy.application.core.config.SecurityProperties;
import cn.odboy.application.core.service.impl.UserOnlineServiceImpl;
import cn.odboy.constant.SystemConst;
import cn.odboy.model.system.response.UserOnlineResponse;
import cn.odboy.model.system.model.UserOnlineModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
@@ -43,9 +43,9 @@ public class TokenFilter extends GenericFilterBean {
if (StrUtil.isNotBlank(token)) {
// 获取用户Token的Key
String loginKey = tokenProvider.loginKey(token);
UserOnlineResponse userOnlineResponse = onlineUserService.getOnlineUserByKey(loginKey);
UserOnlineModel userOnlineModel = onlineUserService.getOnlineUserByKey(loginKey);
// 判断用户在线信息是否为空
if (userOnlineResponse != null) {
if (userOnlineModel != null) {
// Token 续期判断
tokenProvider.checkRenewal(token);
// 获取认证信息,设置上下文
@@ -6,7 +6,7 @@ import cn.hutool.core.util.IdUtil;
import cn.odboy.application.core.config.SecurityProperties;
import cn.odboy.constant.SystemConst;
import cn.odboy.constant.SystemRedisKey;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.model.UserJwtModel;
import cn.odboy.redis.RedisHelper;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
@@ -61,7 +61,7 @@ public class TokenProvider implements InitializingBean {
* @param user /
* @return /
*/
public String createToken(UserJwtDto user) {
public String createToken(UserJwtModel user) {
// 设置参数
Map<String, Object> claims = new HashMap<>(6);
// 设置用户ID
@@ -15,7 +15,7 @@ import cn.odboy.constant.SystemConst;
import cn.odboy.constant.SystemRedisKey;
import cn.odboy.context.SecurityHelper;
import cn.odboy.exception.BadRequestException;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.model.UserJwtModel;
import cn.odboy.model.system.request.UserLoginRequest;
import cn.odboy.model.system.response.UserInfoResponse;
import cn.odboy.properties.RsaProperties;
@@ -76,7 +76,7 @@ public class AuthController {
throw new BadRequestException("验证码错误");
}
// 获取用户信息
UserJwtDto jwtUser = userDetailsService.loadUserByUsername(loginRequest.getUsername());
UserJwtModel jwtUser = userDetailsService.loadUserByUsername(loginRequest.getUsername());
// 验证用户密码
if (!passwordEncoder.matches(password, jwtUser.getPassword())) {
throw new BadRequestException("登录密码错误");
@@ -103,7 +103,7 @@ public class AuthController {
@ApiOperation("获取用户信息")
@GetMapping(value = "/info")
public ResponseEntity<UserInfoResponse> getUserInfo() {
UserJwtDto jwtUser = (UserJwtDto) SecurityHelper.getCurrentUser();
UserJwtModel jwtUser = (UserJwtModel) SecurityHelper.getCurrentUser();
UserInfoResponse userInfoResponse = BeanUtil.copyProperties(jwtUser, UserInfoResponse.class);
return ResponseEntity.ok(userInfoResponse);
}
@@ -2,7 +2,7 @@ package cn.odboy.application.core.rest;
import cn.odboy.application.core.service.UserOnlineService;
import cn.odboy.base.PageResult;
import cn.odboy.model.system.response.UserOnlineResponse;
import cn.odboy.model.system.model.UserOnlineModel;
import cn.odboy.util.DesEncryptUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -31,7 +31,7 @@ public class OnlineController {
@ApiOperation("查询在线用户")
@GetMapping
@PreAuthorize("@el.check()")
public ResponseEntity<PageResult<UserOnlineResponse>> queryOnlineUser(String username, Pageable pageable) {
public ResponseEntity<PageResult<UserOnlineModel>> queryOnlineUser(String username, Pageable pageable) {
return new ResponseEntity<>(userOnlineService.queryOnlineUserPage(username, pageable), HttpStatus.OK);
}
@@ -1,6 +1,6 @@
package cn.odboy.application.core.service;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.model.UserJwtModel;
import org.springframework.scheduling.annotation.Async;
public interface UserCacheService {
@@ -8,9 +8,9 @@ public interface UserCacheService {
* 返回用户缓存
*
* @param username 用户名
* @return UserJwtDto
* @return UserJwtModel
*/
UserJwtDto getUserCacheByUsername(String username);
UserJwtModel getUserCacheByUsername(String username);
/**
* 添加缓存到Redis
@@ -18,7 +18,7 @@ public interface UserCacheService {
* @param userName 用户名
*/
@Async
void addUserCache(String userName, UserJwtDto user);
void addUserCache(String userName, UserJwtModel user);
/**
* 清理用户缓存信息
@@ -1,8 +1,8 @@
package cn.odboy.application.core.service;
import cn.odboy.base.PageResult;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.response.UserOnlineResponse;
import cn.odboy.model.system.model.UserJwtModel;
import cn.odboy.model.system.model.UserOnlineModel;
import org.springframework.data.domain.Pageable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -13,11 +13,11 @@ public interface UserOnlineService {
/**
* 保存在线用户信息
*
* @param userJwtDto /
* @param userJwtModel /
* @param token /
* @param request /
*/
void save(UserJwtDto userJwtDto, String token, HttpServletRequest request);
void save(UserJwtModel userJwtModel, String token, HttpServletRequest request);
/**
* 查询全部数据
@@ -26,7 +26,7 @@ public interface UserOnlineService {
* @param pageable /
* @return /
*/
PageResult<UserOnlineResponse> queryOnlineUserPage(String username, Pageable pageable);
PageResult<UserOnlineModel> queryOnlineUserPage(String username, Pageable pageable);
/**
* 查询全部数据,不分页
@@ -34,7 +34,7 @@ public interface UserOnlineService {
* @param username /
* @return /
*/
List<UserOnlineResponse> selectOnlineUserByUsername(String username);
List<UserOnlineModel> selectOnlineUserByUsername(String username);
/**
* 退出登录
@@ -50,7 +50,7 @@ public interface UserOnlineService {
* @param response /
* @throws IOException /
*/
void downloadExcel(List<UserOnlineResponse> all, HttpServletResponse response) throws IOException;
void downloadExcel(List<UserOnlineModel> all, HttpServletResponse response) throws IOException;
/**
* 查询用户
@@ -58,7 +58,7 @@ public interface UserOnlineService {
* @param key /
* @return /
*/
UserOnlineResponse getOnlineUserByKey(String key);
UserOnlineModel getOnlineUserByKey(String key);
/**
* 根据用户名强退用户
@@ -3,7 +3,7 @@ package cn.odboy.application.core.service.impl;
import cn.hutool.core.util.RandomUtil;
import cn.odboy.application.core.service.UserCacheService;
import cn.odboy.constant.SystemRedisKey;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.model.UserJwtModel;
import cn.odboy.redis.RedisHelper;
import cn.odboy.util.StringUtil;
import org.springframework.stereotype.Service;
@@ -18,19 +18,19 @@ public class UserCacheServiceImpl implements UserCacheService {
private RedisHelper redisHelper;
@Override
public UserJwtDto getUserCacheByUsername(String username) {
public UserJwtModel getUserCacheByUsername(String username) {
// 转小写
username = StringUtil.lowerCase(username);
if (StringUtil.isNotEmpty(username)) {
// 获取数据
return redisHelper.get(SystemRedisKey.USER_INFO + username, UserJwtDto.class);
return redisHelper.get(SystemRedisKey.USER_INFO + username, UserJwtModel.class);
}
return null;
}
@Override
public void addUserCache(String userName, UserJwtDto user) {
public void addUserCache(String userName, UserJwtModel user) {
// 转小写
userName = StringUtil.lowerCase(userName);
if (StringUtil.isNotEmpty(userName)) {
@@ -6,8 +6,8 @@ import cn.odboy.application.system.service.RoleService;
import cn.odboy.application.system.service.UserService;
import cn.odboy.exception.BadRequestException;
import cn.odboy.model.system.domain.User;
import cn.odboy.model.system.dto.RoleCodeDto;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.model.UserJwtModel;
import cn.odboy.model.system.model.RoleCodeModel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.userdetails.UserDetailsService;
@@ -24,9 +24,9 @@ public class UserDetailsServiceImpl implements UserDetailsService {
private final UserCacheService userCacheService;
@Override
public UserJwtDto loadUserByUsername(String username) {
UserJwtDto userJwtDto = userCacheService.getUserCacheByUsername(username);
if (userJwtDto == null) {
public UserJwtModel loadUserByUsername(String username) {
UserJwtModel userJwtModel = userCacheService.getUserCacheByUsername(username);
if (userJwtModel == null) {
User user = userService.getUserByUsername(username);
if (user == null) {
throw new BadRequestException("用户不存在");
@@ -35,13 +35,13 @@ public class UserDetailsServiceImpl implements UserDetailsService {
throw new BadRequestException("账号未激活!");
}
// 获取用户的权限
List<RoleCodeDto> authorities = roleService.buildPermissions(user);
List<RoleCodeModel> authorities = roleService.buildPermissions(user);
// 初始化JwtUserDto
userJwtDto = new UserJwtDto(user, dataService.selectDeptIdByUserIdWithDeptId(user), authorities);
userJwtModel = new UserJwtModel(user, dataService.selectDeptIdByUserIdWithDeptId(user), authorities);
// 添加缓存数据
userCacheService.addUserCache(username, userJwtDto);
userCacheService.addUserCache(username, userJwtModel);
}
}
return userJwtDto;
return userJwtModel;
}
}
@@ -5,8 +5,8 @@ import cn.odboy.application.core.context.TokenProvider;
import cn.odboy.application.core.service.UserOnlineService;
import cn.odboy.base.PageResult;
import cn.odboy.constant.SystemRedisKey;
import cn.odboy.model.system.dto.UserJwtDto;
import cn.odboy.model.system.response.UserOnlineResponse;
import cn.odboy.model.system.model.UserJwtModel;
import cn.odboy.model.system.model.UserOnlineModel;
import cn.odboy.redis.RedisHelper;
import cn.odboy.util.BrowserUtil;
import cn.odboy.util.DesEncryptUtil;
@@ -39,46 +39,46 @@ public class UserOnlineServiceImpl implements UserOnlineService {
private final RedisHelper redisHelper;
@Override
public void save(UserJwtDto userJwtDto, String token, HttpServletRequest request) {
String dept = userJwtDto.getUser().getDept().getName();
public void save(UserJwtModel userJwtModel, String token, HttpServletRequest request) {
String dept = userJwtModel.getUser().getDept().getName();
String ip = BrowserUtil.getIp(request);
String id = tokenProvider.getId(token);
String version = BrowserUtil.getVersion(request);
String address = IpUtil.getCityInfo(ip);
UserOnlineResponse userOnlineResponse = null;
UserOnlineModel userOnlineModel = null;
try {
userOnlineResponse = new UserOnlineResponse();
userOnlineResponse.setUid(id);
userOnlineResponse.setUserName(userJwtDto.getUsername());
userOnlineResponse.setNickName(userJwtDto.getUser().getNickName());
userOnlineResponse.setDept(dept);
userOnlineResponse.setBrowser(version);
userOnlineResponse.setIp(ip);
userOnlineResponse.setAddress(address);
userOnlineResponse.setKey(DesEncryptUtil.desEncrypt(token));
userOnlineResponse.setLoginTime(new Date());
userOnlineModel = new UserOnlineModel();
userOnlineModel.setUid(id);
userOnlineModel.setUserName(userJwtModel.getUsername());
userOnlineModel.setNickName(userJwtModel.getUser().getNickName());
userOnlineModel.setDept(dept);
userOnlineModel.setBrowser(version);
userOnlineModel.setIp(ip);
userOnlineModel.setAddress(address);
userOnlineModel.setKey(DesEncryptUtil.desEncrypt(token));
userOnlineModel.setLoginTime(new Date());
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String loginKey = tokenProvider.loginKey(token);
redisHelper.set(loginKey, userOnlineResponse, properties.getTokenValidityInSeconds(), TimeUnit.MILLISECONDS);
redisHelper.set(loginKey, userOnlineModel, properties.getTokenValidityInSeconds(), TimeUnit.MILLISECONDS);
}
@Override
public PageResult<UserOnlineResponse> queryOnlineUserPage(String username, Pageable pageable) {
List<UserOnlineResponse> onlineUserList = selectOnlineUserByUsername(username);
List<UserOnlineResponse> paging = PageUtil.softPaging(pageable.getPageNumber(), pageable.getPageSize(), onlineUserList);
public PageResult<UserOnlineModel> queryOnlineUserPage(String username, Pageable pageable) {
List<UserOnlineModel> onlineUserList = selectOnlineUserByUsername(username);
List<UserOnlineModel> paging = PageUtil.softPaging(pageable.getPageNumber(), pageable.getPageSize(), onlineUserList);
return PageUtil.toPage(paging, onlineUserList.size());
}
@Override
public List<UserOnlineResponse> selectOnlineUserByUsername(String username) {
public List<UserOnlineModel> selectOnlineUserByUsername(String username) {
String loginKey = SystemRedisKey.ONLINE_USER + (StringUtil.isBlank(username) ? "" : "*" + username);
List<String> keys = redisHelper.scan(loginKey + "*");
Collections.reverse(keys);
List<UserOnlineResponse> onlineUserList = new ArrayList<>();
List<UserOnlineModel> onlineUserList = new ArrayList<>();
for (String key : keys) {
onlineUserList.add(redisHelper.get(key, UserOnlineResponse.class));
onlineUserList.add(redisHelper.get(key, UserOnlineModel.class));
}
onlineUserList.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime()));
return onlineUserList;
@@ -91,9 +91,9 @@ public class UserOnlineServiceImpl implements UserOnlineService {
}
@Override
public void downloadExcel(List<UserOnlineResponse> all, HttpServletResponse response) throws IOException {
public void downloadExcel(List<UserOnlineModel> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (UserOnlineResponse user : all) {
for (UserOnlineModel user : all) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("用户名", user.getUserName());
map.put("部门", user.getDept());
@@ -107,8 +107,8 @@ public class UserOnlineServiceImpl implements UserOnlineService {
}
@Override
public UserOnlineResponse getOnlineUserByKey(String key) {
return redisHelper.get(key, UserOnlineResponse.class);
public UserOnlineModel getOnlineUserByKey(String key) {
return redisHelper.get(key, UserOnlineModel.class);
}
@Override
@@ -15,7 +15,7 @@ import cn.odboy.model.system.domain.Dept;
import cn.odboy.model.system.domain.Role;
import cn.odboy.model.system.domain.User;
import cn.odboy.model.system.request.QueryUserRequest;
import cn.odboy.model.system.response.UserPassResponse;
import cn.odboy.model.system.response.UpdateUserPasswordResponse;
import cn.odboy.properties.RsaProperties;
import cn.odboy.util.PageUtil;
import cn.odboy.util.RsaEncryptUtil;
@@ -145,7 +145,7 @@ public class UserController {
@ApiOperation("修改密码")
@PostMapping(value = "/updatePass")
public ResponseEntity<Object> updateUserPassword(@RequestBody UserPassResponse passVo) throws Exception {
public ResponseEntity<Object> updateUserPassword(@RequestBody UpdateUserPasswordResponse passVo) throws Exception {
String oldPass = RsaEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getOldPass());
String newPass = RsaEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getNewPass());
User user = userService.getUserByUsername(SecurityHelper.getCurrentUsername());
@@ -3,7 +3,7 @@ package cn.odboy.application.system.service;
import cn.odboy.base.PageResult;
import cn.odboy.model.system.domain.Role;
import cn.odboy.model.system.domain.User;
import cn.odboy.model.system.dto.RoleCodeDto;
import cn.odboy.model.system.model.RoleCodeModel;
import cn.odboy.model.system.request.CreateRoleRequest;
import cn.odboy.model.system.request.QueryRoleRequest;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -98,7 +98,7 @@ public interface RoleService extends IService<Role> {
* @param user 用户信息
* @return 权限信息
*/
List<RoleCodeDto> buildPermissions(User user);
List<RoleCodeModel> buildPermissions(User user);
/**
* 导出数据
@@ -16,7 +16,7 @@ import cn.odboy.model.system.domain.Menu;
import cn.odboy.model.system.domain.Role;
import cn.odboy.model.system.domain.User;
import cn.odboy.model.system.request.QueryMenuRequest;
import cn.odboy.model.system.response.MenuMetaResponse;
import cn.odboy.model.system.model.MenuMetaModel;
import cn.odboy.model.system.response.MenuResponse;
import cn.odboy.redis.RedisHelper;
import cn.odboy.util.ClassUtil;
@@ -273,7 +273,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
menuResponse.setComponent(menu.getComponent());
}
}
menuResponse.setMeta(new MenuMetaResponse(menu.getTitle(), menu.getIcon(), !menu.getCache()));
menuResponse.setMeta(new MenuMetaModel(menu.getTitle(), menu.getIcon(), !menu.getCache()));
if (CollectionUtil.isNotEmpty(menuList)) {
menuResponse.setAlwaysShow(true);
menuResponse.setRedirect("noredirect");
@@ -16,7 +16,7 @@ import cn.odboy.exception.EntityExistException;
import cn.odboy.model.system.domain.Menu;
import cn.odboy.model.system.domain.Role;
import cn.odboy.model.system.domain.User;
import cn.odboy.model.system.dto.RoleCodeDto;
import cn.odboy.model.system.model.RoleCodeModel;
import cn.odboy.model.system.request.CreateRoleRequest;
import cn.odboy.model.system.request.QueryRoleRequest;
import cn.odboy.redis.RedisHelper;
@@ -167,22 +167,22 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
}
@Override
public List<RoleCodeDto> buildPermissions(User user) {
public List<RoleCodeModel> buildPermissions(User user) {
String key = SystemRedisKey.ROLE_AUTH + user.getId();
List<RoleCodeDto> authorityList = redisHelper.getList(key, RoleCodeDto.class);
List<RoleCodeModel> authorityList = redisHelper.getList(key, RoleCodeModel.class);
if (CollUtil.isEmpty(authorityList)) {
Set<String> permissions = new HashSet<>();
// 如果是管理员直接返回
if (user.getIsAdmin()) {
permissions.add("admin");
return permissions.stream().map(RoleCodeDto::new)
return permissions.stream().map(RoleCodeModel::new)
.collect(Collectors.toList());
}
List<Role> roles = roleMapper.selectRoleByUserId(user.getId());
permissions = roles.stream().flatMap(role -> role.getMenus().stream())
.map(Menu::getPermission)
.filter(StringUtil::isNotBlank).collect(Collectors.toSet());
authorityList = permissions.stream().map(RoleCodeDto::new)
authorityList = permissions.stream().map(RoleCodeModel::new)
.collect(Collectors.toList());
redisHelper.set(key, authorityList, 1, TimeUnit.HOURS);
}