From 22bddb76460657a72663fdbe408450778e44f887 Mon Sep 17 00:00:00 2001 From: 侯瑞军 <411269194@kidgrow.com> Date: Sun, 26 Apr 2020 12:03:11 +0800 Subject: [PATCH] 新增feign调用的代码 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java | 29 ++++++++++++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java | 20 ++++++++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java | 6 +++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java | 4 ++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java | 8 +++- 5 files changed, 65 insertions(+), 2 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java new file mode 100644 index 0000000..d853939 --- /dev/null +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java @@ -0,0 +1,29 @@ +package com.kidgrow.oprationcenter.feign; + +import com.kidgrow.common.constant.ServiceNameConstants; +import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.oprationcenter.feign.fallback.DiagnosticServiceFallbackFactory; +import com.kidgrow.ribbon.config.FeignHttpInterceptorConfig; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.Map; +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * @Description: 孩子的每次诊断数据 + * @Project: 用户中心 + * @CreateDate: Created in 2020-04-07 15:26:33 <br> + * @Author: <a href="2396341626@kidgrow.com">zhaobingliang</a> + * @version: 1.0 + */ +@FeignClient(value = ServiceNameConstants.RECORD_CENTER_SERVICE,configuration= FeignHttpInterceptorConfig.class, + fallbackFactory = DiagnosticServiceFallbackFactory.class, decode404 = true) +public interface DiagnosticService { + /** + * feign rpc访问远程 接口 + */ + @GetMapping(value = "/diagnostic/diagnosticitem") + ResultBody<PageResult> getDiagnosticItemList(@RequestParam Map<String, Object> params); +} diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java new file mode 100644 index 0000000..e5e49e2 --- /dev/null +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java @@ -0,0 +1,20 @@ +package com.kidgrow.oprationcenter.feign.fallback; + +import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.oprationcenter.feign.DiagnosticService; +import feign.hystrix.FallbackFactory; + +import java.util.Map; + +public class DiagnosticServiceFallbackFactory implements FallbackFactory<DiagnosticService> { + @Override + public DiagnosticService create(Throwable throwable) { + return new DiagnosticService() { + @Override + public ResultBody<PageResult> getDiagnosticItemList(Map<String, Object> params) { + return ResultBody.failed().msg("getDiagnosticItemList的FeignClient调用参数传递测试失败"); + } + }; + } +} diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java index 50fa2c3..0207031 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java @@ -4,6 +4,7 @@ import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.oprationcenter.feign.DiagnosticService; import com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper; import com.kidgrow.oprationcenter.model.ProductOrderDetail; import com.kidgrow.oprationcenter.service.IProductOrderDetailService; @@ -11,6 +12,7 @@ import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -28,6 +30,8 @@ @Slf4j @Service public class ProductOrderDetailServiceImpl extends SuperServiceImpl<ProductOrderDetailMapper, ProductOrderDetail> implements IProductOrderDetailService { + @Autowired + DiagnosticService diagnosticService; /** * 列表 * @param params diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java index 64379cb..eae304d 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java @@ -1,7 +1,10 @@ package com.kidgrow; +import com.kidgrow.ribbon.annotation.EnableFeignInterceptor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -12,6 +15,9 @@ * @Author: <a href="4345453@kidgrow.com">liuke</a> */ @SpringBootApplication +@EnableFeignClients +@EnableDiscoveryClient +@EnableFeignInterceptor public class OprationCenterApplication { public static void main(String[] args) { SpringApplication.run(OprationCenterApplication.class,args); diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java index bd604d7..8fbcd67 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java @@ -13,20 +13,24 @@ * 用户权限服务 */ String USER_SERVICE = "usercenter-server"; + /** * 搜索中心服务 */ String SEARCH_SERVICE = "searchcenter-server"; - /** * 商品Demo服务名 */ String DEMO_PRODUCT_SERVICE="demo-product-server"; - /** * 订单Demo服务名 */ String DEMO_ORDER_SERVICE="demo-order-server"; + + /** + * 诊断数据服务 + */ + String RECORD_CENTER_SERVICE="recordcenter-server"; } -- Gitblit v1.8.0