package com.dora.mapper;

import com.dora.entity.WechatNewsArticle;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 微信图文消息文章Mapper接口
 * 
 * @author dora
 * @date 2024/12/01
 */
@Mapper
public interface WechatNewsArticleMapper {

    /**
     * 根据ID查询文章
     */
    WechatNewsArticle selectById(@Param("id") Long id);

    /**
     * 根据模板ID查询文章列表
     */
    List<WechatNewsArticle> selectByTemplateId(@Param("templateId") Long templateId);

    /**
     * 插入文章
     */
    int insert(WechatNewsArticle article);

    /**
     * 更新文章
     */
    int updateById(WechatNewsArticle article);

    /**
     * 根据ID删除文章
     */
    int deleteById(@Param("id") Long id);

    /**
     * 根据模板ID删除所有文章
     */
    int deleteByTemplateId(@Param("templateId") Long templateId);

    /**
     * 批量插入文章
     */
    int insertBatch(@Param("articles") List<WechatNewsArticle> articles);

    /**
     * 获取模板下文章的最大排序号
     */
    Integer getMaxSortOrder(@Param("templateId") Long templateId);
}
