package com.caimei.www.mapper;

import com.caimei.www.pojo.JsonModel;
import com.caimei.www.pojo.page.Article;
import com.caimei.www.pojo.page.BaseLink;
import com.caimei.www.pojo.page.ImageLink;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Description
 *
 * @author : Charles
 * @date : 2020/8/10
 */
@Mapper
public interface ArticleDao {
    /**
     * 获取文章类型
     *
     * @return
     */
    List<BaseLink> getArticleTypes();

    /**
     * 获取最高点击量
     *
     * @return
     */
    Integer getTopClickRate();

    /**
     * 获取热门标签
     *
     * @return
     */
    List<BaseLink> getArticleLabels();

    /**
     * 获取文章推荐
     *
     * @param typeId
     * @return
     */
    List<ImageLink> getArticleRecommended(@Param("typeId") Integer typeId);

    /**
     * 获取文章广告
     *
     * @return
     */
    List<ImageLink> getLastestInfoADs();

    /**
     * 点击广告
     */
    void clickArticleAd(Integer id);

    /**
     * 点击标签
     */
    void clickArticleLabel(Integer id);

    /**
     * 获取相关文章
     *
     * @param id
     * @param labelArr
     */
    List<Article> getArticleRelated(@Param("id") Integer id, @Param("labels") String[] labelArr);

    /**
     * 获取文章信息
     *
     * @param id
     * @return
     */
    Article getArticleInfo(Integer id);

    /**
     * 文章点赞
     * @param infoId
     */
    void articleLike(Integer infoId);

    /**
     * 根据文章标签查找标签Id
     * @param labelTexts
     * @return
     */
    List<Integer> findLabelIdsByName(@Param("labelTexts") String[] labelTexts);
}
