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