package com.kidgrow.oprationcenter.feign;
import com.kidgrow.common.constant.ServiceNameConstants;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.oprationcenter.feign.fallback.ConsumptionServiceFallbackFactory;
import com.kidgrow.oprationcenter.model.HospitalInfo;
import com.kidgrow.oprationcenter.vo.ConsumptionRequest;
import com.kidgrow.oprationcenter.vo.UserProductData;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* @Description: 扣费业务相关内部调用
* @Project: 运营中心
* @CreateDate: Created in 2020-06-27 15:26:33
* @Author: houruijun
* @version: 1.0
*/
@FeignClient(value = ServiceNameConstants.OPRATION_SERVER,configuration= FeignHttpInterceptorConfig.class,
fallbackFactory = ConsumptionServiceFallbackFactory.class, decode404 = true)
public interface ConsumptionService {
/**
* 要让AI读片-调用
*/
@PostMapping(value = "consumption/AIStart")
ResultBody consumptionAIStart (@RequestBody ConsumptionRequest consumptionRequest);
/**
* AI返回结果-调用
*/
@PostMapping(value = "consumption/AIReturn")
ResultBody consumptionAIReturn (@RequestBody ConsumptionRequest consumptionRequest);
/**
* AI拒读/失败通知-调用
*/
@PostMapping(value = "consumption/AIFail")
ResultBody consumptionAIFail (@RequestBody ConsumptionRequest consumptionRequest);
/**
* 发起人工读片-调用
*/
@PostMapping(value = "consumption/Artificial")
ResultBody consumptionArtificial (@RequestBody ConsumptionRequest consumptionRequest);
/**
* 获取医院套餐是否到期和到期时间
* data内 isend为true说明套餐到期
* endtime上套餐的到期时间
* @param hospitalId
* @param departmentId
*/
@GetMapping(value = "productorderdetail/UserProductDetailData")
ResultBody UserProductDetailData (@RequestParam("hospitalId") Long hospitalId, @RequestParam("departmentId") Long departmentId);
@PostMapping("/productorderdetail/serviceperiod")
ResultBody ServicePeriod(@RequestBody HospitalInfo hospitalInfo);
}