ci(修改打包警告和Docker文件):

This commit is contained in:
bunny 2025-05-01 17:10:21 +08:00
parent ec1603885f
commit ba359a13bd
20 changed files with 75 additions and 45 deletions

35
auh-api/Dockerfile Normal file
View File

@ -0,0 +1,35 @@
FROM openjdk:24-ea-17-jdk-oraclelinux9
MAINTAINER server
#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 设置时区,构建镜像时执行的命令
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
# 设定工作目录
WORKDIR /home/server
# 复制jar包
COPY target/*.jar /home/server/app.jar
# 程序内部挂在目录
VOLUME /usr/bin/docker
VOLUME ["/var/run/docker.sock"]
VOLUME /etc/docker/daemon.json
VOLUME ["/www/root/backup"]
VOLUME ["/www/root/server"]
# 启动容器时的进程
ENTRYPOINT ["java","-jar","/home/server/app.jar"]
#暴露 8000 端口
EXPOSE 8000
# 生产环境
# mvn clean package -Pprod -DskipTests
# 测试环境
# mvn clean package -Ptest -DskipTests

View File

@ -84,7 +84,7 @@ public class PermissionController {
@PutMapping("file/import")
public Result<String> importPermission(@RequestParam(value = "file") MultipartFile file, String type) {
permissionService.importPermission(file, type);
return Result.success(ResultCodeEnum.SUCCESS);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "获取所有权限", description = "获取所有权限", tags = {"permission::query"})

View File

@ -88,6 +88,6 @@ public class RoleController {
@PutMapping("file/import")
public Result<String> updateRoleByFile(MultipartFile file) {
roleService.updateRoleByFile(file);
return Result.success();
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
}

View File

@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.web.multipart.MultipartFile;
@ -16,7 +15,6 @@ import java.util.List;
* 邮件发送对象
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "EmailSend", title = "邮件发送表单", description = "邮件发送表单")

View File

@ -4,12 +4,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "EmailSendInit", title = "邮件发送初始化", description = "邮件发送初始化")

View File

@ -7,7 +7,6 @@ import com.alibaba.excel.enums.BooleanEnum;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -15,7 +14,6 @@ import java.util.ArrayList;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@HeadFontStyle(fontHeightInPoints = 22, color = 14, bold = BooleanEnum.TRUE)

View File

@ -1,7 +1,10 @@
package cn.bunny.services.domain.common.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@ -13,7 +16,6 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "LoginVo对象", title = "登录成功返回内容", description = "登录成功返回内容")
public class LoginVo extends BaseVo {

View File

@ -4,14 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "EmailUsersAddDto对象", title = "添加邮箱用户发送配置", description = "添加邮箱用户发送配置")
public class EmailUsersAddDto {

View File

@ -5,7 +5,6 @@ import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.web.multipart.MultipartFile;
@ -15,7 +14,6 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "FilesAddDto对象", title = "添加文件", description = "添加文件")
public class FilesAddDto {

View File

@ -3,14 +3,12 @@ package cn.bunny.services.domain.system.i18n.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "I18nTypeAddDto对象", title = "多语言类型添加", description = "多语言类型添加内容")
public class I18nTypeAddDto {

View File

@ -4,14 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "I18nTypeUpdateDto对象", title = "多语言类型更新", description = "多语言类型更新内容")
public class I18nTypeUpdateDto {

View File

@ -4,16 +4,15 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MessageAddDto对象", title = "添加系统消息", description = "添加系统消息")
public class MessageAddDto {
@ -22,7 +21,7 @@ public class MessageAddDto {
private String title;
@Schema(name = "receivedUserIds", title = "接收人用户ID")
private List<Long> receivedUserIds;
private List<Long> receivedUserIds = new ArrayList<>();
@Schema(name = "sendUserId", title = "发送人用户ID")
private Long sendUserId;

View File

@ -3,14 +3,12 @@ package cn.bunny.services.domain.system.message.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MessageTypeAddDto对象", title = "添加系统消息类型", description = "添加系统消息类型")
public class MessageTypeAddDto {

View File

@ -5,14 +5,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "AdminUserAddDto对象", title = "添加用户", description = "用户管理")
public class AdminUserAddDto {

View File

@ -5,14 +5,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "AdminUserUpdateByLocalUserDto对象", title = "更新本地用户信息", description = "更新本地用户信息")
public class AdminUserUpdateByLocalUserDto {

View File

@ -5,14 +5,12 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "LoginDto", title = "登录表单内容", description = "登录表单内容")
public class LoginDto {

View File

@ -4,14 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "RefreshTokenDto对象", title = "登录成功返回内容", description = "登录成功返回内容")
public class RefreshTokenDto {

View File

@ -7,7 +7,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@ -16,7 +19,6 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "RouterControllerVo对象", title = "管理员用户看到菜单内容", description = "管理员用户管理菜单")
public class RouterManageVo extends BaseUserVo {

View File

@ -4,14 +4,12 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VmsArgumentDto {

View File

@ -7,22 +7,27 @@ import cn.bunny.services.domain.common.model.vo.result.ResultCodeEnum;
import cn.bunny.services.security.exception.CustomAuthenticationException;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.authorization.AuthorizationDecision;
import org.springframework.security.authorization.AuthorizationManager;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.access.intercept.RequestAuthorizationContext;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.function.Supplier;
/**
* 自定义权限判断
* 判断用户有哪些权限
* 自定义授权管理器服务实现
*
* <p>负责处理API请求的授权决策主要功能</p>
* <ol>
* <li>验证请求Token的有效性</li>
* <li>检查用户状态是否禁用</li>
* <li>设置当前请求上下文信息</li>
* <li>执行权限检查</li>
* </ol>
*/
@Component
@Slf4j
@Service
public class CustomAuthorizationManagerServiceImpl implements AuthorizationManager<RequestAuthorizationContext> {
@Resource
@ -32,11 +37,17 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
private PermissionCheckService permissionCheckService;
/**
* 检查请求的Token是否携带并判断是否过期
* 授权决策主方法
* <ul>
* <li>Token验证失败</li>
* <li>用户状态异常</li>
* <li>权限检查失败</li>
* </ul>
*
* @param authentication Supplier
* @param context RequestAuthorizationContext
* @return AuthorizationDecision
* @param authentication 认证信息提供者
* @param context 请求授权上下文
* @return 授权决策结果允许/拒绝
* @throws CustomAuthenticationException 当出现以下情况时抛出
*/
@Override
public AuthorizationDecision check(Supplier<Authentication> authentication, RequestAuthorizationContext context) {
@ -59,6 +70,12 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
return new AuthorizationDecision(hasPermission);
}
/**
* 验证用户状态
*
* @param loginVo 用户登录信息
* @throws CustomAuthenticationException 当用户状态异常时抛出
*/
private void validateUserStatus(LoginVo loginVo) {
// 登录信息为空
if (loginVo == null) {
@ -71,3 +88,4 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
}
}
}