From 0b061b77fe806959c70a27dd99b0a3b35928ec62 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 29 七月 2024 10:20:09 +0800
Subject: [PATCH] feign完善,异常解码器
---
/dev/null | 15 -----
ycl-server/src/main/java/com/ycl/exception/FeignException.java | 36 ++++++++++++
ycl-server/src/main/java/com/ycl/feign/YYFeignConfig.java | 26 ++++++++
ycl-server/src/main/java/com/ycl/task/HKTask.java | 6 -
ycl-server/src/main/java/com/ycl/feign/FeignErrorDecoder.java | 45 +++++++++++++++
ycl-server/src/main/java/com/ycl/PlatformApplication.java | 2
ycl-server/src/main/java/com/ycl/task/UYTask.java | 10 ---
ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java | 26 ++++++++
ycl-server/src/main/java/com/ycl/feign/HKClient.java | 3
ycl-server/src/main/java/com/ycl/feign/UYClient.java | 3
10 files changed, 138 insertions(+), 34 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/PlatformApplication.java b/ycl-server/src/main/java/com/ycl/PlatformApplication.java
index c3654cd..d1ce599 100644
--- a/ycl-server/src/main/java/com/ycl/PlatformApplication.java
+++ b/ycl-server/src/main/java/com/ycl/PlatformApplication.java
@@ -12,7 +12,7 @@
@Slf4j
@EnableCaching
@EnableTransactionManagement
-@EnableFeignClients(basePackages = {"com.ycl.web"})
+@EnableFeignClients(basePackages = {"com.ycl.feign"})
@ImportAutoConfiguration({FeignAutoConfiguration.class})
@SpringBootApplication
public class PlatformApplication {
diff --git a/ycl-server/src/main/java/com/ycl/config/HKFeignConfig.java b/ycl-server/src/main/java/com/ycl/config/HKFeignConfig.java
deleted file mode 100644
index b446168..0000000
--- a/ycl-server/src/main/java/com/ycl/config/HKFeignConfig.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ycl.config;
-
-import com.ycl.interceptor.HKFeignInterceptor;
-import feign.RequestInterceptor;
-import org.springframework.context.annotation.Bean;
-
-public class HKFeignConfig {
- /**
- * 娉ㄥ叆鎷︽埅鍣�
- */
- @Bean
- public RequestInterceptor requestInterceptor(){
- return new HKFeignInterceptor();
- }
-}
diff --git a/ycl-server/src/main/java/com/ycl/config/YYFeignConfig.java b/ycl-server/src/main/java/com/ycl/config/YYFeignConfig.java
deleted file mode 100644
index c24cc7b..0000000
--- a/ycl-server/src/main/java/com/ycl/config/YYFeignConfig.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ycl.config;
-
-import com.ycl.interceptor.YYFeignInterceptor;
-import feign.RequestInterceptor;
-import org.springframework.context.annotation.Bean;
-
-public class YYFeignConfig {
- /**
- * 娉ㄥ叆鎷︽埅鍣�
- */
- @Bean
- public RequestInterceptor requestInterceptor(){
- return new YYFeignInterceptor();
- }
-}
diff --git a/ycl-server/src/main/java/com/ycl/exception/FeignException.java b/ycl-server/src/main/java/com/ycl/exception/FeignException.java
new file mode 100644
index 0000000..3037f4d
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/exception/FeignException.java
@@ -0,0 +1,36 @@
+package com.ycl.exception;
+
+/**
+ * feign璋冪敤寮傚父
+ *
+ * @author 29443
+ * @version 1.0
+ * @date 2022/4/25
+ */
+public class FeignException extends RuntimeException {
+
+ private String msg;
+
+ private Integer code;
+
+ public FeignException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+ public FeignException(String msg) {
+ super(msg);
+ }
+
+ public FeignException(String msg, Integer code) {
+ this.msg = msg;
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public Integer getCode() {
+ return code;
+ }
+}
diff --git a/ycl-server/src/main/java/com/ycl/feign/FeignErrorDecoder.java b/ycl-server/src/main/java/com/ycl/feign/FeignErrorDecoder.java
new file mode 100644
index 0000000..077d2af
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/feign/FeignErrorDecoder.java
@@ -0,0 +1,45 @@
+package com.ycl.feign;
+
+import com.ycl.exception.FeignException;
+import feign.Response;
+import feign.codec.ErrorDecoder;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * feign鐨勯敊璇В鐮佸櫒
+ *
+ * @author锛歺p
+ * @date锛�2024/7/14 11:30
+ */
+@Slf4j
+@Configuration
+public class FeignErrorDecoder implements ErrorDecoder {
+
+ @Override
+ public Exception decode(String methodKey, Response response) {
+ String msg = "";
+ switch (response.status()) {
+ case 400:
+ msg = "杩滅▼璋冪敤寮傚父锛氬弬鏁伴敊璇�";
+ break;
+ case 401:
+ msg = "杩滅▼璋冪敤寮傚父锛氭湭鐧诲綍锛屾棤娉曟搷浣�";
+ break;
+ case 403:
+ msg = "杩滅▼璋冪敤寮傚父锛氭棤鏉冮檺鎵ц鎿嶄綔";
+ break;
+ case 404:
+ msg = "杩滅▼璋冪敤寮傚父锛氳皟鐢ㄦ帴鍙d笉瀛樺湪";
+ break;
+ case 500:
+ msg = "杩滅▼璋冪敤寮傚父锛氬鏂规湇鍔�500寮傚父";
+ break;
+ default:
+ msg = "杩滅▼璋冪敤寮傚父锛氭湭鐭ュ紓甯�";
+ break;
+ }
+ log.error(msg);
+ return new FeignException(msg);
+ }
+}
diff --git a/ycl-server/src/main/java/com/ycl/web/HKClient.java b/ycl-server/src/main/java/com/ycl/feign/HKClient.java
similarity index 99%
rename from ycl-server/src/main/java/com/ycl/web/HKClient.java
rename to ycl-server/src/main/java/com/ycl/feign/HKClient.java
index c1b9a2d..101a7cd 100644
--- a/ycl-server/src/main/java/com/ycl/web/HKClient.java
+++ b/ycl-server/src/main/java/com/ycl/feign/HKClient.java
@@ -1,7 +1,6 @@
-package com.ycl.web;
+package com.ycl.feign;
import com.alibaba.fastjson2.JSONObject;
-import com.ycl.config.HKFeignConfig;
import com.ycl.platform.domain.param.HK.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
diff --git a/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java b/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java
new file mode 100644
index 0000000..e778b78
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java
@@ -0,0 +1,26 @@
+package com.ycl.feign;
+
+import com.ycl.feign.FeignErrorDecoder;
+import com.ycl.interceptor.HKFeignInterceptor;
+import feign.RequestInterceptor;
+import feign.codec.ErrorDecoder;
+import org.springframework.context.annotation.Bean;
+
+public class HKFeignConfig {
+ /**
+ * 娉ㄥ叆鎷︽埅鍣�
+ */
+ @Bean
+ public RequestInterceptor requestInterceptor(){
+ return new HKFeignInterceptor();
+ }
+
+ /**
+ * 璋冪敤寮傚父澶勭悊
+ * @return
+ */
+ @Bean
+ public ErrorDecoder errorDecoder() {
+ return new FeignErrorDecoder();
+ }
+}
diff --git a/ycl-server/src/main/java/com/ycl/web/UYClient.java b/ycl-server/src/main/java/com/ycl/feign/UYClient.java
similarity index 96%
rename from ycl-server/src/main/java/com/ycl/web/UYClient.java
rename to ycl-server/src/main/java/com/ycl/feign/UYClient.java
index 55c0f27..5cb01dc 100644
--- a/ycl-server/src/main/java/com/ycl/web/UYClient.java
+++ b/ycl-server/src/main/java/com/ycl/feign/UYClient.java
@@ -1,7 +1,6 @@
-package com.ycl.web;
+package com.ycl.feign;
import com.alibaba.fastjson2.JSONObject;
-import com.ycl.config.YYFeignConfig;
import com.ycl.platform.domain.param.UY.CameraParam;
import com.ycl.platform.domain.param.UY.OnlineParam;
import com.ycl.platform.domain.param.UY.RecordMetaDSumParam;
diff --git a/ycl-server/src/main/java/com/ycl/feign/YYFeignConfig.java b/ycl-server/src/main/java/com/ycl/feign/YYFeignConfig.java
new file mode 100644
index 0000000..f825a1c
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/feign/YYFeignConfig.java
@@ -0,0 +1,26 @@
+package com.ycl.feign;
+
+import com.ycl.feign.FeignErrorDecoder;
+import com.ycl.interceptor.YYFeignInterceptor;
+import feign.RequestInterceptor;
+import feign.codec.ErrorDecoder;
+import org.springframework.context.annotation.Bean;
+
+public class YYFeignConfig {
+ /**
+ * 娉ㄥ叆鎷︽埅鍣�
+ */
+ @Bean
+ public RequestInterceptor requestInterceptor(){
+ return new YYFeignInterceptor();
+ }
+
+ /**
+ * 璋冪敤寮傚父澶勭悊
+ * @return
+ */
+ @Bean
+ public ErrorDecoder errorDecoder() {
+ return new FeignErrorDecoder();
+ }
+}
diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java
index ac2f64e..5424408 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -1,7 +1,6 @@
package com.ycl.task;
import com.alibaba.fastjson2.JSONObject;
-import com.ycl.platform.domain.entity.YwThreshold;
import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam;
import com.ycl.platform.domain.param.HK.SnapshotDataMonitorParam;
import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam;
@@ -9,15 +8,12 @@
import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult;
import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult;
-import com.ycl.platform.mapper.YwThresholdMapper;
import com.ycl.platform.service.ICheckIndexCarService;
import com.ycl.platform.service.ICheckIndexFaceService;
import com.ycl.platform.service.ICheckIndexVideoService;
import com.ycl.platform.service.IYwThresholdService;
-import com.ycl.web.HKClient;
import constant.ApiConstants;
-import enumeration.BusinessType;
-import enumeration.general.BusinessTypeEnum;
+import com.ycl.feign.HKClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index b173baf..4d94bba 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -1,22 +1,14 @@
package com.ycl.task;
-import com.alibaba.fastjson2.JSONObject;
-import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam;
-import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam;
-import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
-import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult;
import com.ycl.platform.service.IYwThresholdService;
-import com.ycl.web.HKClient;
-import com.ycl.web.UYClient;
+import com.ycl.feign.UYClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
-import java.util.List;
@Slf4j
--
Gitblit v1.8.0