package com.sckw.order.api.feign;

import com.sckw.core.web.response.BaseResult;
import com.sckw.order.api.model.DailySalesStatisticsDto;
import com.sckw.order.api.model.DailyShipmentStatisticsDto;
import com.sckw.order.api.model.GoodsAmountStatisticsDto;
import com.sckw.order.api.model.GoodsVolumeStatisticsDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(name = "sckw-ng-order", contextId = "orderStatisticsFeignService")
public interface OrderStatisticsFeignService {

    @GetMapping("/kwoTradeOrderStatistics/getDailyShipmentByCategory")
    BaseResult<List<DailyShipmentStatisticsDto>> getDailyShipmentByCategory(
            @RequestParam("entId") Long entId,
            @RequestParam("days") Integer days);

    @GetMapping("/kwoTradeOrderStatistics/getDailySalesByCategory")
    BaseResult<List<DailySalesStatisticsDto>> getDailySalesByCategory(
            @RequestParam("entId") Long entId,
            @RequestParam("days") Integer days);

    @GetMapping("/kwoTradeOrderStatistics/getGoodsVolumeTop5")
    BaseResult<List<GoodsVolumeStatisticsDto>> getGoodsVolumeTop5(@RequestParam("entId") Long entId);

    @GetMapping("/kwoTradeOrderStatistics/getGoodsAmountTop5")
    BaseResult<List<GoodsAmountStatisticsDto>> getGoodsAmountTop5(@RequestParam("entId") Long entId);
}