xiaochan 4 months ago
parent
commit
9b7ce36b7e

+ 1 - 5
src/main/java/thyyxxk/webserver/WebServerApplication.java

@@ -20,11 +20,7 @@ import java.net.InetAddress;
 @EnableTransactionManagement
 @EnableScheduling
 @EnableConfigurationProperties
-@ForestScan(
-        basePackages = {
-                "thyyxxk.webserver.service.externalhttp", "thyyxxk.webserver.http.*"
-        }
-)
+@ForestScan(basePackages = {"thyyxxk.webserver.service.externalhttp"})
 @Slf4j
 public class WebServerApplication {
 

+ 2 - 2
src/main/java/thyyxxk/webserver/controller/TestController.java

@@ -82,8 +82,8 @@ public class TestController {
     public void test6() {
         SocketTask socketTask = new SocketTask();
         socketTask.setUserCode("02896");
-        socketTask.setName("测试");
-        socketTask.setId("测试");
+//        socketTask.setName("测试");
+//        socketTask.setId("测试");
 
         SocketTask socketTask1 = new SocketTask();
         socketTask1.setUserCode("02896");

+ 4 - 4
src/main/java/thyyxxk/webserver/http/websocket/SocketV2.java

@@ -1,6 +1,7 @@
 package thyyxxk.webserver.http.websocket;
 
 
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.Header;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.json.JSONObject;
@@ -12,6 +13,7 @@ import thyyxxk.webserver.config.envionment.Other;
 import thyyxxk.webserver.constants.Message;
 import thyyxxk.webserver.http.websocket.dto.*;
 import thyyxxk.webserver.utils.SocketMsg;
+import thyyxxk.webserver.utils.ValidatorUtils;
 
 import javax.validation.ConstraintViolation;
 import javax.validation.Validation;
@@ -24,6 +26,7 @@ import java.util.Set;
 @RequiredArgsConstructor
 public class SocketV2 {
     private final Other other;
+    private final ValidatorUtils validatorUtils;
 
     public HttpRequest getPostApi(String business) {
         return HttpRequest.post(other.getSocketV2Url() + "/send" + business)
@@ -59,10 +62,7 @@ public class SocketV2 {
     }
 
     public void sendTask(SocketTask task) {
-        ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
-        Set<ConstraintViolation<SocketTask>> validate = vf.getValidator().validate(task);
-
-        
+        validatorUtils.validate(task);
 
         JSONObject js = new JSONObject();
         js.set("mode", "SINGLE");

+ 2 - 0
src/main/java/thyyxxk/webserver/http/websocket/dto/SocketTask.java

@@ -10,6 +10,8 @@ public class SocketTask {
     // 必填
     @NotNull(message = "id 不能为空")
     private String id;
+
+    @NotNull(message = "name 不能为空")
     private String name;
     private Integer percentage;
     private String mode = "SINGLE";

+ 27 - 0
src/main/java/thyyxxk/webserver/utils/ValidatorUtils.java

@@ -0,0 +1,27 @@
+package thyyxxk.webserver.utils;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import javax.validation.ConstraintViolation;
+import javax.validation.Validator;
+import java.util.Set;
+
+@Component
+@RequiredArgsConstructor
+public class ValidatorUtils {
+
+    private final Validator validator;
+
+    public void validate(Object object) {
+        Set<ConstraintViolation<Object>> violations = validator.validate(object);
+
+        if (!violations.isEmpty()) {
+            StringBuilder errorMsg = new StringBuilder("Validation failed:");
+            for (ConstraintViolation<Object> violation : violations) {
+                errorMsg.append("\n").append(violation.getMessage());
+            }
+            throw new IllegalArgumentException(errorMsg.toString());
+        }
+    }
+}