package com.example.demo.mapper.coin; import com.example.demo.domain.entity.Statistics; import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.domain.vo.coin.MarketRechargeStat; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDate; import java.util.Date; import java.util.List; /** * @program: gold-java * @ClassName StatisticsMapper * @description: * @author: Ethan * @create: 2025−06-23 14:08 * @Version 1.0 **/ @Mapper public interface StatisticsMapper { //批量查询 List selectByMarketsAndDate(@Param("markets") List markets, @Param("startDate") Date startDate, @Param("endDate") Date endDate); //计算该天充值人数 Integer countRechargeNum( @Param("market") String market, @Param("startTime") Date startTime, @Param("endTime") Date endTime); //获取某地区某时间所在日期的数据(仅一条) Statistics selectByMarketAndDate(@Param("market") String market, @Param("startDate") Date startDate, @Param("endDate") Date endDate); // 一次查 所有地区 Part1(余量) List listPart1All(@Param("today") LocalDate today); // 一次查 所有地区 Part2(余量外) List listPart2All(@Param("start") Date start, @Param("end") Date end, @Param("today") LocalDate today); // 一次查 所有地区年度汇总 List listYearAll(@Param("yearStart") Date yearStart, @Param("end") Date end, @Param("today") LocalDate today); // 新增或更新统计数据 void batchInsertPart1(@Param("list") List list); void batchInsertPart2(@Param("list") List list); void batchInsertYear(@Param("list") List list); //批量查询所有地区近一周 Part2(余量外) List listPart2RangeAll(); }