package jnpf.culture.mapper;

import jnpf.base.mapper.SuperMapper;
import jnpf.entity.culture.CultureTextSetting;
import jnpf.model.culture.vo.CultureTextSettingVo;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 文化打卡 - 文案配置
 *
 * @author yanwenfu
 * @create 2025-12-23
 */
public interface CultureTextSettingMapper extends SuperMapper<CultureTextSetting> {

    /**
     * 判定标题+内容是否重复
     * @param cultureTitle 标题
     * @param cultureContent 内容
     * @return int
     */
    int getDistinctCount(@Param("cultureTitle") String cultureTitle, @Param("cultureContent") String cultureContent, @Param("id") String id);

    /**
     * 查询文字配置列表
     * @param keyword 文化标题/文化内容
     * @return java.util.List<jnpf.model.culture.vo.CultureTextSettingVo>
     */
    List<CultureTextSettingVo> getCultureTextSettingList(@Param("keyword") String keyword);

    /**
     * 查询数据库存在的配置的index
     * @param list 配置列表
     * @return java.util.List<java.lang.Integer>
     */
    List<Integer> getDistinctCountBatch(@Param("list") List<CultureTextSetting> list);

    /** 查询所有可用的id */
    List<String> selectAllIds();

    /**
     * 查询时段内被删除的ids
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return java.util.List<java.lang.String>
     */
    List<String> getDelIdsByDate(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
}
