You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
3.0 KiB

package com.example.demo.mapper;
import com.example.demo.domain.entity.Statistics;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.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<Statistics> selectByMarketsAndDate(@Param("markets") List<String> markets, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
//根据地区、审核状态、起止时间查询订单表数据
List<UserGoldRecord> findByMarketAndAuditStatus(@Param("market") String market,
@Param("auditStatusList") List<Integer> auditStatusList,
@Param("startTime") Date startTime,
@Param("endTime") Date endTime);
//获取某地区当前永久金币余量
Integer sumCurrentPermanentGold(@Param("market") String market);
//获取某地区当前六月免费金币余量
Integer sumCurrentFreeJune(@Param("market") String market);
//获取某地区当前永久金币余量
Integer sumCurrentFreeDecember(@Param("market") String market);
//获取某地区当前永久金币余量
Integer sumCurrentTaskGold(@Param("market") String market);
//计算该天充值人数
Integer countRechargeNum(
@Param("market") String market,
@Param("startTime") Date startTime,
@Param("endTime") Date endTime);
//计算该天首充人数
Integer countFirstRecharge(
@Param("market") String market,
@Param("startTime") Date startTime,
@Param("endTime") Date endTime);
//新增part1统计数据
void insertPart1(Statistics statistics);
//更新part1统计数据
void updatePart1(Statistics statistics);
//新增part2统计数据
void insertPart2(Statistics statistics);
//更新part2统计数据
void updatePart2(Statistics statistics);
//新增年度统计数据
void insertYear(Statistics statistics);
//更新年度统计数据
void updateYear(Statistics statistics);
//获取某地区某时间所在日期的数据(仅一条)
Statistics selectByMarketAndDate(@Param("market") String market,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
//获取某地区某时间段的统计数据(仅一条)
Statistics selectSumByMarketAndDate(@Param("market") String market,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
}