package com.punchsettle.server.service.manager; import java.util.List; import com.punchsettle.server.atomic.entity.PiTask; import com.punchsettle.server.atomic.entity.PiTaskHistory; import com.punchsettle.server.pojo.punchIn.PiTaskHistoryStatVO; import com.punchsettle.server.pojo.punchIn.PiTaskRequest; import com.punchsettle.server.pojo.punchIn.PiTaskSimpleVO; import com.punchsettle.server.pojo.punchIn.PiTaskStatQuery; import com.punchsettle.server.pojo.punchIn.PiTaskStatVO; import com.punchsettle.server.pojo.punchIn.PiTaskToDoVO; import com.punchsettle.server.pojo.punchIn.PiTaskVO; import com.punchsettle.server.pojo.punchIn.PunchInRequest; /** * @author tyuio * @version 1.0.0 * @description 打卡结算任务 服务类 * @date 2024/11/25 15:00 */ public interface IPunchInManager { /** * 查询待办打卡任务列表 * @param currentUserId 当前用户id * @return */ List queryToDoList(Long currentUserId); /** * 查询打卡任务及其打卡记录 * @return */ List queryTaskList(); /** * 根据ID获取打卡任务 */ PiTaskVO queryTask(Long id); /** * 保存打卡任务 * @param request 打卡任务 */ void saveTask(PiTaskRequest request); /** * 根据主键删除打卡任务 * @param id 主键 */ void deleteTask(Long id); /** * 打卡 * @param request */ void doPunchIn(PunchInRequest request); /** * 归档打卡任务 * @param punchInId */ void archiveTask(Long punchInId); /** * 撤销误打卡 * @param id 打卡任务 */ void revokePunchIn(Long id); /** * 查询统计数据 * @param query * @return */ PiTaskStatVO queryStat(PiTaskStatQuery query); /** * 查询打卡历史 */ List queryPunchInHistory(String punchInDate); /** * 从缓存获取指定用户的任务列表 * @param userId * @return */ List getTaskListInCache(Long userId); /** * 从缓存获取指定用户的打卡记录 * @param userId 用户ID * @param punchInDate 打卡日期 * @return */ List getTaskHistoryListInCache(Long userId, String punchInDate); }