package com.caimei.www.service.page;

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 com.github.pagehelper.PageInfo;
import org.springframework.web.server.ServerWebExchange;

import java.util.List;

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

    /**
     * 获取文章热门标签
     */
    JsonModel<List<BaseLink>> getArticleLabels();

    /**
     * 获取文章推荐
     */
    JsonModel<PageInfo<ImageLink>> getArticleRecommended(Integer typeId, int pageNum, int pageSize);

    /**
     * 获取相关文章
     */
    JsonModel<PageInfo<Article>> getArticleRelated(Integer id, String labels, int pageNum, int pageSize);

    /**
     * 获取文章广告
     */
    JsonModel<List<ImageLink>> getLastestInfoAds();

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

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

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

    /**
     * 文章点赞
     * @param id
     * @return
     */
    JsonModel articleLike(Integer id, ServerWebExchange serverWebExchange);
}
