package com.punchsettle.server.service.manager; import com.punchsettle.server.atomic.entity.PunchInMultiTask; import com.punchsettle.server.atomic.entity.PunchInMultiTaskExt; import com.punchsettle.server.atomic.entity.PunchInMultiTaskHistory; import com.punchsettle.server.atomic.entity.PunchInStatsMonth; import com.punchsettle.server.atomic.entity.PunchInStatsWeek; import com.punchsettle.server.atomic.entity.PunchInStatus; import com.punchsettle.server.atomic.entity.PunchInTask; import com.punchsettle.server.atomic.entity.PunchInTaskExt; import com.punchsettle.server.atomic.entity.PunchInTaskHistory; import java.util.List; /** * @author tyuio * @version 1.0.0 * @date 2025/4/15 14:08 * @description 结算服务类 */ public interface ISettleManager { /** * 计算任务积分 * @param punchInTask 打卡任务 * @param punchInTaskExtList 打卡任务拓展信息列表 * @param punchInTaskHistory 打卡记录 * @param punchInStatsWeek 打卡周统计 * @param punchInStatsMonth 打卡月统计 * @param punchInStatus 打卡统计 * @return 积分 */ int calculatePointsInTask(PunchInTask punchInTask, List punchInTaskExtList, PunchInTaskHistory punchInTaskHistory, PunchInStatsWeek punchInStatsWeek, PunchInStatsMonth punchInStatsMonth, PunchInStatus punchInStatus); /** * 计算多任务积分 * @param punchInMultiTask 打卡多任务 * @param punchInMultiTaskExts 打卡多任务拓展信息列表 * @param punchInMultiTaskHistory 打卡记录 * @param punchInStatus 打卡统计 * @return */ int calculatePointsInMultiTask(PunchInMultiTask punchInMultiTask, List punchInMultiTaskExts, PunchInMultiTaskHistory punchInMultiTaskHistory, PunchInStatus punchInStatus); }