package com.prolog.rdc.tms.rmi.feign;

import com.prolog.framework.common.message.RestMessage;
import com.prolog.rdc.tms.model.dto.DriverledgerBillDTO;
import com.prolog.rdc.tms.model.dto.ShipbillResultDTO;
import com.prolog.rdc.tms.model.vo.BillDownloadVO;
import com.prolog.rdc.tms.model.vo.DriverledgerBillPageVO;
import com.prolog.rdc.tms.model.vo.ShipBillVO;
import com.prolog.rdc.tms.rmi.hystrix.ShipBillRecordBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 
 *
 * 费用服务调用
 *
 * @className :BusinessComingRecordFeign
 * @author :fanzw
 * @creationTime :2022/05/12
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/05/12
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@FeignClient(value = "${prolog.rdc.services.tms.bms.name}", url = "${prolog.rdc.services.tms.bms.url}", fallbackFactory = ShipBillRecordBack.class)
public interface ShipBillRecordFeign {

	/**
	 * 运单资料接口数据处理
	 * 
	 * @return
	 */
	@PostMapping("/shipBill/save/v1.0")
	RestMessage<List<ShipbillResultDTO>> save(@RequestBody ShipBillVO vo);

	@PostMapping("/bill_download/save/v1.0")
	RestMessage<Object> downloadSave(@RequestBody List<BillDownloadVO> billDownloadVOS);

	@PostMapping("/driverledgerBill/driveFee")
	RestMessage<List<DriverledgerBillDTO>> queryDriverFeeByBillExecute(@RequestBody DriverledgerBillPageVO driverledgerBillPageVO);
}
