package com.fs.course.mapper;

import com.fs.course.domain.FsCourseLink;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 短链Mapper接口
 *
 * @author fs
 * @date 2024-09-11
 */
public interface FsCourseLinkMapper
{
    /**
     * 查询短链
     *
     * @param linkId 短链主键
     * @return 短链
     */
    public FsCourseLink selectFsCourseLinkByLinkId(Long linkId);

    /**
     * 查询短链列表
     *
     * @param fsCourseLink 短链
     * @return 短链集合
     */
    public List<FsCourseLink> selectFsCourseLinkList(FsCourseLink fsCourseLink);

    /**
     * 新增短链
     *
     * @param fsCourseLink 短链
     * @return 结果
     */
    public int insertFsCourseLink(FsCourseLink fsCourseLink);

    /**
     * 修改短链
     *
     * @param fsCourseLink 短链
     * @return 结果
     */
    public int updateFsCourseLink(FsCourseLink fsCourseLink);

    /**
     * 删除短链
     *
     * @param linkId 短链主键
     * @return 结果
     */
    public int deleteFsCourseLinkByLinkId(Long linkId);

    /**
     * 批量删除短链
     *
     * @param linkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFsCourseLinkByLinkIds(Long[] linkIds);

    @Select("select link, real_link, update_time,company_user_id from fs_course_link where link = #{suffix} order by link_id desc limit 1 ")
    FsCourseLink selectFsCourseLinkByLink(@Param("suffix") String suffix);

    void insertFsCourseLinkBatch(@Param("courseLinks")List<FsCourseLink> courseLinkToInsert);

    @Select("select link_id from fs_course_link where update_time < NOW() ")
    List<Long> selectExpireLink();

    @Select("select link_id,real_link from fs_course_link where create_time > '2025-03-07 12:00:00' and create_time < '2025-03-07 17:00:00'")
    List<FsCourseLink> selectFsCourseLinkListUpdate();


}
