package com.hzs.member.statis.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.statis.CuBonusStatis;
import com.hzs.member.statis.vo.*;

import java.util.List;

/**
 * 奖金拨比统计 服务类
 */
public interface ICuBonusStatisService extends IService<CuBonusStatis> {

    /**
     * 奖金拨比列表
     **/
    List<CuBonusStatisVO> queryCuBonusStatis(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询国外奖金拨比
     **/
    List<CuBonusStatisVO> queryForeignCountryCuBonusStatis(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询体系合计的订单业绩
     **/
    CuBonusStatisVO queryOrderAchieveSum(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 奖金拨比列表统计小计（最后一行）
     **/
    CuBonusStatisVO queryCuBonusSumStatis(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询个人奖金拨比
     **/
    CuBonusSinglePersonStatisVO bonusSingleSum(CuBonusSinglePersonStatisVO csps);

    /**
     * 奖金拨比图表
     **/
    List<CuBonusStatisChartVO> queryCuBonusStatisChart(CuBonusStatisChartVO chartVO);

    /**
     * 奖金拨比图表合计
     **/
    CuBonusStatisChartVO queryCuBonusSumStatisChart(CuBonusStatisChartVO chartVO);

    /**
     * 查询奖金拨比图形数据-柱形图
     **/
    CuBonusStatisColumnarVO pillarRatio(CuBonusStatisColumnarVO columnarVO);

    /**
     * 查询一年注册、升级、复购、嗨粉合计
     **/
    CuBonusStatisColumnarVO queryYearData(CuBonusStatisColumnarVO columnarVO);

    /**
     * 查询奖金拨比(饼状图)
     **/
    CuBonusStatisRoundVO queryDiallingRatio(CuBonusStatisRoundVO roundVO);

    /**
     * 统计历史奖金拨比数据
     **/
    Boolean statisHistoryBonus(String startDate, String endDate);

    /**
     * 删除奖金拨比统计表数据
     **/
    Boolean delStatis(String startDate, String endDate);

    /**
     * 查询奖金扣项配置参数
     **/
    List<CuBonusStatisVO> bonusDeductlist(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询分红比例配置
     **/
    List<CuBonusStatisVO> bonusDividendRatiolist(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询国外奖金
     **/
    List<CuBonusStatisVO> queryForeignCountryBonus(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询中国奖金
     **/
    List<CuBonusStatisVO> queryChinaCountryBonus(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询生效国外国家列表
     **/
    List<CuBonusStatisVO> countrylist(CuBonusStatisVO cuBonusStatisVO);

    /**
     * 查询所有体系
     **/
    List<CuBonusStatisVO> vertexList();

}
