package jnpf.cultivate.v2.service;

import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.model.cultivate.po.promotion.FtbCultivatePromotionLog;

import java.util.List;

/**
 * 学习地图完成记录
 *
 * @author xgl
 * @date 2026-01-27 14:04:01
 */
public interface FtbCultivatePromotionLogService
        extends IService<FtbCultivatePromotionLog> {

    /**
     * 完成晋升等级操作
     *
     * @param userId   用户ID，标识执行晋升操作的用户
     * @param promotionId       晋升记录ID，用于标识具体的晋升活动或任务
     * @param level    晋升等级，表示用户要完成的具体等级数值
     * @param tenantId 租户ID，用于多租户环境下的数据隔离
     */
    void completePromotionLevel(String userId, String promotionId, Integer level, String tenantId);

    /**
     * 查询用户的已完成晋升记录列表
     *
     * @param userId 用户ID，用于查询指定用户的晋升日志记录
     * @param state 地图状态,1-未完成 2-已完成 null-全部
     * @return List<FtbCultivatePromotionLog> 返回用户的所有已完成晋升记录列表
     */
    List<FtbCultivatePromotionLog> queryMyCompletePromotion(String userId,Integer state);

}