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