diff --git a/pom.xml b/pom.xml index b3355c4..73c6d66 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.18 + 3.4.5 @@ -30,7 +30,6 @@ 1.18.34 3.5.16 1.2.23 - 3.5.7 1.8.0 @@ -43,33 +42,20 @@ 1.19.8 2.2.224 - - - - - - org.springframework.ai - spring-ai-bom - ${spring-ai.version} - pom - import - - - - + org.springframework.boot spring-boot-starter-web - + org.springframework.boot spring-boot-starter-thymeleaf - + - + org.springframework.boot spring-boot-starter-webflux - + com.squareup.okhttp3 okhttp ${okhttp.version} - + com.fasterxml.jackson.core jackson-databind ${jackson.version} - + org.springframework.boot spring-boot-starter-actuator - + io.micrometer micrometer-core - + org.springframework.retry spring-retry - + io.github.resilience4j @@ -131,46 +117,10 @@ com.chinaweal.youfool - youfool-framework-springboot - 1.1.1-SNAPSHOT - - - org.apache.logging.log4j - log4j-api - - - org.apache.logging.log4j - log4j-to-slf4j - - - org.apache.shiro - shiro-spring - - - - com.github.xiaoymin - knife4j-spring-boot-starter - - - io.springfox - springfox-swagger2 - - - io.springfox - springfox-swagger-ui - - - io.springfox - springfox-boot-starter - - + youfool-framework-springboot3 + 1.0.1 - - com.alibaba - druid-spring-boot-starter - ${druid.version} - org.projectlombok @@ -202,10 +152,10 @@ spring-boot-starter-test test - + - + com.h2database @@ -213,7 +163,7 @@ ${h2.version} test - + org.testcontainers @@ -221,7 +171,7 @@ ${testcontainers.version} test - + org.testcontainers @@ -229,14 +179,14 @@ ${testcontainers.version} test - + io.projectreactor reactor-test test - + com.squareup.okhttp3 @@ -244,7 +194,7 @@ ${okhttp.version} test - + junit @@ -262,20 +212,20 @@ org.springframework spring-websocket - + org.springframework spring-messaging - + org.webjars sockjs-client 1.5.1 - + javax.websocket javax.websocket-api @@ -316,12 +266,6 @@ logback-classic ${logback.version} - - - org.mybatis - mybatis - ${mybatis.version} - org.apache.shiro @@ -352,15 +296,14 @@ 2.9.2 compile - + - com.github.xiaoymin - knife4j-annotations - 2.0.9 - compile + com.chinaweal.youfool.ai + youfool-ai-framework + 1.0.0-SNAPSHOT - + @@ -380,7 +323,7 @@ - + devops-api-gd diff --git a/src/main/java/com/chinaweal/youfool/devops/DevOpsApplication.java b/src/main/java/com/chinaweal/youfool/devops/DevOpsApplication.java index b3d00d2..47f752e 100644 --- a/src/main/java/com/chinaweal/youfool/devops/DevOpsApplication.java +++ b/src/main/java/com/chinaweal/youfool/devops/DevOpsApplication.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops; // Temporarily commented out for Spring AI compatibility // import com.chinaweal.youfool.devops.ai.config.AIRepairIntegrationConfig; import com.chinaweal.youfool.devops.config.ErrorLogProperties; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIAnswerGenerationAspect.java b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIAnswerGenerationAspect.java index 3965800..f870f2f 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIAnswerGenerationAspect.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIAnswerGenerationAspect.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.ai.aspect; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceSession; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceStep; import com.chinaweal.youfool.devops.ai.aspect.service.WorkflowTracingService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -12,7 +12,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIWorkflowTracingAspect.java b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIWorkflowTracingAspect.java index 6f55846..2fc75bf 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIWorkflowTracingAspect.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/AIWorkflowTracingAspect.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.ai.aspect; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceSession; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceStep; import com.chinaweal.youfool.devops.ai.aspect.service.WorkflowTracingService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/EmbeddingServiceAspect.java b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/EmbeddingServiceAspect.java index cdc21ec..2a46d42 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/EmbeddingServiceAspect.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/EmbeddingServiceAspect.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.ai.aspect; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceSession; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceStep; import com.chinaweal.youfool.devops.ai.aspect.service.WorkflowTracingService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -12,7 +12,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/MCPToolCallAspect.java b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/MCPToolCallAspect.java index b12757d..f63a6ca 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/aspect/MCPToolCallAspect.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/aspect/MCPToolCallAspect.java @@ -4,7 +4,7 @@ import com.chinaweal.youfool.devops.ai.aspect.dto.MCPToolCallTrace; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceSession; import com.chinaweal.youfool.devops.ai.aspect.dto.WorkflowTraceStep; import com.chinaweal.youfool.devops.ai.aspect.service.WorkflowTracingService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker; import io.github.resilience4j.ratelimiter.annotation.RateLimiter; import io.github.resilience4j.retry.annotation.Retry; @@ -17,7 +17,6 @@ import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import java.lang.reflect.Method; -import java.time.LocalDateTime; import java.util.Arrays; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/client/MCPClient.java b/src/main/java/com/chinaweal/youfool/devops/ai/client/MCPClient.java index 1f36484..f22e9e4 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/client/MCPClient.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/client/MCPClient.java @@ -4,7 +4,7 @@ import com.chinaweal.youfool.devops.ai.dto.llm.FunctionTool; import com.chinaweal.youfool.devops.ai.dto.llm.ToolCall; import com.chinaweal.youfool.devops.ai.dto.llm.ToolCallResult; import com.chinaweal.youfool.devops.ai.mcp.MCPTool; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonNode; @@ -17,7 +17,7 @@ import org.springframework.stereotype.Component; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.time.LocalDateTime; import java.util.*; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerController.java index 199b48a..e5dc388 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerController.java @@ -4,7 +4,7 @@ import com.chinaweal.youfool.devops.ai.dto.answer.AIAnswerRequest; import com.chinaweal.youfool.devops.ai.dto.answer.AIAnswerResponse; import com.chinaweal.youfool.devops.ai.service.AIAnswerService; import com.chinaweal.youfool.devops.ai.service.QwenChatService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import io.swagger.v3.oas.annotations.Operation; @@ -19,9 +19,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import javax.validation.Valid; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import java.util.Map; import java.util.UUID; @@ -295,7 +295,7 @@ public class AIAnswerController { * 批量回答请求 */ public static class BatchAnswerRequest { - @javax.validation.constraints.NotEmpty(message = "工单ID列表不能为空") + @jakarta.validation.constraints.NotEmpty(message = "工单ID列表不能为空") private java.util.List<@NotBlank String> repairIds; private Boolean includeHistory = true; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerMCPController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerMCPController.java index 5b251b8..86a8b22 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerMCPController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIAnswerMCPController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import javax.validation.Valid; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIManagementController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIManagementController.java index 10375d2..183186e 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIManagementController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIManagementController.java @@ -17,8 +17,8 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CompletableFuture; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIStreamingController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIStreamingController.java index f0a2924..0f1614d 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIStreamingController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/AIStreamingController.java @@ -5,7 +5,7 @@ import com.chinaweal.youfool.devops.ai.dto.llm.ChatRequest; import com.chinaweal.youfool.devops.ai.dto.llm.ChatResponse; import com.chinaweal.youfool.devops.ai.service.QwenChatService; import com.chinaweal.youfool.devops.ai.service.StreamingSessionManager; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import io.swagger.v3.oas.annotations.Operation; @@ -20,9 +20,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import javax.validation.Valid; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/EmbeddingController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/EmbeddingController.java index c2372f9..8bf7c00 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/EmbeddingController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/EmbeddingController.java @@ -2,7 +2,7 @@ package com.chinaweal.youfool.devops.ai.controller; import com.chinaweal.youfool.devops.ai.service.EmbeddingCacheService; import com.chinaweal.youfool.devops.ai.service.QwenEmbeddingService; -import com.chinaweal.youfool.devops.util.TextSimilarityUtils; +import com.chinaweal.youfool.devops.common.utils.TextSimilarityUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/LLMMonitorController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/LLMMonitorController.java index 38c7d87..e106054 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/LLMMonitorController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/LLMMonitorController.java @@ -2,7 +2,7 @@ package com.chinaweal.youfool.devops.ai.controller; import com.chinaweal.youfool.devops.ai.service.LLMStreamingMonitorService; import com.chinaweal.youfool.devops.ai.service.StreamingSessionManager; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import io.swagger.v3.oas.annotations.Operation; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/controller/OpenAICompatibleController.java b/src/main/java/com/chinaweal/youfool/devops/ai/controller/OpenAICompatibleController.java index 1343ec5..516aa57 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/controller/OpenAICompatibleController.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/controller/OpenAICompatibleController.java @@ -12,7 +12,7 @@ import com.chinaweal.youfool.devops.ai.provider.LLMProvider; import com.chinaweal.youfool.devops.ai.provider.ProviderManager; import com.chinaweal.youfool.devops.ai.service.AIAnswerServiceMCP; import com.chinaweal.youfool.devops.ai.service.QwenChatService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import io.swagger.v3.oas.annotations.Operation; @@ -26,7 +26,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import javax.validation.Valid; import java.util.*; import java.util.regex.Matcher; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/coordinator/ToolCallCoordinator.java b/src/main/java/com/chinaweal/youfool/devops/ai/coordinator/ToolCallCoordinator.java index 4a0c393..b139072 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/coordinator/ToolCallCoordinator.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/coordinator/ToolCallCoordinator.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.ai.coordinator; import com.chinaweal.youfool.devops.ai.client.MCPClient; import com.chinaweal.youfool.devops.ai.dto.llm.*; import com.chinaweal.youfool.devops.ai.handler.FunctionCallHandler; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/answer/AIAnswerRequest.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/answer/AIAnswerRequest.java index 9cd5014..8c01df6 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/answer/AIAnswerRequest.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/answer/AIAnswerRequest.java @@ -5,8 +5,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * AI回答生成请求 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatMessage.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatMessage.java index 87b0aec..f939299 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatMessage.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatMessage.java @@ -5,8 +5,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import java.util.List; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatRequest.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatRequest.java index 0cb4337..b1d0943 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatRequest.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ChatRequest.java @@ -6,9 +6,9 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.Valid; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotEmpty; import java.util.List; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionCall.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionCall.java index 79a2f22..4d00e26 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionCall.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionCall.java @@ -5,8 +5,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * LLM函数调用详情 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionDefinition.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionDefinition.java index 14a4f11..c6d7415 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionDefinition.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionDefinition.java @@ -5,8 +5,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * LLM函数定义 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionTool.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionTool.java index 6767f02..62c098f 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionTool.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/FunctionTool.java @@ -6,8 +6,8 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * LLM函数工具定义 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ToolCall.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ToolCall.java index 8320de1..3ef200c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ToolCall.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/llm/ToolCall.java @@ -7,8 +7,8 @@ import lombok.NoArgsConstructor; import lombok.Builder; import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * LLM工具调用 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/dto/vectorization/VectorizationRequest.java b/src/main/java/com/chinaweal/youfool/devops/ai/dto/vectorization/VectorizationRequest.java index fb31521..6f5dfc9 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/dto/vectorization/VectorizationRequest.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/dto/vectorization/VectorizationRequest.java @@ -4,10 +4,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; import java.time.LocalDateTime; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/example/TextSimilarityExample.java b/src/main/java/com/chinaweal/youfool/devops/ai/example/TextSimilarityExample.java index cdfcdc1..6af9c4f 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/example/TextSimilarityExample.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/example/TextSimilarityExample.java @@ -1,13 +1,13 @@ package com.chinaweal.youfool.devops.ai.example; import com.chinaweal.youfool.devops.ai.service.EmbeddingCacheService; -import com.chinaweal.youfool.devops.util.TextSimilarityUtils; +import com.chinaweal.youfool.devops.common.utils.TextSimilarityUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/handler/FunctionCallHandler.java b/src/main/java/com/chinaweal/youfool/devops/ai/handler/FunctionCallHandler.java index b974aa2..5129add 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/handler/FunctionCallHandler.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/handler/FunctionCallHandler.java @@ -2,7 +2,7 @@ package com.chinaweal.youfool.devops.ai.handler; import com.chinaweal.youfool.devops.ai.client.MCPClient; import com.chinaweal.youfool.devops.ai.dto.llm.*; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/manager/ConversationManager.java b/src/main/java/com/chinaweal/youfool/devops/ai/manager/ConversationManager.java index 61f63da..0da01a9 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/manager/ConversationManager.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/manager/ConversationManager.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.ai.manager; import com.chinaweal.youfool.devops.ai.coordinator.ToolCallCoordinator; import com.chinaweal.youfool.devops.ai.dto.llm.*; import com.chinaweal.youfool.devops.ai.service.EnhancedQwenChatService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPJsonRpcRequest.java b/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPJsonRpcRequest.java index f97327c..5c7db10 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPJsonRpcRequest.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPJsonRpcRequest.java @@ -7,8 +7,8 @@ import lombok.Builder; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * MCP JSON-RPC 请求对象 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPToolCallRequest.java b/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPToolCallRequest.java index 98eaa2d..05b1976 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPToolCallRequest.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/mcp/dto/MCPToolCallRequest.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import java.util.Map; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/migration/RepairVectorizationService.java b/src/main/java/com/chinaweal/youfool/devops/ai/migration/RepairVectorizationService.java index b89195e..1d365a5 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/migration/RepairVectorizationService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/migration/RepairVectorizationService.java @@ -9,7 +9,7 @@ import com.chinaweal.youfool.devops.ai.service.QwenEmbeddingService; import com.chinaweal.youfool.devops.ai.service.QwenBatchEmbeddingService; import com.chinaweal.youfool.devops.repair.entity.Repair; import com.chinaweal.youfool.devops.repair.mapper.RepairMapper; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.databind.ObjectMapper; import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker; import io.github.resilience4j.retry.annotation.Retry; @@ -17,8 +17,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; -import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.PreDestroy; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.scheduling.annotation.Async; @@ -26,7 +26,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; @@ -135,7 +134,7 @@ public class RepairVectorizationService { log.info("开始全量向量化迁移,任务ID: {}", taskId); // 统计总数量 - Integer totalCount = countRepairsForVectorization(null); + long totalCount = countRepairsForVectorization(null); progress.setTotalCount(totalCount); progress.setStatus("processing"); @@ -160,7 +159,7 @@ public class RepairVectorizationService { processBatchVectorization(repairs.getRecords(), progress); // 更新进度 - progress.setProcessedCount(Math.min(page * pageSize, totalCount.intValue())); + progress.setProcessedCount(Math.min(page * pageSize, totalCount)); progress.updateProgress(); log.info("全量向量化进度: {}/{} ({}%)", @@ -215,7 +214,7 @@ public class RepairVectorizationService { } // 注意:COUNT查询不能包含ORDER BY,需要先进行计数查询 - Integer totalCount = repairMapper.selectCount(wrapper); + Long totalCount = repairMapper.selectCount(wrapper); progress.setTotalCount(totalCount); progress.setStatus("processing"); @@ -241,7 +240,7 @@ public class RepairVectorizationService { // 处理增量数据 processIncrementalVectorization(repairs.getRecords(), progress); - progress.setProcessedCount(Math.min(page * pageSize, totalCount.intValue())); + progress.setProcessedCount(Math.min(page * pageSize, totalCount)); progress.updateProgress(); } catch (Exception e) { @@ -925,7 +924,7 @@ public class RepairVectorizationService { /** * 统计需要向量化的工单数量 */ - private Integer countRepairsForVectorization(LocalDateTime since) { + private long countRepairsForVectorization(LocalDateTime since) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .isNotNull(Repair::getFaultDescription) .ne(Repair::getFaultDescription, ""); diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/migration/VectorizationScheduledTask.java b/src/main/java/com/chinaweal/youfool/devops/ai/migration/VectorizationScheduledTask.java index 8647fc1..878de87 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/migration/VectorizationScheduledTask.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/migration/VectorizationScheduledTask.java @@ -1,7 +1,7 @@ package com.chinaweal.youfool.devops.ai.migration; import com.chinaweal.youfool.devops.ai.migration.dto.VectorizationProgress; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/migration/dto/VectorizationProgress.java b/src/main/java/com/chinaweal/youfool/devops/ai/migration/dto/VectorizationProgress.java index 16bf246..5fbb1a6 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/migration/dto/VectorizationProgress.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/migration/dto/VectorizationProgress.java @@ -9,7 +9,7 @@ import java.util.List; /** * 向量化进度追踪 - * + * * @author AI开发团队 * @since 1.0.0 */ @@ -27,10 +27,10 @@ public class VectorizationProgress { private String status = "pending"; @Schema(description = "总数量") - private Integer totalCount = 0; + private Long totalCount = 0L; @Schema(description = "已处理数量") - private Integer processedCount = 0; + private Long processedCount = 0L; @Schema(description = "成功数量") private Integer successCount = 0; @@ -87,7 +87,7 @@ public class VectorizationProgress { this.failureCount++; updateProgress(); } - + /** * 批量增加成功计数 */ @@ -95,7 +95,7 @@ public class VectorizationProgress { this.successCount += count; updateProgress(); } - + /** * 批量增加失败计数 */ @@ -118,21 +118,21 @@ public class VectorizationProgress { if (totalCount != null && totalCount > 0) { this.progressPercentage = (double) (successCount + failureCount) / totalCount * 100; } - + // 计算处理速度 if (startTime != null) { long elapsedMs = java.time.Duration.between(startTime, LocalDateTime.now()).toMillis(); if (elapsedMs > 0) { this.processingSpeed = (double) (successCount + failureCount) / elapsedMs * 1000; - + // 预估剩余时间 - int remaining = totalCount - (successCount + failureCount); + long remaining = totalCount - (successCount + failureCount); if (processingSpeed > 0) { this.estimatedRemainingSeconds = (long) (remaining / processingSpeed); } } } - + // 计算总耗时 if (endTime != null && startTime != null) { this.durationMs = java.time.Duration.between(startTime, endTime).toMillis(); @@ -194,11 +194,11 @@ public class VectorizationProgress { if (durationMs == null || durationMs == 0) { return "0秒"; } - + long seconds = durationMs / 1000; long minutes = seconds / 60; long hours = minutes / 60; - + if (hours > 0) { return String.format("%d小时%d分钟%d秒", hours, minutes % 60, seconds % 60); } else if (minutes > 0) { @@ -215,7 +215,7 @@ public class VectorizationProgress { if (processingSpeed == null || processingSpeed == 0) { return "0条/秒"; } - + if (processingSpeed < 1) { return String.format("%.2f条/秒", processingSpeed); } else { @@ -230,10 +230,10 @@ public class VectorizationProgress { if (estimatedRemainingSeconds == null || estimatedRemainingSeconds <= 0) { return "未知"; } - + long minutes = estimatedRemainingSeconds / 60; long hours = minutes / 60; - + if (hours > 0) { return String.format("%d小时%d分钟", hours, minutes % 60); } else if (minutes > 0) { diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/provider/AbstractLLMProvider.java b/src/main/java/com/chinaweal/youfool/devops/ai/provider/AbstractLLMProvider.java index 68e403c..d7249d5 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/provider/AbstractLLMProvider.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/provider/AbstractLLMProvider.java @@ -1,8 +1,7 @@ package com.chinaweal.youfool.devops.ai.provider; import com.chinaweal.youfool.devops.ai.dto.llm.ChatRequest; -import com.chinaweal.youfool.devops.ai.dto.llm.FunctionTool; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -11,7 +10,6 @@ import org.springframework.http.MediaType; import org.springframework.web.client.RestTemplate; import java.util.HashMap; -import java.util.List; import java.util.Map; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/provider/ClaudeProvider.java b/src/main/java/com/chinaweal/youfool/devops/ai/provider/ClaudeProvider.java index 1e2a882..0b07cfd 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/provider/ClaudeProvider.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/provider/ClaudeProvider.java @@ -6,7 +6,7 @@ import com.chinaweal.youfool.devops.ai.handler.FunctionCallHandler; import com.chinaweal.youfool.devops.ai.mcp.MCPFunctionBridge; import com.chinaweal.youfool.devops.ai.mcp.dto.MCPToolDefinition; import com.chinaweal.youfool.devops.ai.client.MCPClient; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/provider/OpenAIProvider.java b/src/main/java/com/chinaweal/youfool/devops/ai/provider/OpenAIProvider.java index 37a8e06..2352579 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/provider/OpenAIProvider.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/provider/OpenAIProvider.java @@ -6,7 +6,7 @@ import com.chinaweal.youfool.devops.ai.handler.FunctionCallHandler; import com.chinaweal.youfool.devops.ai.mcp.MCPFunctionBridge; import com.chinaweal.youfool.devops.ai.mcp.dto.MCPToolDefinition; import com.chinaweal.youfool.devops.ai.client.MCPClient; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/provider/ProviderManager.java b/src/main/java/com/chinaweal/youfool/devops/ai/provider/ProviderManager.java index 34a8959..f2b4768 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/provider/ProviderManager.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/provider/ProviderManager.java @@ -2,12 +2,12 @@ package com.chinaweal.youfool.devops.ai.provider; import com.chinaweal.youfool.devops.ai.config.MCPMigrationProperties; import com.chinaweal.youfool.devops.ai.dto.llm.ChatRequest; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Pattern; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/provider/QwenProvider.java b/src/main/java/com/chinaweal/youfool/devops/ai/provider/QwenProvider.java index d96180f..0b2f341 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/provider/QwenProvider.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/provider/QwenProvider.java @@ -6,7 +6,7 @@ import com.chinaweal.youfool.devops.ai.handler.FunctionCallHandler; import com.chinaweal.youfool.devops.ai.mcp.MCPFunctionBridge; import com.chinaweal.youfool.devops.ai.mcp.dto.MCPToolDefinition; import com.chinaweal.youfool.devops.ai.client.MCPClient; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/resilience/MCPResilienceHandler.java b/src/main/java/com/chinaweal/youfool/devops/ai/resilience/MCPResilienceHandler.java index fb1b92e..7e2959a 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/resilience/MCPResilienceHandler.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/resilience/MCPResilienceHandler.java @@ -1,15 +1,13 @@ package com.chinaweal.youfool.devops.ai.resilience; import com.chinaweal.youfool.devops.ai.dto.llm.*; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerService.java index c884c16..37251c9 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerService.java @@ -13,8 +13,7 @@ import com.chinaweal.youfool.devops.repair.entity.RepairHandle; import com.chinaweal.youfool.devops.repair.mapper.RepairHandleMapper; import com.chinaweal.youfool.devops.repair.service.IRepairService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; -import com.chinaweal.youfool.devops.util.TextSimilarityUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -24,7 +23,6 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.stream.Collectors; /** * AI回答服务 diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerServiceMCP.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerServiceMCP.java index 0f5fce6..c5988f0 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerServiceMCP.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/AIAnswerServiceMCP.java @@ -11,11 +11,10 @@ import com.chinaweal.youfool.devops.ai.dto.llm.ChatResponse; import com.chinaweal.youfool.devops.ai.dto.llm.FunctionTool; import com.chinaweal.youfool.devops.ai.mcp.MCPServer; import com.chinaweal.youfool.devops.ai.mcp.MCPTool; -import com.chinaweal.youfool.devops.ai.mcp.MCPResponse; import com.chinaweal.youfool.devops.ai.mcp.dto.MCPToolDefinition; import com.chinaweal.youfool.devops.ai.provider.LLMProvider; import com.chinaweal.youfool.devops.ai.provider.ProviderManager; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/EmbeddingCacheService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/EmbeddingCacheService.java index 4258ff7..095d9b9 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/EmbeddingCacheService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/EmbeddingCacheService.java @@ -1,6 +1,6 @@ package com.chinaweal.youfool.devops.ai.service; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/EnhancedQwenChatService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/EnhancedQwenChatService.java index 6611805..df5987f 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/EnhancedQwenChatService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/EnhancedQwenChatService.java @@ -5,7 +5,7 @@ import com.chinaweal.youfool.devops.ai.coordinator.ToolCallCoordinator; import com.chinaweal.youfool.devops.ai.dto.llm.*; import com.chinaweal.youfool.devops.ai.handler.FunctionCallHandler; import com.chinaweal.youfool.devops.ai.provider.QwenProvider; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker; import io.github.resilience4j.ratelimiter.annotation.RateLimiter; import io.github.resilience4j.retry.annotation.Retry; @@ -17,7 +17,6 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.time.LocalDateTime; import java.util.Collections; -import java.util.List; import java.util.UUID; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/LLMStreamingMonitorService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/LLMStreamingMonitorService.java index 7c8c9d6..a1f94c1 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/LLMStreamingMonitorService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/LLMStreamingMonitorService.java @@ -1,14 +1,14 @@ package com.chinaweal.youfool.devops.ai.service; import com.chinaweal.youfool.devops.ai.config.LLMStreamingProperties; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.ConcurrentHashMap; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenBatchEmbeddingService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenBatchEmbeddingService.java index 2315022..0c18713 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenBatchEmbeddingService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenBatchEmbeddingService.java @@ -1,7 +1,7 @@ package com.chinaweal.youfool.devops.ai.service; import com.chinaweal.youfool.devops.ai.config.EmbeddingProperties; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -12,7 +12,6 @@ import okhttp3.*; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; -import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenChatService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenChatService.java index 1131be8..702f103 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenChatService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenChatService.java @@ -9,7 +9,7 @@ import com.chinaweal.youfool.devops.ai.mcp.MCPResponse; import com.chinaweal.youfool.devops.ai.mcp.MCPTool; import com.chinaweal.youfool.devops.ai.mcp.dto.MCPToolDefinition; import com.chinaweal.youfool.devops.ai.provider.QwenProvider; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -23,10 +23,9 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import javax.annotation.PostConstruct; -import java.io.BufferedReader; +import jakarta.annotation.PostConstruct; + import java.io.IOException; -import java.io.StringReader; import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.CompletableFuture; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenEmbeddingService.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenEmbeddingService.java index 2ff33d2..5724bd2 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenEmbeddingService.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/QwenEmbeddingService.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.ai.service; import com.chinaweal.youfool.devops.ai.config.EmbeddingProperties; import com.chinaweal.youfool.devops.ai.dto.EmbeddingRequest; import com.chinaweal.youfool.devops.ai.dto.EmbeddingResponse; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import com.fasterxml.jackson.databind.ObjectMapper; import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker; import io.github.resilience4j.ratelimiter.annotation.RateLimiter; @@ -15,7 +15,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import java.io.IOException; -import java.time.Duration; import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.TimeUnit; diff --git a/src/main/java/com/chinaweal/youfool/devops/ai/service/StreamingSessionManager.java b/src/main/java/com/chinaweal/youfool/devops/ai/service/StreamingSessionManager.java index 6729271..1bf37bb 100644 --- a/src/main/java/com/chinaweal/youfool/devops/ai/service/StreamingSessionManager.java +++ b/src/main/java/com/chinaweal/youfool/devops/ai/service/StreamingSessionManager.java @@ -1,15 +1,14 @@ package com.chinaweal.youfool.devops.ai.service; import com.chinaweal.youfool.devops.ai.config.LLMStreamingProperties; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.PreDestroy; import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.ConcurrentHashMap; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/controller/DictController.java b/src/main/java/com/chinaweal/youfool/devops/base/controller/DictController.java index a43e503..ba3082e 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/controller/DictController.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/controller/DictController.java @@ -4,12 +4,11 @@ package com.chinaweal.youfool.devops.base.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaweal.youfool.devops.base.entity.Dict; import com.chinaweal.youfool.devops.base.service.IDictService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; import com.chinaweal.youfool.framework.springboot.rest.RestResult; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -18,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.util.List; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/base/controller/ErrorLogController.java b/src/main/java/com/chinaweal/youfool/devops/base/controller/ErrorLogController.java index e284c38..cd12956 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/controller/ErrorLogController.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/controller/ErrorLogController.java @@ -1,7 +1,7 @@ package com.chinaweal.youfool.devops.base.controller; import com.chinaweal.youfool.devops.config.ErrorLogProperties; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -20,7 +20,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; /** * 错误日志查看控制器 diff --git a/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskFileController.java b/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskFileController.java index dd4bd37..f8b4005 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskFileController.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskFileController.java @@ -12,8 +12,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskListController.java b/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskListController.java index 7a48a4f..dfd8205 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskListController.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/controller/TaskListController.java @@ -1,18 +1,9 @@ package com.chinaweal.youfool.devops.base.controller; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.chinaweal.youfool.devops.base.entity.TaskList; -import com.chinaweal.youfool.devops.base.service.ITaskListService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; -import com.chinaweal.youfool.framework.springboot.rest.RestResult; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; - /** *

* 待办表 控制器 diff --git a/src/main/java/com/chinaweal/youfool/devops/base/entity/Dict.java b/src/main/java/com/chinaweal/youfool/devops/base/entity/Dict.java index 6166821..5424435 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/entity/Dict.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/entity/Dict.java @@ -1,12 +1,10 @@ package com.chinaweal.youfool.devops.base.entity; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskFile.java b/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskFile.java index 80c179f..04fe09b 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskFile.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskFile.java @@ -4,15 +4,14 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -93,7 +92,7 @@ public class TaskFile extends SuperEntity { */ @Schema(description = "上传时间") @TableField("UPLOAD_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime uploadTime; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskHandle.java b/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskHandle.java index 4418803..85cb1e8 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskHandle.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskHandle.java @@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -91,7 +91,7 @@ public class TaskHandle extends SuperEntity { */ @Schema(description = "生成时间") @TableField("HAPPEN_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime happenTime; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskList.java b/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskList.java index 64aacfd..ca47109 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskList.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/entity/TaskList.java @@ -1,10 +1,10 @@ package com.chinaweal.youfool.devops.base.entity; import com.baomidou.mybatisplus.annotation.*; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.devops.common.constants.CommonConstant; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.chinaweal.youfool.framework.springboot.util.ConstantsUtil; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -160,7 +160,7 @@ public class TaskList extends SuperEntity { */ @Schema(description = "是否删除;0:有效;1:删除") @TableField("DELETED") - @TableLogic(value = ConstantsUtil.NOT_DELETED, delval = ConstantsUtil.DELETED) + @TableLogic(value = CommonConstant.FALSE_0_STR, delval = CommonConstant.TRUE_1_STR) private String deleted; /** @@ -168,7 +168,7 @@ public class TaskList extends SuperEntity { */ @Schema(description = "报送时间") @TableField("LAUNCH_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime launchTime; /** @@ -176,7 +176,7 @@ public class TaskList extends SuperEntity { */ @Schema(description = "到期时间") @TableField("SOLVE_LIMIT_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime solveLimitTime; /** @@ -184,7 +184,7 @@ public class TaskList extends SuperEntity { */ @Schema(description = "处理更新时间") @TableField("HANDLE_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime handleTime; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/IDictService.java b/src/main/java/com/chinaweal/youfool/devops/base/service/IDictService.java index 2d98a54..3ae490c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/IDictService.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/IDictService.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.base.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaweal.youfool.devops.base.entity.Dict; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import java.util.List; @@ -31,5 +31,5 @@ public interface IDictService extends IService { IPage list(BaseQuery query); - void addDict(String type,String name); + void addDict(String type, String name); } diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskFileService.java b/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskFileService.java index 36e2027..8861a88 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskFileService.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskFileService.java @@ -3,10 +3,10 @@ package com.chinaweal.youfool.devops.base.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaweal.youfool.devops.base.entity.TaskFile; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskHandleService.java b/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskHandleService.java index 5b2b3f3..b83e827 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskHandleService.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskHandleService.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.base.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaweal.youfool.devops.base.entity.TaskHandle; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskListService.java b/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskListService.java index 7a7fb77..8f43916 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskListService.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/ITaskListService.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaweal.youfool.devops.base.entity.TaskHandle; import com.chinaweal.youfool.devops.base.entity.TaskList; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; /** *

diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/DictServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/DictServiceImpl.java index 523669f..fd09a32 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/DictServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/DictServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaweal.youfool.devops.base.entity.Dict; import com.chinaweal.youfool.devops.base.mapper.DictMapper; import com.chinaweal.youfool.devops.base.service.IDictService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -66,7 +66,7 @@ public class DictServiceImpl extends ServiceImpl implements ID lqw.eq(Dict::getType, entity.getType()); lqw.like(StringUtils.isNotBlank(entity.getName()), Dict::getName, entity.getName()); - if (page.getOrders().isEmpty()) { + if (page.orders().isEmpty()) { page.addOrder(OrderItem.desc("update_time")); } diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/MonitorServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/MonitorServiceImpl.java index 10da1ee..86cdd9a 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/MonitorServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/MonitorServiceImpl.java @@ -2,7 +2,7 @@ package com.chinaweal.youfool.devops.base.service.impl; import com.chinaweal.youfool.devops.base.service.IMonitorService; import com.chinaweal.youfool.devops.repair.api.RobotApi; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; @@ -11,7 +11,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.sql.Connection; import java.sql.Driver; import java.sql.PreparedStatement; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskFileServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskFileServiceImpl.java index 13ad688..b1456be 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskFileServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskFileServiceImpl.java @@ -10,8 +10,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaweal.youfool.devops.base.entity.TaskFile; import com.chinaweal.youfool.devops.base.mapper.TaskFileMapper; import com.chinaweal.youfool.devops.base.service.ITaskFileService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; -import com.chinaweal.youfool.framework.springboot.util.DateTimeUtils; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.lang3.StringUtils; @@ -20,11 +20,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; import java.io.*; import java.nio.charset.StandardCharsets; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -101,7 +101,7 @@ public class TaskFileServiceImpl extends ServiceImpl i @Override public String filePath(String type) { - return type + File.separator + LocalDate.now().format(DateTimeUtils.SHORT_DATE_FORMATTER); + return type + File.separator + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); } @Override diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskHandleServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskHandleServiceImpl.java index 29a2bd0..671a4b0 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskHandleServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskHandleServiceImpl.java @@ -11,11 +11,11 @@ import com.chinaweal.youfool.devops.base.entity.TaskList; import com.chinaweal.youfool.devops.base.mapper.TaskHandleMapper; import com.chinaweal.youfool.devops.base.service.ITaskHandleService; import com.chinaweal.youfool.devops.base.service.ITaskListService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.time.LocalDateTime; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskListServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskListServiceImpl.java index 9db3246..9dfb94b 100644 --- a/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskListServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/base/service/impl/TaskListServiceImpl.java @@ -10,12 +10,12 @@ import com.chinaweal.youfool.devops.base.entity.TaskList; import com.chinaweal.youfool.devops.base.mapper.TaskListMapper; import com.chinaweal.youfool.devops.base.service.ITaskHandleService; import com.chinaweal.youfool.devops.base.service.ITaskListService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; -import com.chinaweal.youfool.framework.springboot.util.ConstantsUtil; +import com.chinaweal.youfool.devops.common.constants.CommonConstant; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; +import jakarta.annotation.Resource; /** *

@@ -45,7 +45,7 @@ public class TaskListServiceImpl extends ServiceImpl i @Override public TaskHandle createTask(TaskList task, String result) { task.setStep(ITaskHandleService.STRART); - task.setDeleted(ConstantsUtil.NOT_DELETED); + task.setDeleted(CommonConstant.FALSE_0_STR); save(task); //插入流程表,启动流程 diff --git a/src/main/java/com/chinaweal/youfool/devops/common/constants/CommonConstant.java b/src/main/java/com/chinaweal/youfool/devops/common/constants/CommonConstant.java new file mode 100644 index 0000000..283290c --- /dev/null +++ b/src/main/java/com/chinaweal/youfool/devops/common/constants/CommonConstant.java @@ -0,0 +1,13 @@ +package com.chinaweal.youfool.devops.common.constants; + +/** + * 通用常量 + * + * @author lroyia + * @since 2025/8/18 17:00 + **/ +public interface CommonConstant { + + String TRUE_1_STR = "1"; + String FALSE_0_STR = "0"; +} diff --git a/src/main/java/com/chinaweal/youfool/devops/util/ErrorLogUtils.java b/src/main/java/com/chinaweal/youfool/devops/common/utils/ErrorLogUtils.java similarity index 99% rename from src/main/java/com/chinaweal/youfool/devops/util/ErrorLogUtils.java rename to src/main/java/com/chinaweal/youfool/devops/common/utils/ErrorLogUtils.java index a1999a0..77caa5e 100644 --- a/src/main/java/com/chinaweal/youfool/devops/util/ErrorLogUtils.java +++ b/src/main/java/com/chinaweal/youfool/devops/common/utils/ErrorLogUtils.java @@ -1,4 +1,4 @@ -package com.chinaweal.youfool.devops.util; +package com.chinaweal.youfool.devops.common.utils; import com.chinaweal.youfool.devops.config.ErrorLogProperties; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/chinaweal/youfool/devops/common/utils/StringUtils.java b/src/main/java/com/chinaweal/youfool/devops/common/utils/StringUtils.java new file mode 100644 index 0000000..f9fed2f --- /dev/null +++ b/src/main/java/com/chinaweal/youfool/devops/common/utils/StringUtils.java @@ -0,0 +1,23 @@ +package com.chinaweal.youfool.devops.common.utils; + +/** + * 字串工具类 + * + * @author lroyia + * @since 2025/8/18 17:19 + **/ +public abstract class StringUtils extends com.chinaweal.youfool.framework.springboot.common.util.StringUtils { + + /** + * 对象转字符串,并去空格 + * + * @param str 转换对象 + * @return 转换结果 + */ + public static String trimObj(Object str) { + if (str == null) { + return StringUtils.EMPTY; + } + return trimToEmpty(str.toString()); + } +} diff --git a/src/main/java/com/chinaweal/youfool/devops/util/TextSimilarityUtils.java b/src/main/java/com/chinaweal/youfool/devops/common/utils/TextSimilarityUtils.java similarity index 99% rename from src/main/java/com/chinaweal/youfool/devops/util/TextSimilarityUtils.java rename to src/main/java/com/chinaweal/youfool/devops/common/utils/TextSimilarityUtils.java index 56bf779..235dd50 100644 --- a/src/main/java/com/chinaweal/youfool/devops/util/TextSimilarityUtils.java +++ b/src/main/java/com/chinaweal/youfool/devops/common/utils/TextSimilarityUtils.java @@ -1,4 +1,4 @@ -package com.chinaweal.youfool.devops.util; +package com.chinaweal.youfool.devops.common.utils; import com.chinaweal.youfool.devops.ai.service.QwenEmbeddingService; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/chinaweal/youfool/devops/util/VerifyCode.java b/src/main/java/com/chinaweal/youfool/devops/common/utils/VerifyCode.java similarity index 96% rename from src/main/java/com/chinaweal/youfool/devops/util/VerifyCode.java rename to src/main/java/com/chinaweal/youfool/devops/common/utils/VerifyCode.java index ce3f7d1..d77627a 100644 --- a/src/main/java/com/chinaweal/youfool/devops/util/VerifyCode.java +++ b/src/main/java/com/chinaweal/youfool/devops/common/utils/VerifyCode.java @@ -1,9 +1,9 @@ -package com.chinaweal.youfool.devops.util; +package com.chinaweal.youfool.devops.common.utils; /*对图片进行处理的类和方法*/ import javax.imageio.ImageIO; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; diff --git a/src/main/java/com/chinaweal/youfool/devops/common/utils/WebUtil.java b/src/main/java/com/chinaweal/youfool/devops/common/utils/WebUtil.java new file mode 100644 index 0000000..fbf7fd9 --- /dev/null +++ b/src/main/java/com/chinaweal/youfool/devops/common/utils/WebUtil.java @@ -0,0 +1,10 @@ +package com.chinaweal.youfool.devops.common.utils; + +/** + * web相关工具类 + * + * @author lroyia + * @since 2025/8/18 17:12 + **/ +public abstract class WebUtil extends com.chinaweal.youfool.framework.springboot.common.util.WebUtil { +} diff --git a/src/main/java/com/chinaweal/youfool/devops/config/DatabaseHealthChecker.java b/src/main/java/com/chinaweal/youfool/devops/config/DatabaseHealthChecker.java index 07905e1..bf1e96d 100644 --- a/src/main/java/com/chinaweal/youfool/devops/config/DatabaseHealthChecker.java +++ b/src/main/java/com/chinaweal/youfool/devops/config/DatabaseHealthChecker.java @@ -1,6 +1,6 @@ package com.chinaweal.youfool.devops.config; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; diff --git a/src/main/java/com/chinaweal/youfool/devops/config/DevopsDataSource.java b/src/main/java/com/chinaweal/youfool/devops/config/DevopsDataSource.java index bf26538..2f8613b 100644 --- a/src/main/java/com/chinaweal/youfool/devops/config/DevopsDataSource.java +++ b/src/main/java/com/chinaweal/youfool/devops/config/DevopsDataSource.java @@ -1,22 +1,16 @@ package com.chinaweal.youfool.devops.config; -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.baomidou.mybatisplus.core.config.GlobalConfig; -import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler; -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionTemplate; +import org.apache.commons.lang3.ArrayUtils; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @@ -30,41 +24,21 @@ import javax.sql.DataSource; @MapperScan(basePackages = {"com.chinaweal.youfool.devops.repair.**.mapper", "com.chinaweal.youfool.devops.base.**.mapper", "com.chinaweal.youfool.devops.leaderassign.**.mapper", "com.chinaweal.youfool.devops.org.mapper", "com.chinaweal.youfool.devops.ai.**.mapper"}, sqlSessionTemplateRef = "devopsSqlSessionTemplate") public class DevopsDataSource { - - @Bean(name = "devopsDS", initMethod = "init", destroyMethod = "close") - @ConfigurationProperties(prefix = "spring.datasource.devops") - @Primary - public DruidDataSource dataSource() { - return DruidDataSourceBuilder.create().build(); - } + @Autowired + private CommonMetaObjectHandler commonMetaObjectHandler; @Bean(name = "devopsSqlSessionFactory") public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("devopsDS") DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); bean.setDataSource(dataSource); GlobalConfig globalConfig = new GlobalConfig(); - globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler()); + globalConfig.setMetaObjectHandler(commonMetaObjectHandler); bean.setGlobalConfig(globalConfig); bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml")); - bean.setPlugins(paginationInterceptor());// 分页插件 - bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/**/*.xml")); + org.springframework.core.io.Resource[] prjResources = new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/**/*.xml"); + org.springframework.core.io.Resource[] cmsResources = new PathMatchingResourcePatternResolver().getResources("classpath*:cms/mybatis/mapper/**/*.xml"); + org.springframework.core.io.Resource[] resources = ArrayUtils.addAll(prjResources, cmsResources); + bean.setMapperLocations(resources); return bean; } - - @Bean(name = "devopsTransactionManager") - public DataSourceTransactionManager transactionManager(@Qualifier("devopsDS") DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean(name = "devopsSqlSessionTemplate") - public SqlSessionTemplate sqlSessionTemplate(@Qualifier("devopsSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { - return new SqlSessionTemplate(sqlSessionFactory); - } - - public PaginationInterceptor paginationInterceptor() { - PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); - // 设置最大单页限制数量,默认 500 条,-1 不受限制 - paginationInterceptor.setLimit(-1); - return paginationInterceptor; - } } diff --git a/src/main/java/com/chinaweal/youfool/devops/config/FilterConfig.java b/src/main/java/com/chinaweal/youfool/devops/config/FilterConfig.java index 66158a1..4ecad03 100644 --- a/src/main/java/com/chinaweal/youfool/devops/config/FilterConfig.java +++ b/src/main/java/com/chinaweal/youfool/devops/config/FilterConfig.java @@ -1,7 +1,7 @@ package com.chinaweal.youfool.devops.config; import com.chinaweal.youfool.framework.springboot.filter.RepeatlyReadFilter; -import com.chinaweal.youfool.framework.springboot.log.filter.RestLogFilter; +import com.chinaweal.youfool.framework.springboot.filter.RestLogFilter; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/chinaweal/youfool/devops/config/GlobalExceptionHandler.java b/src/main/java/com/chinaweal/youfool/devops/config/GlobalExceptionHandler.java index 46d9a45..af138cc 100644 --- a/src/main/java/com/chinaweal/youfool/devops/config/GlobalExceptionHandler.java +++ b/src/main/java/com/chinaweal/youfool/devops/config/GlobalExceptionHandler.java @@ -1,6 +1,6 @@ package com.chinaweal.youfool.devops.config; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; +import com.chinaweal.youfool.devops.common.utils.ErrorLogUtils; // Temporarily commented out for Spring AI compatibility // import com.chinaweal.youfool.devops.ai.exception.*; // import com.chinaweal.youfool.devops.ai.circuitbreaker.CircuitBreakerOpenException; @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/config/InterceptorConfig.java b/src/main/java/com/chinaweal/youfool/devops/config/InterceptorConfig.java index aeb83e9..d9a759e 100644 --- a/src/main/java/com/chinaweal/youfool/devops/config/InterceptorConfig.java +++ b/src/main/java/com/chinaweal/youfool/devops/config/InterceptorConfig.java @@ -6,7 +6,7 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistration import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/config/YoufoolDataSource.java b/src/main/java/com/chinaweal/youfool/devops/config/YoufoolDataSource.java index 3b7dc5c..98b5991 100644 --- a/src/main/java/com/chinaweal/youfool/devops/config/YoufoolDataSource.java +++ b/src/main/java/com/chinaweal/youfool/devops/config/YoufoolDataSource.java @@ -1,59 +1,59 @@ -package com.chinaweal.youfool.devops.config; - -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import com.baomidou.mybatisplus.core.config.GlobalConfig; -import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; -import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler; -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionTemplate; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; - -import javax.sql.DataSource; - -/** - * youfool基础的数据源 - * - * @author itluck - */ - -@Configuration -@MapperScan(basePackages = "com.chinaweal.youfool.framework.springboot.**.mapper", sqlSessionTemplateRef = "youfoolSqlSessionTemplate") -public class YoufoolDataSource { - - - @Bean(name = "youfoolDS", initMethod = "init", destroyMethod = "close") - @ConfigurationProperties(prefix = "spring.datasource.youfool") - public DruidDataSource dataSource() { - return DruidDataSourceBuilder.create().build(); - } - - @Bean(name = "youfoolSqlSessionFactory") - public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("youfoolDS") DataSource dataSource) throws Exception { - MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); - bean.setDataSource(dataSource); - GlobalConfig globalConfig = new GlobalConfig(); - globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler()); - bean.setGlobalConfig(globalConfig); - bean.setConfigLocation(new ClassPathResource("youfool/mybatis/mybatis-config.xml")); - bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:youfool/mybatis/mapper/**/*.xml")); - return bean; - } - - @Bean(name = "youfoolTransactionManager") - public DataSourceTransactionManager transactionManager(@Qualifier("youfoolDS") DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean(name = "youfoolSqlSessionTemplate") - public SqlSessionTemplate sqlSessionTemplate(@Qualifier("youfoolSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { - return new SqlSessionTemplate(sqlSessionFactory); - } -} +//package com.chinaweal.youfool.devops.config; +// +//import com.alibaba.druid.pool.DruidDataSource; +//import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; +//import com.baomidou.mybatisplus.core.config.GlobalConfig; +//import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; +//import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler; +//import org.apache.ibatis.session.SqlSessionFactory; +//import org.mybatis.spring.SqlSessionTemplate; +//import org.mybatis.spring.annotation.MapperScan; +//import org.springframework.beans.factory.annotation.Qualifier; +//import org.springframework.boot.context.properties.ConfigurationProperties; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.core.io.ClassPathResource; +//import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +//import org.springframework.jdbc.datasource.DataSourceTransactionManager; +// +//import javax.sql.DataSource; +// +///** +// * youfool基础的数据源 +// * +// * @author itluck +// */ +// +//@Configuration +//@MapperScan(basePackages = "com.chinaweal.youfool.framework.springboot.**.mapper", sqlSessionTemplateRef = "youfoolSqlSessionTemplate") +//public class YoufoolDataSource { +// +// +// @Bean(name = "youfoolDS", initMethod = "init", destroyMethod = "close") +// @ConfigurationProperties(prefix = "spring.datasource.youfool") +// public DruidDataSource dataSource() { +// return DruidDataSourceBuilder.create().build(); +// } +// +// @Bean(name = "youfoolSqlSessionFactory") +// public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("youfoolDS") DataSource dataSource) throws Exception { +// MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); +// bean.setDataSource(dataSource); +// GlobalConfig globalConfig = new GlobalConfig(); +// globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler()); +// bean.setGlobalConfig(globalConfig); +// bean.setConfigLocation(new ClassPathResource("youfool/mybatis/mybatis-config.xml")); +// bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:youfool/mybatis/mapper/**/*.xml")); +// return bean; +// } +// +// @Bean(name = "youfoolTransactionManager") +// public DataSourceTransactionManager transactionManager(@Qualifier("youfoolDS") DataSource dataSource) { +// return new DataSourceTransactionManager(dataSource); +// } +// +// @Bean(name = "youfoolSqlSessionTemplate") +// public SqlSessionTemplate sqlSessionTemplate(@Qualifier("youfoolSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { +// return new SqlSessionTemplate(sqlSessionFactory); +// } +//} diff --git a/src/main/java/com/chinaweal/youfool/devops/dev/MybatisPlusCodeGenerator.java b/src/main/java/com/chinaweal/youfool/devops/dev/MybatisPlusCodeGenerator.java index c80f047..6245308 100644 --- a/src/main/java/com/chinaweal/youfool/devops/dev/MybatisPlusCodeGenerator.java +++ b/src/main/java/com/chinaweal/youfool/devops/dev/MybatisPlusCodeGenerator.java @@ -1,14 +1,14 @@ package com.chinaweal.youfool.devops.dev; -import com.chinaweal.youfool.framework.springboot.mybatis.plus.CodeGenerator; +import com.chinaweal.youfool.framework.springboot.mybatis.plus.FastCodeGenerator; /** * 代码生成器 */ public class MybatisPlusCodeGenerator { public static void main(String[] args) { - CodeGenerator codeGenerator = new CodeGenerator("properties/codeCenerator"); - codeGenerator.generateCode(); + FastCodeGenerator fastCodeGenerator = new FastCodeGenerator("properties/codeGenerator"); + fastCodeGenerator.generate(); } } diff --git a/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/AssignController.java b/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/AssignController.java index 170252c..fc0487f 100644 --- a/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/AssignController.java +++ b/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/AssignController.java @@ -6,8 +6,8 @@ import com.chinaweal.youfool.devops.leaderassign.controller.dto.TaskAssignVo; import com.chinaweal.youfool.devops.leaderassign.controller.dto.TaskListQuery; import com.chinaweal.youfool.devops.leaderassign.entity.Assign; import com.chinaweal.youfool.devops.leaderassign.service.IAssignService; +import com.chinaweal.youfool.framework.springboot.common.util.AssertUtils; import com.chinaweal.youfool.framework.springboot.rest.RestResult; -import com.chinaweal.youfool.framework.springboot.util.AssertUtils; import com.github.xiaoymin.knife4j.annotations.ApiSort; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import javax.validation.Valid; /** @@ -43,7 +43,7 @@ public class AssignController { @Operation(summary = "1.新增领导交办详情") @PostMapping("/save") public RestResult saveAssign(@RequestBody @Valid Assign assign, BindingResult bindingResult) { - AssertUtils.isBndingValidit(bindingResult); + AssertUtils.isBindingValid(bindingResult); assign = iAssignService.saveAssign(assign); return RestResult.ok(assign); } diff --git a/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/AssignHandleQuery.java b/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/AssignHandleQuery.java index f6cf2d6..1a3a4d1 100644 --- a/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/AssignHandleQuery.java +++ b/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/AssignHandleQuery.java @@ -1,8 +1,8 @@ package com.chinaweal.youfool.devops.leaderassign.controller.dto; import com.chinaweal.youfool.devops.base.entity.TaskHandle; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -34,14 +34,14 @@ public class AssignHandleQuery extends TaskHandle { * 计划完成时间 */ @Schema(description = "计划完成时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime plannedTime; /** * 实际完成时间 */ @Schema(description = "实际完成时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime realityTime; diff --git a/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/TaskAssignVo.java b/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/TaskAssignVo.java index c7b01a4..008bd8e 100644 --- a/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/TaskAssignVo.java +++ b/src/main/java/com/chinaweal/youfool/devops/leaderassign/controller/dto/TaskAssignVo.java @@ -1,7 +1,7 @@ package com.chinaweal.youfool.devops.leaderassign.controller.dto; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -127,21 +127,21 @@ public class TaskAssignVo implements Serializable { * 报送时间 */ @Schema(description = "报送时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime launchTime; /** * 到期时间 */ @Schema(description = "到期时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime solveLimitTime; /** * 处理更新时间 */ @Schema(description = "处理更新时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime handleTime; /** @@ -160,13 +160,13 @@ public class TaskAssignVo implements Serializable { * 交办时间 */ @Schema(description = "交办时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime assignTime; /** * 计划完成时间 */ @Schema(description = "计划完成时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime plannedTime; } diff --git a/src/main/java/com/chinaweal/youfool/devops/leaderassign/entity/Assign.java b/src/main/java/com/chinaweal/youfool/devops/leaderassign/entity/Assign.java index 7bbd718..23c8463 100644 --- a/src/main/java/com/chinaweal/youfool/devops/leaderassign/entity/Assign.java +++ b/src/main/java/com/chinaweal/youfool/devops/leaderassign/entity/Assign.java @@ -7,16 +7,16 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.chinaweal.youfool.devops.base.entity.TaskFile; import com.chinaweal.youfool.devops.base.entity.TaskHandle; import com.chinaweal.youfool.devops.base.entity.TaskList; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.devops.common.constants.CommonConstant; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.chinaweal.youfool.framework.springboot.util.ConstantsUtil; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.validation.constraints.NotBlank; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -181,7 +181,7 @@ public class Assign extends SuperEntity { */ @Schema(description = "交办时间") @TableField("ASSIGN_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime assignTime; /** @@ -189,7 +189,7 @@ public class Assign extends SuperEntity { */ @Schema(description = "报送时间") @TableField("LAUNCH_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime launchTime; /** @@ -197,7 +197,7 @@ public class Assign extends SuperEntity { */ @Schema(description = "解决期限时间") @TableField("SOLVE_LIMIT_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime solveLimitTime; /** @@ -205,7 +205,7 @@ public class Assign extends SuperEntity { */ @Schema(description = "计划完成时间") @TableField("PLANNED_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime plannedTime; /** @@ -213,7 +213,7 @@ public class Assign extends SuperEntity { */ @Schema(description = "实际完成时间") @TableField("REALITY_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime realityTime; /** @@ -221,7 +221,7 @@ public class Assign extends SuperEntity { */ @Schema(description = "是否删除;0:有效;1:删除") @TableField("DELETED") - @TableLogic(value = ConstantsUtil.NOT_DELETED, delval = ConstantsUtil.DELETED) + @TableLogic(value = CommonConstant.FALSE_0_STR, delval = CommonConstant.TRUE_1_STR) private String deleted; @TableField(exist = false) diff --git a/src/main/java/com/chinaweal/youfool/devops/leaderassign/service/impl/AssignServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/leaderassign/service/impl/AssignServiceImpl.java index 60f62f8..d7de179 100644 --- a/src/main/java/com/chinaweal/youfool/devops/leaderassign/service/impl/AssignServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/leaderassign/service/impl/AssignServiceImpl.java @@ -13,6 +13,7 @@ import com.chinaweal.youfool.devops.base.service.IDictService; import com.chinaweal.youfool.devops.base.service.ITaskFileService; import com.chinaweal.youfool.devops.base.service.ITaskHandleService; import com.chinaweal.youfool.devops.base.service.ITaskListService; +import com.chinaweal.youfool.devops.common.constants.CommonConstant; import com.chinaweal.youfool.devops.leaderassign.controller.dto.AssignHandleQuery; import com.chinaweal.youfool.devops.leaderassign.controller.dto.TaskAssignVo; import com.chinaweal.youfool.devops.leaderassign.controller.dto.TaskListQuery; @@ -25,13 +26,12 @@ import com.chinaweal.youfool.devops.org.entity.Engineer; import com.chinaweal.youfool.devops.org.service.IEngineerService; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; -import com.chinaweal.youfool.framework.springboot.util.ConstantsUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -91,7 +91,7 @@ public class AssignServiceImpl extends ServiceImpl impleme assign.setTaskId(taskId); //设置单号 assign.setBizId(generateAssignId()); //设置单号 assign.setLaunchTime(LocalDateTime.now()); - assign.setDeleted(ConstantsUtil.NOT_DELETED); + assign.setDeleted(CommonConstant.FALSE_0_STR); save(assign); //生成待办 @@ -272,7 +272,7 @@ public class AssignServiceImpl extends ServiceImpl impleme LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.ge(Assign::getLaunchTime, LocalDate.now().atStartOfDay()) .lt(Assign::getLaunchTime, LocalDate.now().atStartOfDay().plusDays(1)); - int count = count(qw) + 1; + long count = count(qw) + 1; //补齐零 String no = String.format("%04d", count); String bizId = prefix + no; diff --git a/src/main/java/com/chinaweal/youfool/devops/org/business/service/impl/BusinessUserServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/org/business/service/impl/BusinessUserServiceImpl.java index 15a3ba8..acee10c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/business/service/impl/BusinessUserServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/business/service/impl/BusinessUserServiceImpl.java @@ -1,19 +1,23 @@ package com.chinaweal.youfool.devops.org.business.service.impl; +import cn.dev33.satoken.session.SaSession; +import cn.dev33.satoken.stp.StpUtil; +import com.chinaweal.youfool.devops.common.utils.StringUtils; import com.chinaweal.youfool.devops.org.business.entity.BusinessUser; import com.chinaweal.youfool.devops.org.business.service.BusinessUserService; +import com.chinaweal.youfool.devops.org.entity.UserBaseExtend; +import com.chinaweal.youfool.framework.springboot.common.util.ExpiryMap; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; -import com.chinaweal.youfool.framework.springboot.user.shiro.JWTToken; -import com.chinaweal.youfool.framework.springboot.util.ExpiryMap; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.*; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; -import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** *

@@ -25,8 +29,6 @@ import java.util.*; */ @Service public class BusinessUserServiceImpl implements BusinessUserService { - @Resource - private JWTToken jwtToken; @Value("${business.fsLoginUrl}") private String fsLoginUrl; @Value("${business.sdLoginUrl}") @@ -75,13 +77,18 @@ public class BusinessUserServiceImpl implements BusinessUserService { } } Map data = (Map) body.get("data"); - Map claims = new LinkedHashMap<>(); - claims.put("regionId", data.get("regionID")); - claims.put("orgId", data.get("orgID")); - claims.put("userId", data.get("primaryKey")); - claims.put("unitId", data.get("unitID")); - claims.put("roleType", "business"); - return jwtToken.createJWT(String.valueOf(data.get("ename")), claims); + userId = StringUtils.trimObj(data.get("primaryKey")); + StpUtil.login(userId); + SaSession session = StpUtil.getSession(); + UserBaseExtend user = new UserBaseExtend(); + user.setUserId(userId); + user.setUsername(StringUtils.trimObj(data.get("ename"))); + user.setOrgId(StringUtils.trimObj(data.get("orgID"))); + user.setUnitId(StringUtils.trimObj(data.get("unitID"))); + user.setRegionId(StringUtils.trimObj(data.get("regionID"))); + user.setRoleType("business"); + session.set(SaSession.USER, user); + return StpUtil.getTokenValue(); } @Override diff --git a/src/main/java/com/chinaweal/youfool/devops/org/controller/EngineerController.java b/src/main/java/com/chinaweal/youfool/devops/org/controller/EngineerController.java index e90360e..f9f0b2c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/controller/EngineerController.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/controller/EngineerController.java @@ -1,14 +1,15 @@ package com.chinaweal.youfool.devops.org.controller; +import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaweal.youfool.devops.org.entity.Engineer; import com.chinaweal.youfool.devops.org.service.IEngineerService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.common.util.AssertUtils; +import com.chinaweal.youfool.framework.springboot.common.util.RSAUtil; import com.chinaweal.youfool.framework.springboot.rest.RestResult; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import com.chinaweal.youfool.framework.springboot.user.entity.UserBase; -import com.chinaweal.youfool.framework.springboot.util.AssertUtils; -import com.chinaweal.youfool.framework.springboot.util.RSAUtil; import com.github.xiaoymin.knife4j.annotations.ApiSort; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -22,7 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import javax.validation.Valid; import java.util.List; @@ -48,7 +49,7 @@ public class EngineerController { @Operation(summary = "1.新增工程师") @PostMapping public RestResult saveEngineer(@RequestBody @Valid Engineer engineer, BindingResult bindingResult) { - AssertUtils.isBndingValidit(bindingResult); + AssertUtils.isBindingValid(bindingResult); RestResult result = iEngineerService.saveEngineer(engineer); return result; @@ -64,7 +65,7 @@ public class EngineerController { @Operation(summary = "3.修改工程师") @PostMapping("/update") public RestResult updateEngineer(@RequestBody @Valid Engineer engineer, BindingResult bindingResult) { - AssertUtils.isBndingValidit(bindingResult); + AssertUtils.isBindingValid(bindingResult); RestResult result = iEngineerService.updateEngineer(engineer); return result; } @@ -88,7 +89,7 @@ public class EngineerController { public RestResult updatePassword(@RequestParam String oldPassword, @RequestParam String newPassword) throws Exception { oldPassword = RSAUtil.decrypt(oldPassword, privateKey); newPassword = RSAUtil.decrypt(newPassword, privateKey); - return iEngineerService.updatePassword(UserBase.currentUserId(), oldPassword, newPassword); + return iEngineerService.updatePassword(StpUtil.getLoginIdAsString(), oldPassword, newPassword); } @Operation(summary = "7.查询工程师列表") diff --git a/src/main/java/com/chinaweal/youfool/devops/org/controller/UserController.java b/src/main/java/com/chinaweal/youfool/devops/org/controller/UserController.java index f37cd39..5d2d1fd 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/controller/UserController.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/controller/UserController.java @@ -1,38 +1,30 @@ package com.chinaweal.youfool.devops.org.controller; +import cn.dev33.satoken.session.SaSession; +import cn.dev33.satoken.stp.StpUtil; +import com.chinaweal.youfool.devops.common.utils.VerifyCode; import com.chinaweal.youfool.devops.org.business.entity.BusinessUser; import com.chinaweal.youfool.devops.org.business.service.BusinessUserService; import com.chinaweal.youfool.devops.org.entity.Engineer; +import com.chinaweal.youfool.devops.org.entity.UserBaseExtend; import com.chinaweal.youfool.devops.org.service.IEngineerService; -import com.chinaweal.youfool.devops.util.VerifyCode; +import com.chinaweal.youfool.framework.springboot.common.util.RSAUtil; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; -import com.chinaweal.youfool.framework.springboot.user.entity.UserBase; -import com.chinaweal.youfool.framework.springboot.user.shiro.JWTToken; -import com.chinaweal.youfool.framework.springboot.util.RSAUtil; -import com.chinaweal.youfool.framework.springboot.util.WebUtil; import com.github.xiaoymin.knife4j.annotations.ApiSort; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.Jws; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.LinkedHashMap; import java.util.Map; @Tag(name = "1.用户操作") @@ -44,15 +36,13 @@ public class UserController { @Resource private IEngineerService iEngineerService; @Resource - private JWTToken jwtToken; - @Resource private BusinessUserService businessUserService; @Value("${rsa.privateKey}") private String privateKey; @Operation(summary = "1.业务系统登录接口", - requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(description = "登录数据", - content = @Content(examples = @ExampleObject(value = "{\"username\":\"用户名\",\"password\":\"密码\",\"vcode\":\"验证码\",\"userId\":\"用户ID(可选)\"}")))) + requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(description = "登录数据", + content = @Content(examples = @ExampleObject(value = "{\"username\":\"用户名\",\"password\":\"密码\",\"vcode\":\"验证码\",\"userId\":\"用户ID(可选)\"}")))) @PostMapping("/loginBusiness") public RestResult loginBusiness(@RequestBody Map data, HttpServletRequest request) throws Exception { String username = data.get("username"); @@ -81,8 +71,8 @@ public class UserController { } @Operation(summary = "2.工程师登录接口", - requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(description = "登录数据", - content = @Content(examples = @ExampleObject(value = "{\"username\":\"用户名\",\"password\":\"密码\",\"vcode\":\"验证码\"}")))) + requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(description = "登录数据", + content = @Content(examples = @ExampleObject(value = "{\"username\":\"用户名\",\"password\":\"密码\",\"vcode\":\"验证码\"}")))) @PostMapping("/loginEngineer") public RestResult loginEngineer(@RequestBody Map data, HttpServletRequest request) throws Exception { String username = data.get("username"); @@ -106,7 +96,7 @@ public class UserController { @GetMapping("/info") @Operation(summary = "3.查询用户信息") public RestResult getInfo(@Parameter(description = "系统角色标识 business:业务人员;engineer:运维工程师", required = true) @RequestParam String roleType) { - String userId = UserBase.currentUserId(); + String userId = StpUtil.getLoginIdAsString(); if (StringUtils.isBlank(userId)) { return RestResult.error(ResultCode.PARAM_IS_BLANK); } @@ -119,9 +109,8 @@ public class UserController { return RestResult.ok(businessUser); } else if ("outer".equals(roleType)) { //网办直接解析权限jwt参数 - String token = WebUtil.getToken(); - Jws claimsJws = jwtToken.parseJWT(token); - return RestResult.ok(claimsJws.getBody()); + SaSession session = StpUtil.getSession(); + return RestResult.ok(session.get(SaSession.USER, new UserBaseExtend())); } else { return RestResult.error(ResultCode.PARAM_TYPE_BIND_ERROR); } @@ -143,7 +132,7 @@ public class UserController { @Operation(summary = "6.网办外部登录接口") @PostMapping("/loginOuter") - public RestResult loginOuter(@RequestBody Map data, HttpServletRequest request) throws Exception { + public RestResult loginOuter(@RequestBody Map data, HttpServletRequest request) throws Exception { String userId = data.get("userId"); String name = data.get("name"); String username = data.get("username"); @@ -154,14 +143,14 @@ public class UserController { return RestResult.error(ResultCode.PARAM_IS_BLANK); } //只要不为空,就默认登陆通过 - Map claims = new LinkedHashMap<>(); - claims.put("nickname", name); - claims.put("phone", phone); - claims.put("source", source); - claims.put("roleType", "outer"); - claims.put("roles", "commonOuter"); - String token = jwtToken.createJWT(userId, username, claims); - return RestResult.ok(token); + StpUtil.login(userId); + UserBaseExtend userBase = new UserBaseExtend(); + userBase.setNickname(name); + userBase.setUsername(phone); + userBase.setSource(source); + userBase.setRoleType("outer"); + userBase.setRoles("commonOuter"); + return RestResult.ok(); } } diff --git a/src/main/java/com/chinaweal/youfool/devops/org/entity/Engineer.java b/src/main/java/com/chinaweal/youfool/devops/org/entity/Engineer.java index e7b557e..502a513 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/entity/Engineer.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/entity/Engineer.java @@ -3,16 +3,15 @@ package com.chinaweal.youfool.devops.org.entity; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.*; +import com.chinaweal.youfool.devops.common.constants.CommonConstant; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; -import com.chinaweal.youfool.framework.springboot.util.ConstantsUtil; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; /** *

@@ -124,7 +123,7 @@ public class Engineer extends SuperEntity { * 是否删除 0:未删除、1:已删除 */ @Schema(description = "是否删除 0:未删除、1:已删除") - @TableLogic(value = ConstantsUtil.NOT_DELETED, delval = ConstantsUtil.DELETED) + @TableLogic(value = CommonConstant.FALSE_0_STR, delval = CommonConstant.TRUE_1_STR) @TableField("is_deleted") private String isDeleted; diff --git a/src/main/java/com/chinaweal/youfool/devops/org/entity/UserBaseExtend.java b/src/main/java/com/chinaweal/youfool/devops/org/entity/UserBaseExtend.java new file mode 100644 index 0000000..f273b27 --- /dev/null +++ b/src/main/java/com/chinaweal/youfool/devops/org/entity/UserBaseExtend.java @@ -0,0 +1,48 @@ +package com.chinaweal.youfool.devops.org.entity; + +import com.chinaweal.youfool.framework.springboot.user.entity.UserBase; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * + * 用户扩展信息 + * + * @author lroyia + * @since 2025/8/18 17:15 + **/ +@EqualsAndHashCode(callSuper = true) +@Data +public class UserBaseExtend extends UserBase { + + /** + * 系统来源 + */ + private String source; + + /** + * 角色类型 + */ + private String roleType; + + /** + * 角色 + */ + private String roles; + + /** + * 地区id + */ + private String regionId; + + /** + * 单位 id + */ + private String orgId; + + /** + * 部门id + */ + private String unitId; + +} diff --git a/src/main/java/com/chinaweal/youfool/devops/org/interceptor/LoginInterceptor.java b/src/main/java/com/chinaweal/youfool/devops/org/interceptor/LoginInterceptor.java index 5b1caa0..6942092 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/interceptor/LoginInterceptor.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/interceptor/LoginInterceptor.java @@ -1,16 +1,17 @@ package com.chinaweal.youfool.devops.org.interceptor; +import cn.dev33.satoken.stp.StpUtil; +import com.chinaweal.youfool.framework.springboot.common.util.WebUtil; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import com.chinaweal.youfool.framework.springboot.user.entity.UserBase; -import com.chinaweal.youfool.framework.springboot.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * 登陆拦截 @@ -24,7 +25,7 @@ public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { //判断token是否有效 - String userId = UserBase.currentUserId(); + String userId = StpUtil.getLoginIdAsString(); if (StringUtils.isNotBlank((userId))) { return true; } else { diff --git a/src/main/java/com/chinaweal/youfool/devops/org/service/IEngineerService.java b/src/main/java/com/chinaweal/youfool/devops/org/service/IEngineerService.java index b37716c..69dd4c1 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/service/IEngineerService.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/service/IEngineerService.java @@ -1,10 +1,10 @@ package com.chinaweal.youfool.devops.org.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.chinaweal.youfool.devops.org.entity.Engineer; import com.baomidou.mybatisplus.extension.service.IService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.devops.org.entity.Engineer; import com.chinaweal.youfool.framework.springboot.rest.RestResult; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/org/service/impl/EngineerServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/org/service/impl/EngineerServiceImpl.java index a2d8824..b27d923 100644 --- a/src/main/java/com/chinaweal/youfool/devops/org/service/impl/EngineerServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/org/service/impl/EngineerServiceImpl.java @@ -1,32 +1,31 @@ package com.chinaweal.youfool.devops.org.service.impl; +import cn.dev33.satoken.session.SaSession; +import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaweal.youfool.devops.common.constants.CommonConstant; import com.chinaweal.youfool.devops.org.entity.Engineer; +import com.chinaweal.youfool.devops.org.entity.UserBaseExtend; import com.chinaweal.youfool.devops.org.mapper.EngineerMapper; import com.chinaweal.youfool.devops.org.service.IEngineerService; -import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.common.util.ExpiryMap; +import com.chinaweal.youfool.framework.springboot.common.util.SM3Util; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; +import com.chinaweal.youfool.framework.springboot.rest.query.BaseQuery; import com.chinaweal.youfool.framework.springboot.user.entity.UserBase; import com.chinaweal.youfool.framework.springboot.user.service.UserBaseService; -import com.chinaweal.youfool.framework.springboot.user.shiro.JWTToken; -import com.chinaweal.youfool.framework.springboot.util.ConstantsUtil; -import com.chinaweal.youfool.framework.springboot.util.ExpiryMap; -import com.chinaweal.youfool.framework.springboot.util.SM3Util; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; /** *

@@ -41,8 +40,6 @@ public class EngineerServiceImpl extends ServiceImpl i @Value("${sm3.secret}") private String sm3Secret; - @Resource - private JWTToken jwtToken; private static final ExpiryMap LOGIN_FREQ_NUM = new ExpiryMap<>(1800); @@ -74,13 +71,16 @@ public class EngineerServiceImpl extends ServiceImpl i return RestResult.error(ResultCode.USER_ACCOUNT_FORBIDDEN); } - Map claims = new LinkedHashMap<>(); - claims.put("userId", engineer.getUserId()); - claims.put("roleType", "engineer"); - claims.put("source", engineer.getSource()); - String token = jwtToken.createJWT(username, claims); + UserBaseExtend user = new UserBaseExtend(); + user.setUserId(engineer.getUserId()); + user.setSource(engineer.getSource()); + user.setUsername(engineer.getUsername()); + user.setNickname(engineer.getNickname()); + user.setRoleType("engineer"); + StpUtil.login(engineer.getUserId()); + StpUtil.getSession().set(SaSession.USER, user); - return RestResult.ok(token); + return RestResult.ok(StpUtil.getTokenValue()); } @Override @@ -116,7 +116,7 @@ public class EngineerServiceImpl extends ServiceImpl i if (dbEngineer != null) { return RestResult.error(ResultCode.USER_HAS_EXISTED); } - engineer.setIsDeleted(ConstantsUtil.NOT_DELETED); + engineer.setIsDeleted(CommonConstant.FALSE_0_STR); //加密密码 engineer.setPassword(SM3Util.encrypt(sm3Secret, engineer.getPassword())); @@ -191,14 +191,17 @@ public class EngineerServiceImpl extends ServiceImpl i } @Override - public UserBase getUserBaseByUsername(String username) { - UserBase userBase = new UserBase(); - userBase.setUsername(username); - return userBase; + public RestResult login(String userName, String password, boolean frameworkLogin) { + return null; } @Override - public boolean isValidToken(String token) { - return false; + public UserBase getCurrentUser() { + return null; + } + + @Override + public List getUserInfoByLoginId(List loginIdList) { + return List.of(); } } diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/controller/LabelController.java b/src/main/java/com/chinaweal/youfool/devops/repair/controller/LabelController.java index a180b27..83a73f7 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/controller/LabelController.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/controller/LabelController.java @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/controller/NotificationController.java b/src/main/java/com/chinaweal/youfool/devops/repair/controller/NotificationController.java index 4bbd253..43857d4 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/controller/NotificationController.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/controller/NotificationController.java @@ -13,8 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDate; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairController.java b/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairController.java index f9ae752..abf9553 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairController.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairController.java @@ -32,8 +32,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairTodoController.java b/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairTodoController.java index dda2c63..b0866b3 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairTodoController.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/controller/RepairTodoController.java @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.time.LocalDateTime; @Tag(name = "4.运维单待办") diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/controller/StatisticController.java b/src/main/java/com/chinaweal/youfool/devops/repair/controller/StatisticController.java index c3ddef8..69cd1af 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/controller/StatisticController.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/controller/StatisticController.java @@ -20,8 +20,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.LinkedHashMap; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/controller/SummaryController.java b/src/main/java/com/chinaweal/youfool/devops/repair/controller/SummaryController.java index 5c83c48..47abfb1 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/controller/SummaryController.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/controller/SummaryController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/Notification.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/Notification.java index 460aa29..65f7395 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/Notification.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/Notification.java @@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -44,7 +44,7 @@ public class Notification extends SuperEntity { */ @Schema(description = "统计月份") @TableField("MONTH_DATE") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDate monthDate; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/Repair.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/Repair.java index 723ecdb..d3ee1c9 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/Repair.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/Repair.java @@ -3,9 +3,9 @@ package com.chinaweal.youfool.devops.repair.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -141,7 +141,7 @@ public class Repair extends SuperEntity { */ @Schema(description = "报送时间") @TableField("LAUNCH_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime launchTime; /** @@ -149,7 +149,7 @@ public class Repair extends SuperEntity { */ @Schema(description = "解决期限时间") @TableField("SOLVE_LIMIT_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime solveLimitTime; /** @@ -206,7 +206,7 @@ public class Repair extends SuperEntity { */ @Schema(description = "业务要求办理时效") @TableField("BUS_HANDLE_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime busHandleTime; /** @@ -214,7 +214,7 @@ public class Repair extends SuperEntity { */ @Schema(description = "计划完成时间") @TableField("PLANNED_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime plannedTime; /** @@ -222,7 +222,7 @@ public class Repair extends SuperEntity { */ @Schema(description = "实际完成时间") @TableField("REALITY_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime realityTime; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairFile.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairFile.java index 29748a0..c1ea016 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairFile.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairFile.java @@ -1,8 +1,9 @@ package com.chinaweal.youfool.devops.repair.entity; import com.baomidou.mybatisplus.annotation.*; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -90,7 +91,7 @@ public class RepairFile extends SuperEntity { */ @Schema(description = "上传时间") @TableField(value = "UPLOAD_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime uploadTime; } diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairHandle.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairHandle.java index 0de38e3..ac3f51f 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairHandle.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairHandle.java @@ -4,8 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -81,7 +82,7 @@ public class RepairHandle extends SuperEntity { */ @Schema(description = "生成时间") @TableField("HAPPEN_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime happenTime; /** @@ -139,7 +140,7 @@ public class RepairHandle extends SuperEntity { @TableField(exist = false) @Schema(description = "计划完成时间") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime plannedTime; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairLabel.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairLabel.java index 6e44865..ca06ba4 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairLabel.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairLabel.java @@ -1,12 +1,10 @@ package com.chinaweal.youfool.devops.repair.entity; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairSummary.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairSummary.java index d2f2370..fb38df8 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairSummary.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairSummary.java @@ -9,9 +9,9 @@ import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -46,7 +46,7 @@ public class RepairSummary extends SuperEntity { */ @Schema(description = "时间") @TableField("TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime time; /** diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairTodo.java b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairTodo.java index 9017552..ce5803c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairTodo.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/entity/RepairTodo.java @@ -1,8 +1,9 @@ package com.chinaweal.youfool.devops.repair.entity; import com.baomidou.mybatisplus.annotation.*; -import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer; +import com.chinaweal.youfool.framework.springboot.common.util.DateUtil; import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; @@ -142,7 +143,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "报送时间") @TableField("LAUNCH_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime launchTime; /** @@ -150,7 +151,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "解决期限时间") @TableField("SOLVE_LIMIT_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime solveLimitTime; /** @@ -186,7 +187,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "处理更新时间") @TableField("HANDLE_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime handleTime; /** @@ -215,7 +216,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "业务要求办理时效") @TableField(exist = false) - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime busHandleTime; /** @@ -236,7 +237,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "计划完成时间") @TableField(exist = false) - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime plannedTime; /** @@ -244,7 +245,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "实际完成时间") @TableField(exist = false) - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime realityTime; /** * 负责人昵称 @@ -269,7 +270,7 @@ public class RepairTodo extends SuperEntity { */ @Schema(description = "最后处理反馈时间") @TableField("FEEDBACK_TIME") - @JsonSerialize(using = LocalDateTimeStringSerializer.class) + @JsonFormat(pattern = DateUtil.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8") private LocalDateTime feedbackTime; @Schema(description = "最后处理反馈时长") diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/scheduled/SummaryScheduled.java b/src/main/java/com/chinaweal/youfool/devops/repair/scheduled/SummaryScheduled.java index 84194dd..1a297b8 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/scheduled/SummaryScheduled.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/scheduled/SummaryScheduled.java @@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.io.IOException; import java.time.LocalDate; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/INotificationService.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/INotificationService.java index 0b53435..dba0b51 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/INotificationService.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/INotificationService.java @@ -3,7 +3,7 @@ package com.chinaweal.youfool.devops.repair.service; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaweal.youfool.devops.repair.entity.Notification; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.time.LocalDate; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairFileService.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairFileService.java index 20c6103..7da10fc 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairFileService.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairFileService.java @@ -4,7 +4,7 @@ import com.chinaweal.youfool.devops.repair.entity.RepairFile; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairService.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairService.java index 5c7ff17..27cd557 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairService.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairService.java @@ -5,7 +5,7 @@ import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.devops.repair.entity.Repair; import com.baomidou.mybatisplus.extension.service.IService; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairTodoService.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairTodoService.java index 2c3ce3f..3613c7a 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairTodoService.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/IRepairTodoService.java @@ -8,7 +8,7 @@ import com.chinaweal.youfool.devops.repair.entity.RepairTodo; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaweal.youfool.framework.springboot.rest.RestResult; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDate; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/NotificationServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/NotificationServiceImpl.java index dc110c9..e9dc4c5 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/NotificationServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/NotificationServiceImpl.java @@ -29,9 +29,9 @@ import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import javax.imageio.ImageIO; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.*; import java.math.BigDecimal; @@ -222,28 +222,28 @@ public class NotificationServiceImpl extends ServiceImpl lqwn = Wrappers.lambdaQuery(); lqwn.between(RepairTodo::getLaunchTime, date, date.plusDays(1)); - int dailyNewly = iRepairTodoService.count(lqwn); + long dailyNewly = iRepairTodoService.count(lqwn); //已处理数 LambdaQueryWrapper lqwh = Wrappers.lambdaQuery(); lqwh.between(RepairTodo::getLaunchTime, date, date.plusDays(1)); lqwh.in(RepairTodo::getStep, IRepairHandleService.FEEDBACK, IRepairHandleService.RESOLVED); - int dailyHandled = iRepairTodoService.count(lqwh); + long dailyHandled = iRepairTodoService.count(lqwh); //未处理数 LambdaQueryWrapper lqwu = Wrappers.lambdaQuery(); lqwu.between(RepairTodo::getLaunchTime, date, date.plusDays(1)); lqwu.in(RepairTodo::getStep, IRepairHandleService.DECLARE, IRepairHandleService.ASSIGN, IRepairHandleService.HANDLE, IRepairHandleService.UNRESOLVED); - int dailyUntreated = iRepairTodoService.count(lqwu); + long dailyUntreated = iRepairTodoService.count(lqwu); //归档数 LambdaQueryWrapper lqwc = Wrappers.lambdaQuery(); lqwc.between(RepairTodo::getLaunchTime, date, date.plusDays(1)); lqwc.eq(RepairTodo::getStep, IRepairHandleService.RESOLVED); - int dailyConclude = iRepairTodoService.count(lqwc); + long dailyConclude = iRepairTodoService.count(lqwc); //待确认数 LambdaQueryWrapper lqwcf = Wrappers.lambdaQuery(); lqwcf.between(RepairTodo::getLaunchTime, date, date.plusDays(1)); lqwcf.eq(RepairTodo::getStep, IRepairHandleService.FEEDBACK); - int dailyConfirmed = iRepairTodoService.count(lqwcf); + long dailyConfirmed = iRepairTodoService.count(lqwcf); data.put("date", date.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"))); data.put("createTime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); @@ -256,24 +256,24 @@ public class NotificationServiceImpl extends ServiceImpl lqwT = Wrappers.lambdaQuery(); - int total = iRepairTodoService.count(lqwT); + long total = iRepairTodoService.count(lqwT); data.put("total", total);//运维单总数 LambdaQueryWrapper lqwTh = Wrappers.lambdaQuery(); lqwTh.in(RepairTodo::getStep, IRepairHandleService.FEEDBACK, IRepairHandleService.RESOLVED); - int handled = iRepairTodoService.count(lqwTh); + long handled = iRepairTodoService.count(lqwTh); data.put("handled", handled);//已处理数 LambdaQueryWrapper lqwTu = Wrappers.lambdaQuery(); lqwTu.in(RepairTodo::getStep, IRepairHandleService.DECLARE, IRepairHandleService.ASSIGN, IRepairHandleService.HANDLE, IRepairHandleService.UNRESOLVED); - int untreated = iRepairTodoService.count(lqwTu); + long untreated = iRepairTodoService.count(lqwTu); data.put("untreated", untreated);//未处理数 //当天人员处理列表 LambdaQueryWrapper lqwhl = Wrappers.lambdaQuery(); lqwhl.between(RepairTodo::getFeedbackTime, date, date.plusDays(1)); - int dailyTotal = iRepairTodoService.count(lqwhl);//当天总处理量 + long dailyTotal = iRepairTodoService.count(lqwhl);//当天总处理量 handleList = baseMapper.dailyHandledUserNum(date, date.plusDays(1)); for (int i = 0; i < handleList.size(); i++) { Map map = handleList.get(i); @@ -297,7 +297,7 @@ public class NotificationServiceImpl extends ServiceImpl lqwul = Wrappers.lambdaQuery(); lqwul.in(RepairTodo::getStep, IRepairHandleService.DECLARE, IRepairHandleService.ASSIGN, IRepairHandleService.HANDLE, IRepairHandleService.UNRESOLVED); - int utotal = iRepairTodoService.count(lqwul);//总量 + long utotal = iRepairTodoService.count(lqwul);//总量 unhandledList = baseMapper.unhandledUserNum(); for (int i = 0; i < unhandledList.size(); i++) { Map map = unhandledList.get(i); diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairFileServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairFileServiceImpl.java index 0a3fd07..9258b34 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairFileServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairFileServiceImpl.java @@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.*; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairHandleServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairHandleServiceImpl.java index 34587fa..985354c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairHandleServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairHandleServiceImpl.java @@ -13,7 +13,7 @@ import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.time.LocalDateTime; import java.util.LinkedHashMap; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairLabelServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairLabelServiceImpl.java index 8bfeb77..2c1255b 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairLabelServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairLabelServiceImpl.java @@ -9,7 +9,7 @@ import com.chinaweal.youfool.devops.repair.service.IRepairLabelService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairServiceImpl.java index 0aa3127..ae9a61c 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairServiceImpl.java @@ -14,7 +14,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; // import com.chinaweal.youfool.devops.ai.service.impl.AIAnswerIntegrationServiceImpl; import com.chinaweal.youfool.devops.base.entity.Dict; import com.chinaweal.youfool.devops.base.service.IDictService; -import com.chinaweal.youfool.devops.util.ErrorLogUtils; import com.chinaweal.youfool.devops.org.business.service.BusinessUserService; import com.chinaweal.youfool.devops.repair.controller.query.RepairTodoListQuery; import com.chinaweal.youfool.devops.repair.entity.*; @@ -29,8 +28,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.util.Strings; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; @@ -131,7 +130,7 @@ public class RepairServiceImpl extends ServiceImpl impleme LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.ge(Repair::getLaunchTime, LocalDate.now().atStartOfDay()) .lt(Repair::getLaunchTime, LocalDate.now().atStartOfDay().plusDays(1)); - int count = count(qw) + 1; + long count = count(qw) + 1; //补齐零 String no = String.format("%04d", count); String repairId = prefix + no; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairSummaryServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairSummaryServiceImpl.java index 0b01ff4..710e0fc 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairSummaryServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairSummaryServiceImpl.java @@ -15,7 +15,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaweal.youfool.devops.repair.service.IRepairTodoService; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import jakarta.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairTodoServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairTodoServiceImpl.java index 6ac3cb8..34b0666 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairTodoServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/RepairTodoServiceImpl.java @@ -1,7 +1,9 @@ package com.chinaweal.youfool.devops.repair.service.impl; +import cn.dev33.satoken.session.SaSession; +import cn.dev33.satoken.stp.StpUtil; import com.alibaba.excel.EasyExcel; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaweal.youfool.devops.org.business.service.BusinessUserService; import com.chinaweal.youfool.devops.org.entity.Engineer; +import com.chinaweal.youfool.devops.org.entity.UserBaseExtend; import com.chinaweal.youfool.devops.org.service.IEngineerService; import com.chinaweal.youfool.devops.repair.controller.query.RepairTodoListQuery; import com.chinaweal.youfool.devops.repair.entity.Repair; @@ -25,15 +28,13 @@ import com.chinaweal.youfool.devops.repair.service.*; import com.chinaweal.youfool.devops.websocket.server.BusinessSysServer; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; -import com.chinaweal.youfool.framework.springboot.user.entity.UserBase; -import com.chinaweal.youfool.framework.springboot.user.service.UserBaseService; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.lang.reflect.Method; @@ -489,8 +490,11 @@ public class RepairTodoServiceImpl extends ServiceImpl synthesizeBusinessList(RepairTodoListQuery query) { - Optional unitId = UserBase.getTokenValueByKey("unitId"); - unitId.ifPresent(o -> query.setDeptId(o.toString())); + SaSession session = StpUtil.getSession(); + UserBaseExtend userBaseExtend = session.get(SaSession.USER, new UserBaseExtend()); + if (StringUtils.isNotBlank(userBaseExtend.getUnitId())) { + query.setDeptId(userBaseExtend.getUnitId()); + } query.setUsername(null); query.setUserId(null); return findList(query); @@ -499,7 +503,9 @@ public class RepairTodoServiceImpl extends ServiceImpl findTodoByEngineer(RepairTodoListQuery query) { //获取用户token的用户信息 - String username = UserBase.currentUsername(); + SaSession session = StpUtil.getSession(); + UserBaseExtend userBaseExtend = session.get(SaSession.USER, new UserBaseExtend()); + String username = userBaseExtend.getUsername(); Engineer engineer = iEngineerService.getUserByUsername(username); String[] roles = engineer.getRoles().split(","); boolean isAdmin = ArrayUtils.contains(roles, "admin"); @@ -515,7 +521,7 @@ public class RepairTodoServiceImpl extends ServiceImpl findTodoByBusiness(RepairTodoListQuery query) { //获取用户token的用户信息 - String userId = UserBase.currentUserId(); + String userId = StpUtil.getLoginIdAsString(); query.setUserId(userId); IPage list = findList(query); return list; @@ -675,16 +681,17 @@ public class RepairTodoServiceImpl extends ServiceImpl synthesizeEngineerList(RepairTodoListQuery query) { - Optional source = UserBase.getTokenValueByKey("source"); - source.ifPresent(o -> { - query.setSource(Arrays.asList(source.get().toString().split(","))); - }); + SaSession session = StpUtil.getSession(); + UserBaseExtend userBaseExtend = session.get(SaSession.USER, new UserBaseExtend()); + query.setSource(Arrays.asList(StringUtils.trimToEmpty(userBaseExtend.getSource()).toString().split(","))); return findList(query); } @Override public IPage leaderTodo(RepairTodoListQuery query) { - String username = UserBase.currentUsername(); + SaSession session = StpUtil.getSession(); + UserBaseExtend userBaseExtend = session.get(SaSession.USER, new UserBaseExtend()); + String username = userBaseExtend.getUsername(); query.setLeaderUsername(username); return findList(query); } diff --git a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/StatisticServiceImpl.java b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/StatisticServiceImpl.java index de8fda4..bcc8a77 100644 --- a/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/StatisticServiceImpl.java +++ b/src/main/java/com/chinaweal/youfool/devops/repair/service/impl/StatisticServiceImpl.java @@ -14,8 +14,8 @@ import com.chinaweal.youfool.devops.repair.service.IRepairSummaryService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 45607dd..9640bdd 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -6,15 +6,16 @@ logging: com.chinaweal.youfool.devops: debug spring: datasource: - youfool: - url: jdbc:postgresql://172.22.80.157:5432/devops_gd - username: devops_gd - password: ChinaWeal@2024 - - devops: - url: jdbc:postgresql://172.22.80.157:5432/devops_gd - username: devops_gd - password: ChinaWeal@2024 + dynamic: + datasource: + youfool: + url: jdbc:postgresql://172.22.80.157:5432/devops_gd + username: devops_gd + password: ChinaWeal@2024 + devops: + url: jdbc:postgresql://172.22.80.157:5432/devops_gd + username: devops_gd + password: ChinaWeal@2024 main: # Spring Boot 2.7+新增:允许循环依赖(临时修复,后续需重构代码消除循环依赖) diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index ed37600..41961a8 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -15,14 +15,16 @@ spring: autoconfigure: exclude: com.dtflys.forest.springboot.ForestAutoConfiguration datasource: - youfool: - url: jdbc:postgresql://localhost:5432/devops_gd - username: postgres - password: 123456 - devops: - url: jdbc:postgresql://localhost:5432/devops_gd - username: postgres - password: 123456 + dynamic: + datasource: + youfool: + url: jdbc:postgresql://localhost:5432/devops_gd + username: postgres + password: 123456 + devops: + url: jdbc:postgresql://localhost:5432/devops_gd + username: postgres + password: 123456 main: # Spring Boot 2.7+新增:允许循环依赖(临时修复,后续需重构代码消除循环依赖) allow-circular-references: true diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index e91d67b..49e1321 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -7,14 +7,16 @@ logging: filePath: ..\logs spring: datasource: - youfool: - url: jdbc:postgresql://172.22.80.157:5432/devops_gd - username: devops_gd - password: ChinaWeal@2024 - devops: - url: jdbc:postgresql://172.22.80.157:5432/devops_gd - username: devops_gd - password: ChinaWeal@2024 + dynamic: + datasource: + youfool: + url: jdbc:postgresql://172.22.80.157:5432/devops_gd + username: devops_gd + password: ChinaWeal@2024 + devops: + url: jdbc:postgresql://172.22.80.157:5432/devops_gd + username: devops_gd + password: ChinaWeal@2024 main: # Spring Boot 2.7+新增:允许循环依赖(临时修复,后续需重构代码消除循环依赖) allow-circular-references: true diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index a12b1ba..9416e51 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,38 +3,42 @@ logging: root: info spring: profiles: - active: local + active: dev application: name: youfoo-devops datasource: - #https://gitee.com/wenshao/druid/tree/master/druid-spring-boot-starter - #https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE - youfool: - filters: stat - initial-size: 2 - min-idle: 1 - max-active: 20 - max-wait: 30000 - time-between-eviction-runs-millis: 60000 - min-evictable-idle-time-millis: 300000 - validation-query: select 1 - devops: - filters: stat - initial-size: 2 - min-idle: 1 - max-active: 20 - max-wait: 30000 - time-between-eviction-runs-millis: 60000 - min-evictable-idle-time-millis: 300000 - validation-query: select 1 - druid: - web-stat-filter: - enabled: true - stat-view-servlet: - enabled: true - url-pattern: /druid/* - login-username: admin - login-password: 123456 + dynamic: + primary: devops #设置默认的数据源或者数据源组,默认值即为master + strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 + datasource: + #https://gitee.com/wenshao/druid/tree/master/druid-spring-boot-starter + #https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE + youfool: + filters: stat + initial-size: 2 + min-idle: 1 + max-active: 20 + max-wait: 30000 + time-between-eviction-runs-millis: 60000 + min-evictable-idle-time-millis: 300000 + validation-query: select 1 + devops: + filters: stat + initial-size: 2 + min-idle: 1 + max-active: 20 + max-wait: 30000 + time-between-eviction-runs-millis: 60000 + min-evictable-idle-time-millis: 300000 + validation-query: select 1 + druid: + web-stat-filter: + enabled: true + stat-view-servlet: + enabled: true + url-pattern: /druid/* + login-username: admin + login-password: 123456 servlet: multipart: max-file-size: 100MB diff --git a/src/main/resources/mybatis/mybatis-config.xml b/src/main/resources/mybatis/mybatis-config.xml index f44707b..2c28e91 100644 --- a/src/main/resources/mybatis/mybatis-config.xml +++ b/src/main/resources/mybatis/mybatis-config.xml @@ -36,10 +36,14 @@ - - - + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/chinaweal/youfool/devops/ai/integration/TextSimilarityIntegrationTest.java b/src/test/java/com/chinaweal/youfool/devops/ai/integration/TextSimilarityIntegrationTest.java index cd01c77..a0b01e8 100644 --- a/src/test/java/com/chinaweal/youfool/devops/ai/integration/TextSimilarityIntegrationTest.java +++ b/src/test/java/com/chinaweal/youfool/devops/ai/integration/TextSimilarityIntegrationTest.java @@ -2,7 +2,7 @@ package com.chinaweal.youfool.devops.ai.integration; import com.chinaweal.youfool.devops.ai.service.EmbeddingCacheService; import com.chinaweal.youfool.devops.ai.service.QwenEmbeddingService; -import com.chinaweal.youfool.devops.util.TextSimilarityUtils; +import com.chinaweal.youfool.devops.common.utils.TextSimilarityUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/com/chinaweal/youfool/devops/util/TextSimilarityUtilsTest.java b/src/test/java/com/chinaweal/youfool/devops/util/TextSimilarityUtilsTest.java index 314ff80..2848c29 100644 --- a/src/test/java/com/chinaweal/youfool/devops/util/TextSimilarityUtilsTest.java +++ b/src/test/java/com/chinaweal/youfool/devops/util/TextSimilarityUtilsTest.java @@ -1,6 +1,7 @@ package com.chinaweal.youfool.devops.util; import com.chinaweal.youfool.devops.ai.service.QwenEmbeddingService; +import com.chinaweal.youfool.devops.common.utils.TextSimilarityUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith;