package com.dhcc.finance.main.client;

import java.util.Map;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.dhcc.common.model.CurrencyMeta;
import com.dhcc.common.model.response.RestfulResponse;
import com.dhcc.finance.main.model.CountInstestFeeModel;
import com.dhcc.finance.main.model.MoneyOfInstetstOrFee;

/**
 * 功能描述：批处理操作接口
 * @author dml
 * @date 2019年12月25日 上午11:28:12
 * @修改日志：
 */
@FeignClient(name = BatchTaskMonitorFeignClient.SERVICE_ID, fallback = BatchTaskMonitorHystrixFallback.class,url="http://localhost:9042" )
public interface BatchTaskMonitorFeignClient {
	public static final String SERVICE_ID = "dhcc-batch";

	public static final String SERVICE_MS = "/" + SERVICE_ID;

	public static final String MS_API_PREFIX = "/api/v1";

	public static final String TASK_INFO = "/batch-task-info";
	
	public static final String INSTEST_FEE = "/Count-Instest-fee";
	
	
	
	/**
	 * 功能描述：更新批量状态
	 * @param responseMap
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2019年12月25日 上午11:28:29
	 * @修改日志：
	 */
    @RequestMapping(value = SERVICE_MS + MS_API_PREFIX + TASK_INFO+ "/updateBatchTaskMonitorState", method = RequestMethod.POST,consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
    public RestfulResponse<Object, CurrencyMeta> updateBatchTaskMonitorState(@RequestBody Map<String, Object> responseMap);
    /**
     * 功能描述：计算借据或费用金额
     * @param countInstestFeeModel
     * @return BigDecimal
     * @author likai
     * @date 2020年6月6日 上午11:48:28
     * @修改日志：
     */
    @RequestMapping(value = SERVICE_MS + MS_API_PREFIX + INSTEST_FEE+ "/countInstestFee", method = RequestMethod.POST,consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
    public RestfulResponse<MoneyOfInstetstOrFee, CurrencyMeta>  countInstestFee(@RequestBody CountInstestFeeModel countInstestFeeModel);
    
    
}
