package com.hzs.report.member.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.report.stat.CuLianchuangDataStat;
import com.hzs.report.member.vo.AbroadDataStatVO;
import com.hzs.report.member.vo.CuLianchuangDataStatVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 联创报表统计 Mapper 接口
 * </p>
 *
 * @author zhangjing
 * @since 2023-10-19
 */
public interface CuLianchuangDataStatMapper extends BaseMapper<CuLianchuangDataStat> {

    /**
     * @description: 查询联创数据报表
     * @author: zhang jing
     * @date: 2023/10/19 16:01
     * @param: [lcVO]
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    List<CuLianchuangDataStatVO> lcStatList(@Param("lcList") List<CuLianchuangDataStat> lcList);

    List<CuLianchuangDataStatVO> lcStatListByOrdeType(@Param("orderTypeList") List<Integer> orderTypeList,
                                                      @Param("orderType") Integer orderType,
                                                      @Param("lcDate") CuLianchuangDataStat lcDate);

    /**
     * @description: 联创数据查询(优化后)
     * @author: zhang jing
     * @date: 2024/7/18 15:47
     * @param: [lcDate, pkMember]
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    List<CuLianchuangDataStatVO> newLcStatListByOrdeType(@Param("lcDate") CuLianchuangDataStatVO lcDate,
                                                         @Param("pkMember") Long pkMember);


    /**
     * @description: 数据报表-联创统计历史业绩数据
     * @author: zhang jing
     * @date: 2024/5/30 10:15
     * @param: [orderTypeList, orderType, lcDate]
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    List<CuLianchuangDataStatVO> lcStatOrdeHistoryList(@Param("cds") CuLianchuangDataStatVO cds,
                                                       @Param("lcDate") CuLianchuangDataStat lcDate);

    /**
     * @description: 数据报表-联创统计历史业绩累计数据
     * @author: zhang jing
     * @date: 2024/5/31 11:33
     * @param: [cds, lcDate]
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    List<CuLianchuangDataStatVO> lcStatOrderHistorySumList(@Param("cds") CuLianchuangDataStatVO cds,
                                                           @Param("lcDate") CuLianchuangDataStat lcDate);


    /**
     * @description: 查询国外数据报表
     * @author: zhang jing
     * @date: 2023/12/5 10:38
     * @param: [pkCountryList, startDate, endDate]
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    List<AbroadDataStatVO> abroadStatList(@Param("pkCountryList") List<CuLianchuangDataStatVO> pkCountryList,
                                          @Param("startDate") String startDate,
                                          @Param("endDate") String endDate);

    /**
     * @description: 新联创查询会员金额和业绩
     * @author: zhang jing
     * @date: 2025/3/4 17:09
     * @param: [addRegion, reduceRegion]
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    CuLianchuangDataStatVO getLianchuangDifference(@Param("clds") CuLianchuangDataStatVO clds,
                                                         @Param("member")CuLianchuangDataStatVO member);

    /**
     * @description: 国家列表
     * @author: zhang jing
     * @date: 2023/12/5 11:23
     * @param: []
     * @return: java.util.List<com.hzs.report.member.vo.CuLianchuangDataStatVO>
     **/
    List<CuLianchuangDataStatVO> countryList();


}
