package com.ycwl.basic.puzzle.mapper;

import com.ycwl.basic.model.pc.puzzle.entity.PuzzleWatermarkEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 拼图水印Mapper接口
 * 用于存储和查询拼图在不同场景下的水印版本
 */
@Mapper
public interface PuzzleWatermarkMapper {

    /**
     * 新增拼图水印记录
     */
    int insert(PuzzleWatermarkEntity entity);

    /**
     * 批量查询拼图水印
     *
     * @param recordIds     拼图生成记录ID列表
     * @param faceId        人脸ID（可选）
     * @param watermarkType 水印类型
     * @return 水印列表
     */
    List<PuzzleWatermarkEntity> listByRecordIds(@Param("recordIds") List<Long> recordIds,
                                                 @Param("faceId") Long faceId,
                                                 @Param("watermarkType") String watermarkType);

    /**
     * 查询单条拼图水印
     *
     * @param recordId      拼图生成记录ID
     * @param faceId        人脸ID（可选）
     * @param watermarkType 水印类型
     * @return 水印记录
     */
    PuzzleWatermarkEntity getByRecordAndType(@Param("recordId") Long recordId,
                                              @Param("faceId") Long faceId,
                                              @Param("watermarkType") String watermarkType);
}
