Compare commits

...

8 Commits

Author SHA1 Message Date
bunny 4765a78468 生成权限相关CURD 2025-07-11 23:11:10 +08:00
Bunny 95cb8bfa86 获取当前用户的信息 2025-07-11 16:19:56 +08:00
Bunny 8b6dba3749 设置自定义用户查询Service 2025-07-11 16:05:42 +08:00
Bunny 219412c68c 🎉 init基本用户信息查询 2025-07-11 15:14:17 +08:00
Bunny 5f2e3289d4 ♻️ 重构项目结构 2025-07-11 15:12:35 +08:00
Bunny ba6ab4b1ee 🎉 init-阶段二 2025-07-11 13:48:26 +08:00
Bunny 6579c15627 自定义UserDetailsService 2025-07-11 13:43:45 +08:00
Bunny 285d9272f4 实现自定义密码校验器 2025-07-11 09:29:13 +08:00
440 changed files with 7286 additions and 2203 deletions

View File

@ -192,7 +192,7 @@ public PasswordEncoder passwordEncoder() {
- 较老的算法,但广泛支持
- 需要高迭代次数才安全
### Spring Security中的最佳实践
#### 最佳实践
**最佳实践是使用BCryptPasswordEncoder**,原因包括:
@ -202,4 +202,142 @@ public PasswordEncoder passwordEncoder() {
4. 平衡了安全性和性能
5. 广泛支持,易于配置
在Spring Security 5+版本中BCryptPasswordEncoder是官方文档中首推的密码编码器实现。除非有特殊安全需求否则应优先选择它。
在Spring Security 5+版本中BCryptPasswordEncoder是官方文档中首推的密码编码器实现。除非有特殊安全需求否则应优先选择它。
### 实现自定义校验器
在Spring Security中自定义密码编码器需要实现`PasswordEncoder`接口。
以下是实现MD5示例及注意事项
```java
/**
* <h1>MD5密码编码器实现</h1>
*
* <strong>安全警告:</strong>此类使用MD5算法进行密码哈希已不再安全不推荐用于生产环境。
*
* <p>MD5算法因其计算速度快且易受彩虹表攻击而被认为不安全。即使密码哈希本身是单向的
* 但现代计算能力使得暴力破解和预先计算的彩虹表攻击变得可行。</p>
*
* <p>Spring Security推荐使用BCrypt、PBKDF2、Argon2或Scrypt等自适应单向函数替代MD5。</p>
*
* @see PasswordEncoder
* 一般仅用于遗留系统兼容,新系统应使用更安全的密码编码器
*/
public class MD5PasswordEncoder implements PasswordEncoder {
@Override
public String encode(CharSequence rawPassword) {
if (rawPassword == null) {
throw new IllegalArgumentException("原始密码不能为null");
}
byte[] md5Digest = DigestUtils.md5Digest(rawPassword.toString().getBytes());
return HexFormat.of().formatHex(md5Digest);
}
@Override
public boolean matches(CharSequence rawPassword, String encodedPassword) {
if (rawPassword == null) {
throw new IllegalArgumentException("原始密码不能为null");
}
if (!StringUtils.hasText(encodedPassword)) {
return false;
}
return encodedPassword.equalsIgnoreCase(encode(rawPassword));
}
@Override
public boolean upgradeEncoding(String encodedPassword) {
// MD5已不安全始终返回true建议升级到更安全的算法
return true;
}
}
```
## 自定义UserDetailsService
在Spring Security中如果需要自定义用户认证逻辑可以通过实现`UserDetailsService`接口来完成。以下是正确实现方式:
### 标准实现示例
```java
@Service
public class CustomUserDetailsService implements UserDetailsService {
private final PasswordEncoder passwordEncoder;
// 推荐使用构造器注入
public CustomUserDetailsService(PasswordEncoder passwordEncoder) {
this.passwordEncoder = passwordEncoder;
}
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// 1. 这里应该根据username从数据库或其他存储中查询用户信息
// 以下是模拟数据,实际应用中应从数据库查询
// 2. 如果用户不存在抛出UsernameNotFoundException
if (!"bunny".equalsIgnoreCase(username)) {
throw new UsernameNotFoundException("User not found: " + username);
}
// 3. 构建UserDetails对象返回
return User.builder()
.username(username) // 使用传入的用户名
.password(passwordEncoder.encode("123456")) // 密码应该已经加密存储,这里仅为示例
.roles("USER") // 角色会自动添加ROLE_前缀
.authorities("read", "write") // 添加具体权限
.build();
}
}
```
## 当前用户登录信息
用户的信息都保存在`SecurityContextHolder.getContext()`的上下文中。
```java
/**
* 获取当前认证用户的基本信息
* 使用Spring Security的SecurityContextHolder获取当前认证信息
*/
@Operation(summary = "当前用户的信息", description = "当前用户的信息")
@GetMapping("/current-user")
public Authentication getCurrentUser() {
// 从SecurityContextHolder获取当前认证对象
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
// 打印当前用户名和权限信息到控制台(用于调试)
System.out.println("Current user: " + auth.getName());
System.out.println("Authorities: " + auth.getAuthorities());
// 返回完整的认证对象
return auth;
}
/**
* 获取当前用户的详细信息
* 从认证主体中提取UserDetails信息
*/
@Operation(summary = "获取用户详情", description = "获取用户详情")
@GetMapping("user-detail")
public UserDetails getCurrentUserDetail() {
// 从SecurityContextHolder获取当前认证对象
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
// 获取认证主体(principal)
Object principal = auth.getPrincipal();
// 检查主体是否是UserDetails实例
if (principal instanceof UserDetails) {
// 如果是则转换为UserDetails并返回
return (UserDetails) principal;
} else {
// 如果不是UserDetails类型返回null
return null;
}
}
```

View File

@ -1,4 +1,4 @@
package com.spring;
package com.spring.official;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@ -1,4 +1,4 @@
package com.spring.config;
package com.spring.official.config;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.ApplicationEventPublisher;

View File

@ -1,4 +1,4 @@
package com.spring.config;
package com.spring.official.config;
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;

View File

@ -1,7 +1,7 @@
package com.spring.config;
package com.spring.official.config;
import com.spring.config.handler.SecurityAccessDeniedHandler;
import com.spring.config.handler.SecurityAuthenticationEntryPoint;
import com.spring.official.config.handler.SecurityAccessDeniedHandler;
import com.spring.official.config.handler.SecurityAuthenticationEntryPoint;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;

View File

@ -0,0 +1,28 @@
package com.spring.official.config.handler;
import com.alibaba.fastjson2.JSON;
import com.spring.official.domain.vo.result.Result;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import java.io.IOException;
@Slf4j
public class SecurityAccessDeniedHandler implements AccessDeniedHandler {
@Override
public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException, ServletException {
log.error("CustomerAccessDeniedHandler:{}", accessDeniedException.getLocalizedMessage());
Result<Object> result = Result.error(accessDeniedException.getMessage());
Object json = JSON.toJSON(result);
// 返回响应
response.setContentType("application/json;charset=UTF-8");
response.getWriter().println(json);
}
}

View File

@ -0,0 +1,29 @@
package com.spring.official.config.handler;
import com.alibaba.fastjson2.JSON;
import com.spring.official.domain.vo.result.Result;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import java.io.IOException;
@Slf4j
public class SecurityAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
log.error("CustomerAccessDeniedHandler:{}", authException.getLocalizedMessage());
Result<Object> result = Result.error(authException.getMessage());
Object json = JSON.toJSON(result);
// 返回响应
response.setContentType("application/json;charset=UTF-8");
response.getWriter().println(json);
}
}

View File

@ -1,7 +1,7 @@
package com.spring.controller.security;
package com.spring.official.controller.security;
import com.spring.domain.dto.security.LoginRequest;
import com.spring.domain.vo.result.Result;
import com.spring.official.domain.dto.security.LoginRequest;
import com.spring.official.domain.vo.result.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.DeptDto;
import com.spring.domain.entity.DeptEntity;
import com.spring.domain.vo.DeptVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.DeptService;
import com.spring.official.domain.dto.system.DeptDto;
import com.spring.official.domain.entity.DeptEntity;
import com.spring.official.domain.vo.DeptVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.DeptService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.EmailTemplateDto;
import com.spring.domain.entity.EmailTemplateEntity;
import com.spring.domain.vo.EmailTemplateVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.EmailTemplateService;
import com.spring.official.domain.dto.system.EmailTemplateDto;
import com.spring.official.domain.entity.EmailTemplateEntity;
import com.spring.official.domain.vo.EmailTemplateVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.EmailTemplateService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.EmailUsersDto;
import com.spring.domain.entity.EmailUsersEntity;
import com.spring.domain.vo.EmailUsersVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.EmailUsersService;
import com.spring.official.domain.dto.system.EmailUsersDto;
import com.spring.official.domain.entity.EmailUsersEntity;
import com.spring.official.domain.vo.EmailUsersVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.EmailUsersService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.FilesDto;
import com.spring.domain.entity.FilesEntity;
import com.spring.domain.vo.FilesVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.FilesService;
import com.spring.official.domain.dto.system.FilesDto;
import com.spring.official.domain.entity.FilesEntity;
import com.spring.official.domain.vo.FilesVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.FilesService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.FilesPartDetailDto;
import com.spring.domain.entity.FilesPartDetailEntity;
import com.spring.domain.vo.FilesPartDetailVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.FilesPartDetailService;
import com.spring.official.domain.dto.system.FilesPartDetailDto;
import com.spring.official.domain.entity.FilesPartDetailEntity;
import com.spring.official.domain.vo.FilesPartDetailVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.FilesPartDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.I18nDto;
import com.spring.domain.entity.I18nEntity;
import com.spring.domain.vo.I18nVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.I18nService;
import com.spring.official.domain.dto.system.I18nDto;
import com.spring.official.domain.entity.I18nEntity;
import com.spring.official.domain.vo.I18nVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.I18nService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.I18nTypeDto;
import com.spring.domain.entity.I18nTypeEntity;
import com.spring.domain.vo.I18nTypeVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.I18nTypeService;
import com.spring.official.domain.dto.system.I18nTypeDto;
import com.spring.official.domain.entity.I18nTypeEntity;
import com.spring.official.domain.vo.I18nTypeVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.I18nTypeService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.MenuIconDto;
import com.spring.domain.entity.MenuIconEntity;
import com.spring.domain.vo.MenuIconVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.MenuIconService;
import com.spring.official.domain.dto.system.MenuIconDto;
import com.spring.official.domain.entity.MenuIconEntity;
import com.spring.official.domain.vo.MenuIconVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.MenuIconService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.MessageDto;
import com.spring.domain.entity.MessageEntity;
import com.spring.domain.vo.MessageVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.MessageService;
import com.spring.official.domain.dto.system.MessageDto;
import com.spring.official.domain.entity.MessageEntity;
import com.spring.official.domain.vo.MessageVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.MessageService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.MessageReceivedDto;
import com.spring.domain.entity.MessageReceivedEntity;
import com.spring.domain.vo.MessageReceivedVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.MessageReceivedService;
import com.spring.official.domain.dto.system.MessageReceivedDto;
import com.spring.official.domain.entity.MessageReceivedEntity;
import com.spring.official.domain.vo.MessageReceivedVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.MessageReceivedService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.MessageTypeDto;
import com.spring.domain.entity.MessageTypeEntity;
import com.spring.domain.vo.MessageTypeVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.MessageTypeService;
import com.spring.official.domain.dto.system.MessageTypeDto;
import com.spring.official.domain.entity.MessageTypeEntity;
import com.spring.official.domain.vo.MessageTypeVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.MessageTypeService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.PermissionDto;
import com.spring.domain.entity.PermissionEntity;
import com.spring.domain.vo.PermissionVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.PermissionService;
import com.spring.official.domain.dto.system.PermissionDto;
import com.spring.official.domain.entity.PermissionEntity;
import com.spring.official.domain.vo.PermissionVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.PermissionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.RoleDto;
import com.spring.domain.entity.RoleEntity;
import com.spring.domain.vo.RoleVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.RoleService;
import com.spring.official.domain.dto.system.RoleDto;
import com.spring.official.domain.entity.RoleEntity;
import com.spring.official.domain.vo.RoleVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.RoleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.RolePermissionDto;
import com.spring.domain.entity.RolePermissionEntity;
import com.spring.domain.vo.RolePermissionVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.RolePermissionService;
import com.spring.official.domain.dto.system.RolePermissionDto;
import com.spring.official.domain.entity.RolePermissionEntity;
import com.spring.official.domain.vo.RolePermissionVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.RolePermissionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.RouterDto;
import com.spring.domain.entity.RouterEntity;
import com.spring.domain.vo.RouterVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.RouterService;
import com.spring.official.domain.dto.system.RouterDto;
import com.spring.official.domain.entity.RouterEntity;
import com.spring.official.domain.vo.RouterVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.RouterService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.RouterRoleDto;
import com.spring.domain.entity.RouterRoleEntity;
import com.spring.domain.vo.RouterRoleVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.RouterRoleService;
import com.spring.official.domain.dto.system.RouterRoleDto;
import com.spring.official.domain.entity.RouterRoleEntity;
import com.spring.official.domain.vo.RouterRoleVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.RouterRoleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.UserDto;
import com.spring.domain.entity.UserEntity;
import com.spring.domain.vo.UserVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.UserService;
import com.spring.official.domain.dto.system.UserDto;
import com.spring.official.domain.entity.UserEntity;
import com.spring.official.domain.vo.UserVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.UserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.UserDeptDto;
import com.spring.domain.entity.UserDeptEntity;
import com.spring.domain.vo.UserDeptVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.UserDeptService;
import com.spring.official.domain.dto.system.UserDeptDto;
import com.spring.official.domain.entity.UserDeptEntity;
import com.spring.official.domain.vo.UserDeptVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.UserDeptService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.UserLoginDto;
import com.spring.domain.entity.UserLoginEntity;
import com.spring.domain.vo.UserLoginVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.UserLoginService;
import com.spring.official.domain.dto.system.UserLoginDto;
import com.spring.official.domain.entity.UserLoginEntity;
import com.spring.official.domain.vo.UserLoginVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.UserLoginService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,13 +1,13 @@
package com.spring.controller.system;
package com.spring.official.controller.system;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.domain.dto.system.UserRoleDto;
import com.spring.domain.entity.UserRoleEntity;
import com.spring.domain.vo.UserRoleVo;
import com.spring.domain.vo.result.PageResult;
import com.spring.domain.vo.result.Result;
import com.spring.domain.vo.result.ResultCodeEnum;
import com.spring.service.system.UserRoleService;
import com.spring.official.domain.dto.system.UserRoleDto;
import com.spring.official.domain.entity.UserRoleEntity;
import com.spring.official.domain.vo.UserRoleVo;
import com.spring.official.domain.vo.result.PageResult;
import com.spring.official.domain.vo.result.Result;
import com.spring.official.domain.vo.result.ResultCodeEnum;
import com.spring.official.service.system.UserRoleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -0,0 +1,22 @@
package com.spring.official.domain.dto.security;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "LoginRequest", title = "LoginRequest登录参数", description = "登录请求参数")
public class LoginRequest {
@Schema(name = "username", title = "用户名")
private String username;
@Schema(name = "password", description = "密码")
private String password;
}

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.dto.system;
package com.spring.official.domain.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,17 +1,14 @@
package com.spring.bean.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.bean.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.bean.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.bean.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.bean.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.bean.entity;
package com.spring.official.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.bean.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.spring.domain.vo;
package com.spring.official.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@ -0,0 +1,34 @@
package com.spring.official.domain.vo.result;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 封装分页查询结果
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "PageResult 对象", title = "分页返回结果", description = "分页返回结果")
public class PageResult<T> implements Serializable {
@Schema(name = "pageNo", title = "当前页")
private Long pageNo;
@Schema(name = "pageSize", title = "每页记录数")
private Long pageSize;
@Schema(name = "total", title = "总记录数")
private Long total;
@Schema(name = "list", title = "当前页数据集合")
private List<T> list;
}

View File

@ -0,0 +1,173 @@
package com.spring.official.domain.vo.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {
// 状态码
private Integer code;
// 返回消息
private String message;
// 返回数据
private T data;
/**
* * 自定义返回体
*
* @param data 返回体
* @return Result<T>
*/
protected static <T> Result<T> build(T data) {
Result<T> result = new Result<>();
result.setData(data);
return result;
}
/**
* * 自定义返回体使用ResultCodeEnum构建
*
* @param body 返回体
* @param codeEnum 返回状态码
* @return Result<T>
*/
public static <T> Result<T> build(T body, ResultCodeEnum codeEnum) {
Result<T> result = build(body);
result.setCode(codeEnum.getCode());
result.setMessage(codeEnum.getMessage());
return result;
}
/**
* * 自定义返回体
*
* @param body 返回体
* @param code 返回状态码
* @param message 返回消息
* @return Result<T>
*/
public static <T> Result<T> build(T body, Integer code, String message) {
Result<T> result = build(body);
result.setCode(code);
result.setMessage(message);
result.setData(null);
return result;
}
/**
* * 操作成功
*
* @return Result<T>
*/
public static <T> Result<T> success() {
return success(null, ResultCodeEnum.SUCCESS);
}
/**
* * 操作成功
*
* @param data baseCategory1List
*/
public static <T> Result<T> success(T data) {
return build(data, ResultCodeEnum.SUCCESS);
}
/**
* * 操作成功-状态码
*
* @param codeEnum 状态码
*/
public static <T> Result<T> success(ResultCodeEnum codeEnum) {
return success(null, codeEnum);
}
/**
* * 操作成功-自定义返回数据和状态码
*
* @param data 返回体
* @param codeEnum 状态码
*/
public static <T> Result<T> success(T data, ResultCodeEnum codeEnum) {
return build(data, codeEnum);
}
/**
* * 操作失败-自定义返回数据和状态码
*
* @param data 返回体
* @param message 错误信息
*/
public static <T> Result<T> success(T data, String message) {
return build(data, 200, message);
}
/**
* * 操作失败-自定义返回数据和状态码
*
* @param data 返回体
* @param code 状态码
* @param message 错误信息
*/
public static <T> Result<T> success(T data, Integer code, String message) {
return build(data, code, message);
}
/**
* * 操作失败
*/
public static <T> Result<T> error() {
return Result.build(null);
}
/**
* * 操作失败-自定义返回数据
*
* @param data 返回体
*/
public static <T> Result<T> error(T data) {
return build(data, ResultCodeEnum.FAIL);
}
/**
* * 操作失败-状态码
*
* @param codeEnum 状态码
*/
public static <T> Result<T> error(ResultCodeEnum codeEnum) {
return build(null, codeEnum);
}
/**
* * 操作失败-自定义返回数据和状态码
*
* @param data 返回体
* @param codeEnum 状态码
*/
public static <T> Result<T> error(T data, ResultCodeEnum codeEnum) {
return build(data, codeEnum);
}
/**
* * 操作失败-自定义返回数据和状态码
*
* @param data 返回体
* @param code 状态码
* @param message 错误信息
*/
public static <T> Result<T> error(T data, Integer code, String message) {
return build(data, code, message);
}
/**
* * 操作失败-自定义返回数据和状态码
*
* @param data 返回体
* @param message 错误信息
*/
public static <T> Result<T> error(T data, String message) {
return build(null, 500, message);
}
}

View File

@ -0,0 +1,90 @@
package com.spring.official.domain.vo.result;
import lombok.Getter;
/**
* 统一返回结果状态信息类
*/
@Getter
public enum ResultCodeEnum {
// 成功操作 200
SUCCESS(200, "操作成功"),
LOAD_FINISHED(200, "加载完成"),
ADD_SUCCESS(200, "添加成功"),
UPDATE_SUCCESS(200, "修改成功"),
DELETE_SUCCESS(200, "删除成功"),
SORT_SUCCESS(200, "排序成功"),
SUCCESS_UPLOAD(200, "上传成功"),
SUCCESS_LOGOUT(200, "退出成功"),
EMAIL_CODE_REFRESH(200, "邮箱验证码已刷新"),
EMAIL_CODE_SEND_SUCCESS(200, "邮箱验证码已发送"),
// 验证错误 201
USERNAME_OR_PASSWORD_NOT_EMPTY(201, "用户名或密码不能为空"),
EMAIL_CODE_NOT_EMPTY(201, "邮箱验证码不能为空"),
SEND_EMAIL_CODE_NOT_EMPTY(201, "请先发送邮箱验证码"),
EMAIL_CODE_NOT_MATCHING(201, "邮箱验证码不匹配"),
LOGIN_ERROR(500, "账号或密码错误"),
LOGIN_ERROR_USERNAME_PASSWORD_NOT_EMPTY(201, "登录信息不能为空"),
GET_BUCKET_EXCEPTION(201, "获取文件信息失败"),
SEND_MAIL_CODE_ERROR(201, "邮件发送失败"),
EMAIL_CODE_EMPTY(201, "邮箱验证码过期或不存在"),
EMAIL_EXIST(201, "邮箱已存在"),
REQUEST_IS_EMPTY(201, "请求数据为空"),
DATA_TOO_LARGE(201, "请求数据为空"),
UPDATE_NEW_PASSWORD_SAME_AS_OLD_PASSWORD(201, "新密码与密码相同"),
// 数据相关 206
ILLEGAL_REQUEST(206, "非法请求"),
REPEAT_SUBMIT(206, "重复提交"),
DATA_ERROR(206, "数据异常"),
EMAIL_USER_TEMPLATE_IS_EMPTY(206, "邮件模板为空"),
EMAIL_TEMPLATE_IS_EMPTY(206, "邮件模板为空"),
EMAIL_USER_IS_EMPTY(206, "关联邮件用户配置为空"),
DATA_EXIST(206, "数据已存在"),
DATA_NOT_EXIST(206, "数据不存在"),
ALREADY_USER_EXCEPTION(206, "用户已存在"),
USER_IS_EMPTY(206, "用户不存在"),
FILE_NOT_EXIST(206, "文件不存在"),
NEW_PASSWORD_SAME_OLD_PASSWORD(206, "新密码不能和旧密码相同"),
MISSING_TEMPLATE_FILES(206, "缺少模板文件"),
// 身份过期 208
LOGIN_AUTH(208, "请先登陆"),
AUTHENTICATION_EXPIRED(208, "身份验证过期"),
SESSION_EXPIRATION(208, "会话过期"),
// 209
THE_SAME_USER_HAS_LOGGED_IN(209, "相同用户已登录"),
// 提示错误
UPDATE_ERROR(216, "修改失败"),
URL_ENCODE_ERROR(216, "URL编码失败"),
ILLEGAL_CALLBACK_REQUEST_ERROR(217, "非法回调请求"),
FETCH_USERINFO_ERROR(219, "获取用户信息失败"),
ILLEGAL_DATA_REQUEST(219, "非法数据请求"),
CLASS_NOT_FOUND(219, "类名不存在"),
ADMIN_ROLE_CAN_NOT_DELETED(219, "无法删除admin角色"),
ROUTER_RANK_NEED_LARGER_THAN_THE_PARENT(219, "设置路由等级需要大于或等于父级的路由等级"),
// 无权访问 403
FAIL_NO_ACCESS_DENIED(403, "无权访问"),
FAIL_NO_ACCESS_DENIED_USER_OFFLINE(403, "用户强制下线"),
TOKEN_PARSING_FAILED(403, "token解析失败"),
FAIL_NO_ACCESS_DENIED_USER_LOCKED(403, "该账户已封禁"),
// 系统错误 500
UNKNOWN_EXCEPTION(500, "服务异常"),
SERVICE_ERROR(500, "服务异常"),
UPLOAD_ERROR(500, "上传失败"),
FAIL(500, "失败"),
;
private final Integer code;
private final String message;
ResultCodeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.domain.dto.system.DeptDto;
import com.spring.domain.entity.DeptEntity;
import com.spring.domain.vo.DeptVo;
import com.spring.official.domain.dto.system.DeptDto;
import com.spring.official.domain.entity.DeptEntity;
import com.spring.official.domain.vo.DeptVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.bean.dto.system.EmailTemplateDto;
import com.spring.bean.entity.EmailTemplateEntity;
import com.spring.bean.vo.EmailTemplateVo;
import com.spring.official.domain.dto.system.EmailTemplateDto;
import com.spring.official.domain.entity.EmailTemplateEntity;
import com.spring.official.domain.vo.EmailTemplateVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.bean.dto.system.EmailUsersDto;
import com.spring.bean.entity.EmailUsersEntity;
import com.spring.bean.vo.EmailUsersVo;
import com.spring.official.domain.dto.system.EmailUsersDto;
import com.spring.official.domain.entity.EmailUsersEntity;
import com.spring.official.domain.vo.EmailUsersVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.domain.dto.system.FilesDto;
import com.spring.domain.entity.FilesEntity;
import com.spring.domain.vo.FilesVo;
import com.spring.official.domain.dto.system.FilesDto;
import com.spring.official.domain.entity.FilesEntity;
import com.spring.official.domain.vo.FilesVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.bean.dto.system.FilesPartDetailDto;
import com.spring.bean.entity.FilesPartDetailEntity;
import com.spring.bean.vo.FilesPartDetailVo;
import com.spring.official.domain.dto.system.FilesPartDetailDto;
import com.spring.official.domain.entity.FilesPartDetailEntity;
import com.spring.official.domain.vo.FilesPartDetailVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.bean.dto.system.I18nDto;
import com.spring.bean.entity.I18nEntity;
import com.spring.bean.vo.I18nVo;
import com.spring.official.domain.dto.system.I18nDto;
import com.spring.official.domain.entity.I18nEntity;
import com.spring.official.domain.vo.I18nVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.bean.dto.system.I18nTypeDto;
import com.spring.bean.entity.I18nTypeEntity;
import com.spring.bean.vo.I18nTypeVo;
import com.spring.official.domain.dto.system.I18nTypeDto;
import com.spring.official.domain.entity.I18nTypeEntity;
import com.spring.official.domain.vo.I18nTypeVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

View File

@ -1,12 +1,12 @@
package com.spring.mapper;
package com.spring.official.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.spring.domain.dto.system.MenuIconDto;
import com.spring.domain.entity.MenuIconEntity;
import com.spring.domain.vo.MenuIconVo;
import com.spring.official.domain.dto.system.MenuIconDto;
import com.spring.official.domain.entity.MenuIconEntity;
import com.spring.official.domain.vo.MenuIconVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**

Some files were not shown because too many files have changed in this diff Show More