package com.ruoyi.tjfx.mapper;

import com.ruoyi.tjfx.entity.*;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface ReportMapper {
    BasicStatsVO selectBasicStats(Map<String, Object> params);
    BasicStatsVO selectLastYearStats(Map<String, Object> params);
    BasicStatsVO selectPrevStats(Map<String, Object> params);
    List<TrendDataVO> selectTrendData(Map<String, Object> params);
    List<TopProductVO> selectTopProducts(Map<String, Object> params);
    List<BrandDataVO> selectBrandData(Map<String, Object> params);

    List<RankingDataVO> selectProductRanking(Map<String, Object> params);
    List<TrendDataVO> selectProductTrend(Map<String, Object> params);

    BasicStatsVO selectShopBasicStats(Map<String, Object> params);
    List<ShopAmountVO> selectShopAmountData(Map<String, Object> params);
    List<ShopQuantityVO> selectShopQuantityData(Map<String, Object> params);
    List<CategoryTrendVO> selectCategoryTrendData(Map<String, Object> params);

    List<Map<String, Object>> selectSpecsRawData(Map<String, Object> params);
    List<Map<String, Object>> selectBrandRawData(Map<String, Object> params);

    List<String> selectCategories();
    List<String> selectCategorySpecs();
    List<String> selectCustomers();
    List<String> selectShops();
    List<String> selectBrands();

    List<Map<String, Object>> selectProductCodeSuggestions(String keyword);
}
