package com.punchsettle.server.service.manager; import com.punchsettle.server.atomic.IStatPiTaskService; import com.punchsettle.server.constant.StatPeriodEnum; import com.punchsettle.server.pojo.ucharts.LineVO; import java.time.LocalDate; import java.util.List; /** * @author myou * @version 1.0.0 * @date 2025/5/3 9:29 * @description 统计数据 服务类 */ public interface IStatManager { /** * 查询积分折线图 * @return */ LineVO queryStatPointsLine(); /** * 查询新用户折线图 * @return */ LineVO queryStatNewUserLine(); /** * 查询任务折线图 * @return */ LineVO queryStatTaskLine(); /** * 统计打卡任务数据 * @param statPiTaskService 统计数据操作类 * @param statPeriod 统计周期 * @param userIds 用户ID列表 * @param statTime 统计时间 * @param statFirstDay 统计范围的第一天 * @param statLastDay 统计范围的最后一天 */ void statPiTaskData(IStatPiTaskService statPiTaskService, StatPeriodEnum statPeriod, List userIds, LocalDate statTime, LocalDate statFirstDay, LocalDate statLastDay); /** * 统计新用户 * @param statTime */ void statNewUser(String statTime); }