forked from kidgrow-microservices-platform

侯瑞军
2020-04-26 22bddb76460657a72663fdbe408450778e44f887
新增feign调用的代码
3 files modified
2 files added
67 ■■■■■ changed files
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java 29 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java 20 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java 4 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java 6 ●●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java 8 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java
New file
@@ -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);
}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java
New file
@@ -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调用参数传递测试失败");
           }
       };
    }
}
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
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);
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";
}