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