package com.sckw.transport.api.feign;

import com.sckw.core.web.response.BaseResult;
import com.sckw.transport.api.model.LogisticsBaseOrderVo;
import com.sckw.transport.api.model.dto.McpLogisticsOrderVo;
import com.sckw.transport.api.model.param.OrderPara;
import com.sckw.transport.api.model.vo.TransportTopStatisticsVo;
import com.sckw.transport.api.model.vo.CurrentCapacityAnalysisVo;
import com.sckw.transport.api.model.vo.RealtimeSalesVolumeVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

/**
 * 车辆轨迹服务 Feign 客户端
 * 调用数据中台的车辆轨迹接口
 *
 * @author system
 * @date 2024
 */

@FeignClient(name = "sckw-ng-transport", contextId = "TransportApi")
public interface TransportApi {


    /**
     * 分页查询物流订单
     *
     * @param para
     * @return
     */
    @GetMapping("/logisticsOrder/list")
    List<McpLogisticsOrderVo> list(@SpringQueryMap OrderPara para);

    @GetMapping("/logisticsOrder/base")
    List<LogisticsBaseOrderVo> base(@SpringQueryMap OrderPara para);

    /**
     * 当前运力分析展示统计（门卫运单 + 车辆运单状态）
     */
    @PostMapping("/appGatekeeper/currentCapacityAnalysis")
    BaseResult<CurrentCapacityAnalysisVo> currentCapacityAnalysis();

    /**
     * 实时销量：近 12 小时整点，每点为上小时完成运单净重（吨），按商品分线
     */
    @GetMapping("/dashboard/realtimeSalesVolume")
    BaseResult<RealtimeSalesVolumeVo> realtimeSalesVolume();

    /**
     * 当前运力分析（子运单 kwt_waybill_order_subtask 口径）
     */
    @PostMapping("/dashboard/currentCapacityAnalysisBySubtask")
    BaseResult<CurrentCapacityAnalysisVo> currentCapacityAnalysisBySubtask();

    /**
     * 查询首页顶部运输统计数据。
     *
     * @return 顶部四项统计结果
     */
    @GetMapping("/logisticsOrder/topStatistics")
    TransportTopStatisticsVo topStatistics();
}
