refactor: 修改工具类名称

This commit is contained in:
Bunny 2025-02-17 17:30:28 +08:00
parent 2d34d04a4a
commit da7157e0c4
11 changed files with 44 additions and 34 deletions

View File

@ -15,7 +15,7 @@ public class AuthCustomerException extends RuntimeException {
Integer code; Integer code;
// 描述信息 // 描述信息
String message; String message = "服务异常";
// 返回结果状态 // 返回结果状态
ResultCodeEnum resultCodeEnum; ResultCodeEnum resultCodeEnum;

View File

@ -6,6 +6,7 @@ import cn.bunny.dao.vo.result.Result;
import cn.bunny.dao.vo.result.ResultCodeEnum; import cn.bunny.dao.vo.result.ResultCodeEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.context.support.DefaultMessageSourceResolvable;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
@ -36,6 +37,7 @@ public class GlobalExceptionHandler {
@ResponseBody @ResponseBody
public Result<Object> exceptionHandler(RuntimeException exception) { public Result<Object> exceptionHandler(RuntimeException exception) {
String message = exception.getMessage(); String message = exception.getMessage();
message = StringUtils.hasText(message) ? message : "服务器异常";
// 解析异常 // 解析异常
String jsonParseError = "JSON parse error (.*)"; String jsonParseError = "JSON parse error (.*)";
@ -67,7 +69,7 @@ public class GlobalExceptionHandler {
log.error("GlobalExceptionHandler===>运行时异常信息:{}", message); log.error("GlobalExceptionHandler===>运行时异常信息:{}", message);
exception.printStackTrace(); exception.printStackTrace();
return Result.error(null, 500, "服务器异常"); return Result.error(null, 500, message);
} }
// 捕获系统异常 // 捕获系统异常

View File

@ -8,7 +8,7 @@ import cn.bunny.dao.vo.result.ResultCodeEnum;
import cn.bunny.dao.vo.system.user.LoginVo; import cn.bunny.dao.vo.system.user.LoginVo;
import cn.bunny.services.mapper.UserMapper; import cn.bunny.services.mapper.UserMapper;
import cn.bunny.services.security.custom.CustomUser; import cn.bunny.services.security.custom.CustomUser;
import cn.bunny.services.utils.UserFactory; import cn.bunny.services.utils.UserUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -27,7 +27,7 @@ public class CustomUserDetailsServiceImpl implements cn.bunny.services.security.
private UserMapper userMapper; private UserMapper userMapper;
@Autowired @Autowired
private UserFactory userFactory; private UserUtil userUtil;
/** /**
* 根据用户名获取用户对象获取不到直接抛异常 * 根据用户名获取用户对象获取不到直接抛异常
@ -80,6 +80,6 @@ public class CustomUserDetailsServiceImpl implements cn.bunny.services.security.
String md5Password = DigestUtils.md5DigestAsHex(password.getBytes()); String md5Password = DigestUtils.md5DigestAsHex(password.getBytes());
if (!user.getPassword().equals(md5Password)) throw new AuthCustomerException(ResultCodeEnum.LOGIN_ERROR); if (!user.getPassword().equals(md5Password)) throw new AuthCustomerException(ResultCodeEnum.LOGIN_ERROR);
return userFactory.buildLoginUserVo(user, readMeDay); return userUtil.buildLoginUserVo(user, readMeDay);
} }
} }

View File

@ -13,7 +13,7 @@ import cn.bunny.dao.vo.system.message.MessageReceivedWithMessageVo;
import cn.bunny.dao.vo.system.message.MessageUserVo; import cn.bunny.dao.vo.system.message.MessageUserVo;
import cn.bunny.services.mapper.MessageReceivedMapper; import cn.bunny.services.mapper.MessageReceivedMapper;
import cn.bunny.services.service.MessageReceivedService; import cn.bunny.services.service.MessageReceivedService;
import cn.bunny.services.utils.UserFactory; import cn.bunny.services.utils.UserUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -39,7 +39,7 @@ import java.util.List;
public class MessageReceivedServiceImpl extends ServiceImpl<MessageReceivedMapper, MessageReceived> implements MessageReceivedService { public class MessageReceivedServiceImpl extends ServiceImpl<MessageReceivedMapper, MessageReceived> implements MessageReceivedService {
@Autowired @Autowired
private UserFactory userFactory; private UserUtil userUtil;
/** /**
* 管理员管理用户消息接收分页查询 * 管理员管理用户消息接收分页查询
@ -58,7 +58,7 @@ public class MessageReceivedServiceImpl extends ServiceImpl<MessageReceivedMappe
// 设置封面返回内容 // 设置封面返回内容
String cover = vo.getCover(); String cover = vo.getCover();
cover = userFactory.checkGetUserAvatar(cover); cover = userUtil.checkGetUserAvatar(cover);
vo.setCover(cover); vo.setCover(cover);
return vo; return vo;
}).toList(); }).toList();
@ -113,7 +113,7 @@ public class MessageReceivedServiceImpl extends ServiceImpl<MessageReceivedMappe
// 设置封面返回内容 // 设置封面返回内容
String cover = vo.getCover(); String cover = vo.getCover();
cover = userFactory.checkGetUserAvatar(cover); cover = userUtil.checkGetUserAvatar(cover);
vo.setCover(cover); vo.setCover(cover);
return vo; return vo;
}).toList(); }).toList();

View File

@ -19,7 +19,7 @@ import cn.bunny.services.mapper.MessageReceivedMapper;
import cn.bunny.services.mapper.UserMapper; import cn.bunny.services.mapper.UserMapper;
import cn.bunny.services.service.MessageReceivedService; import cn.bunny.services.service.MessageReceivedService;
import cn.bunny.services.service.MessageService; import cn.bunny.services.service.MessageService;
import cn.bunny.services.utils.UserFactory; import cn.bunny.services.utils.UserUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -48,7 +48,7 @@ import java.util.stream.Collectors;
public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements MessageService { public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements MessageService {
@Autowired @Autowired
private UserFactory userFactory; private UserUtil userUtil;
@Autowired @Autowired
private MessageReceivedMapper messageReceivedMapper; private MessageReceivedMapper messageReceivedMapper;
@ -152,7 +152,7 @@ public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> impl
// 设置封面返回内容 // 设置封面返回内容
String cover = dto.getCover(); String cover = dto.getCover();
dto.setCover(userFactory.checkGetUserAvatar(cover)); dto.setCover(userUtil.checkGetUserAvatar(cover));
// 先保存消息数据之后拿到保存消息的id // 先保存消息数据之后拿到保存消息的id
Message message = new Message(); Message message = new Message();
@ -198,7 +198,7 @@ public class MessageServiceImpl extends ServiceImpl<MessageMapper, Message> impl
// 设置封面返回内容 // 设置封面返回内容
String cover = dto.getCover(); String cover = dto.getCover();
dto.setCover(userFactory.checkGetUserAvatar(cover)); dto.setCover(userUtil.checkGetUserAvatar(cover));
// 更新内容 // 更新内容
Message message = new Message(); Message message = new Message();

View File

@ -21,7 +21,7 @@ import cn.bunny.services.mapper.RouterMapper;
import cn.bunny.services.mapper.RouterRoleMapper; import cn.bunny.services.mapper.RouterRoleMapper;
import cn.bunny.services.security.custom.CustomCheckIsAdmin; import cn.bunny.services.security.custom.CustomCheckIsAdmin;
import cn.bunny.services.service.RouterService; import cn.bunny.services.service.RouterService;
import cn.bunny.services.utils.RouterServiceFactory; import cn.bunny.services.utils.RouterServiceUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -46,7 +46,7 @@ import java.util.stream.Collectors;
@Transactional @Transactional
public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> implements RouterService { public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> implements RouterService {
@Autowired @Autowired
private RouterServiceFactory routerServiceFactory; private RouterServiceUtil routerServiceUtil;
@Autowired @Autowired
private RoleMapper roleMapper; private RoleMapper roleMapper;
@ -151,7 +151,7 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
// 构建树形结构 // 构建树形结构
routerVoList.forEach(routerVo -> { routerVoList.forEach(routerVo -> {
if (routerVo.getParentId() == 0) { if (routerVo.getParentId() == 0) {
routerVo.setChildren(routerServiceFactory.handleGetChildrenWIthRouter(routerVo.getId(), routerVoList)); routerVo.setChildren(routerServiceUtil.handleGetChildrenWIthRouter(routerVo.getId(), routerVoList));
list.add(routerVo); list.add(routerVo);
} }
}); });

View File

@ -11,7 +11,7 @@ import cn.bunny.dao.vo.system.user.LoginVo;
import cn.bunny.services.mapper.UserMapper; import cn.bunny.services.mapper.UserMapper;
import cn.bunny.services.mapper.UserRoleMapper; import cn.bunny.services.mapper.UserRoleMapper;
import cn.bunny.services.service.UserRoleService; import cn.bunny.services.service.UserRoleService;
import cn.bunny.services.utils.UserFactory; import cn.bunny.services.utils.UserUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -38,7 +38,7 @@ public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> i
private UserRoleMapper userRoleMapper; private UserRoleMapper userRoleMapper;
@Autowired @Autowired
private UserFactory userFactory; private UserUtil userUtil;
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@ -94,7 +94,7 @@ public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> i
// 重新设置Redis中的用户存储信息vo对象 // 重新设置Redis中的用户存储信息vo对象
String username = adminUser.getUsername(); String username = adminUser.getUsername();
loginVo = userFactory.buildLoginUserVo(adminUser, readMeDay); loginVo = userUtil.buildLoginUserVo(adminUser, readMeDay);
redisTemplate.opsForValue().set(RedisUserConstant.getAdminLoginInfoPrefix(username), loginVo, readMeDay, TimeUnit.DAYS); redisTemplate.opsForValue().set(RedisUserConstant.getAdminLoginInfoPrefix(username), loginVo, readMeDay, TimeUnit.DAYS);
} }
} }

View File

@ -21,7 +21,7 @@ import cn.bunny.dao.vo.system.user.*;
import cn.bunny.services.mapper.*; import cn.bunny.services.mapper.*;
import cn.bunny.services.service.FilesService; import cn.bunny.services.service.FilesService;
import cn.bunny.services.service.UserService; import cn.bunny.services.service.UserService;
import cn.bunny.services.utils.UserFactory; import cn.bunny.services.utils.UserUtil;
import cn.bunny.services.utils.email.ConcreteSenderEmailTemplate; import cn.bunny.services.utils.email.ConcreteSenderEmailTemplate;
import cn.hutool.captcha.CaptchaUtil; import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha; import cn.hutool.captcha.CircleCaptcha;
@ -58,7 +58,7 @@ import java.util.concurrent.TimeUnit;
public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implements UserService { public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implements UserService {
@Autowired @Autowired
private UserFactory userFactory; private UserUtil userUtil;
@Autowired @Autowired
private ConcreteSenderEmailTemplate concreteSenderEmailTemplate; private ConcreteSenderEmailTemplate concreteSenderEmailTemplate;
@ -131,7 +131,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
if (adminUser == null) throw new AuthCustomerException(ResultCodeEnum.USER_IS_EMPTY); if (adminUser == null) throw new AuthCustomerException(ResultCodeEnum.USER_IS_EMPTY);
if (adminUser.getStatus()) throw new AuthCustomerException(ResultCodeEnum.FAIL_NO_ACCESS_DENIED_USER_LOCKED); if (adminUser.getStatus()) throw new AuthCustomerException(ResultCodeEnum.FAIL_NO_ACCESS_DENIED_USER_LOCKED);
LoginVo buildUserVo = userFactory.buildLoginUserVo(adminUser, dto.getReadMeDay()); LoginVo buildUserVo = userUtil.buildLoginUserVo(adminUser, dto.getReadMeDay());
RefreshTokenVo refreshTokenVo = new RefreshTokenVo(); RefreshTokenVo refreshTokenVo = new RefreshTokenVo();
BeanUtils.copyProperties(buildUserVo, refreshTokenVo); BeanUtils.copyProperties(buildUserVo, refreshTokenVo);
@ -154,7 +154,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
// 查询用户信息 // 查询用户信息
AdminUser adminUser = getOne(Wrappers.<AdminUser>lambdaQuery().eq(AdminUser::getId, userId)); AdminUser adminUser = getOne(Wrappers.<AdminUser>lambdaQuery().eq(AdminUser::getId, userId));
UserLoginLog userLoginLog = userFactory.setUserLoginLog(adminUser, token, ipAddr, ipRegion, "logout"); UserLoginLog userLoginLog = userUtil.setUserLoginLog(adminUser, token, ipAddr, ipRegion, "logout");
userLoginLogMapper.insert(userLoginLog); userLoginLogMapper.insert(userLoginLog);
// 删除Redis中用户信息 // 删除Redis中用户信息
@ -181,7 +181,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
UserVo userVo = new UserVo(); UserVo userVo = new UserVo();
BeanUtils.copyProperties(user, userVo); BeanUtils.copyProperties(user, userVo);
userVo.setAvatar(userFactory.checkGetUserAvatar(avatar)); userVo.setAvatar(userUtil.checkGetUserAvatar(avatar));
return userVo; return userVo;
} }
@ -243,7 +243,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
// 重新生成用户信息到Redis中 // 重新生成用户信息到Redis中
user.setAvatar(adminUser.getAvatar()); user.setAvatar(adminUser.getAvatar());
userFactory.buildUserVo(user, RedisUserConstant.REDIS_EXPIRATION_TIME); userUtil.buildUserVo(user, RedisUserConstant.REDIS_EXPIRATION_TIME);
} }
/** /**
@ -342,7 +342,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
if (user == null) throw new AuthCustomerException(ResultCodeEnum.USER_IS_EMPTY); if (user == null) throw new AuthCustomerException(ResultCodeEnum.USER_IS_EMPTY);
// 检查用户头像 // 检查用户头像
dto.setAvatar(userFactory.checkPostUserAvatar(dto.getAvatar())); dto.setAvatar(userUtil.checkPostUserAvatar(dto.getAvatar()));
// 更新用户 // 更新用户
AdminUser adminUser = new AdminUser(); AdminUser adminUser = new AdminUser();
@ -352,7 +352,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
// 重新生成用户信息到Redis中 // 重新生成用户信息到Redis中
BeanUtils.copyProperties(dto, user); BeanUtils.copyProperties(dto, user);
userFactory.buildUserVo(user, RedisUserConstant.REDIS_EXPIRATION_TIME); userUtil.buildUserVo(user, RedisUserConstant.REDIS_EXPIRATION_TIME);
} }
/** /**
@ -400,7 +400,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
List<AdminUserVo> voList = page.getRecords().stream() List<AdminUserVo> voList = page.getRecords().stream()
.map(adminUser -> { .map(adminUser -> {
// 如果存在用户头像则设置用户头像 // 如果存在用户头像则设置用户头像
String avatar = userFactory.checkGetUserAvatar(adminUser.getAvatar()); String avatar = userUtil.checkGetUserAvatar(adminUser.getAvatar());
AdminUserVo adminUserVo = new AdminUserVo(); AdminUserVo adminUserVo = new AdminUserVo();
BeanUtils.copyProperties(adminUser, adminUserVo); BeanUtils.copyProperties(adminUser, adminUserVo);
@ -487,7 +487,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, AdminUser> implemen
// 重新生成用户信息到Redis中 // 重新生成用户信息到Redis中
BeanUtils.copyProperties(dto, adminUser); BeanUtils.copyProperties(dto, adminUser);
userFactory.buildUserVo(adminUser, RedisUserConstant.REDIS_EXPIRATION_TIME); userUtil.buildUserVo(adminUser, RedisUserConstant.REDIS_EXPIRATION_TIME);
} }
/** /**

View File

@ -20,7 +20,7 @@ public class RoleUtil {
private UserMapper userMapper; private UserMapper userMapper;
@Autowired @Autowired
private UserFactory userFactory; private UserUtil userUtil;
/** /**
* 批量更新Redis中用户信息 * 批量更新Redis中用户信息
@ -39,6 +39,6 @@ public class RoleUtil {
String adminLoginInfoPrefix = RedisUserConstant.getAdminLoginInfoPrefix(user.getUsername()); String adminLoginInfoPrefix = RedisUserConstant.getAdminLoginInfoPrefix(user.getUsername());
Object object = redisTemplate.opsForValue().get(adminLoginInfoPrefix); Object object = redisTemplate.opsForValue().get(adminLoginInfoPrefix);
return object != null; return object != null;
}).forEach(user -> userFactory.buildUserVo(user, RedisUserConstant.REDIS_EXPIRATION_TIME)); }).forEach(user -> userUtil.buildUserVo(user, RedisUserConstant.REDIS_EXPIRATION_TIME));
} }
} }

View File

@ -8,7 +8,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
public class RouterServiceFactory { public class RouterServiceUtil {
/** /**
* * 递归调用设置子路由 * * 递归调用设置子路由

View File

@ -1,5 +1,6 @@
package cn.bunny.services.utils; package cn.bunny.services.utils;
import cn.bunny.common.service.exception.AuthCustomerException;
import cn.bunny.common.service.utils.JwtHelper; import cn.bunny.common.service.utils.JwtHelper;
import cn.bunny.common.service.utils.ip.IpUtil; import cn.bunny.common.service.utils.ip.IpUtil;
import cn.bunny.common.service.utils.minio.MinioUtil; import cn.bunny.common.service.utils.minio.MinioUtil;
@ -35,7 +36,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@Component @Component
public class UserFactory { public class UserUtil {
@Autowired @Autowired
private PowerMapper powerMapper; private PowerMapper powerMapper;
@ -54,7 +55,14 @@ public class UserFactory {
@Autowired @Autowired
private MinioUtil minioUtil; private MinioUtil minioUtil;
@Transactional /**
* 构建登录用户返回对象
*
* @param user 用户
* @param readMeDay 保存登录信息时间
* @return 登录信息
*/
@Transactional(rollbackFor = AuthCustomerException.class)
public LoginVo buildLoginUserVo(AdminUser user, long readMeDay) { public LoginVo buildLoginUserVo(AdminUser user, long readMeDay) {
Long userId = user.getId(); Long userId = user.getId();
String email = user.getEmail(); String email = user.getEmail();