package com.jeequan.jeepay.service.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jeequan.jeepay.core.entity.PayOrderCount;
import com.jeequan.jeepay.db.entity.StatsPayWay;
import org.apache.ibatis.annotations.Param;

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

/**
 * <p>
 * 支付方式数据统计表 Mapper 接口
 * </p>
 *
 * @author [mybatis plus generator]
 * @since 2022-12-20
 */
public interface StatsPayWayMapper extends BaseMapper<StatsPayWay> {

    List<StatsPayWay> selectPayWayStats(@Param("param") Map<String, Object> params);

    /**
     * 首页支付方式统计
     * @param param
     * @return
     */
    List<PayOrderCount> payTypeCount(@Param("param") Map<String, Object> param);

    // 支付方式
    Long selectTodayTradeStatsCount(@Param("param") Map<String, Object> params);

    /**
     *支付方式今日数据查询
     * @param params
     * @return
     */
    List<PayOrderCount> selectTodayTradeStatsList(@Param("param") Map<String, Object> params);

    /**
     * 支付方式非今日统计列表
     * @param params
     * @return
     */
    List<PayOrderCount> selectStatsList(@Param("param") Map<String, Object> params);

    /**
     * 支付方式今日统计总计
     * @param params
     * @return
     */
    PayOrderCount selectTodayStats4WayCode(@Param("param") Map<String, Object> params);

    /**
     * 支付方式非今日统计总计
     * @param params
     * @return
     */
    PayOrderCount selectStats4WayCode(@Param("param") Map<String, Object> params);

    // 支付方式类型
    Long selectWayCodeTypeTodayTradeStatsCount(@Param("param") Map<String, Object> params);

    /**
     * 支付方式类型今日数据查询
     * @param params
     * @return
     */
    List<PayOrderCount> selectWayCodeTypeTodayTradeStatsList(@Param("param") Map<String, Object> params);

    /**
     * 支付方式类型非今日统计列表
     * @param params
     * @return
     */
    List<PayOrderCount> selectWayCodeTypeStatsList(@Param("param") Map<String, Object> params);

    /**
     * 支付方式类型今日统计总计
     * @param params
     * @return
     */
    PayOrderCount selectTodayStats4WayCodeType(@Param("param") Map<String, Object> params);

    /**
     * 支付方式非今日统计总计
     * @param params
     * @return
     */
    PayOrderCount selectStats4WayCodeType(@Param("param") Map<String, Object> params);

}
