package com.smallchill.web.service;

import com.smallchill.api.function.modal.vo.ArticleVo;
import com.smallchill.core.base.service.IService;
import com.smallchill.core.toolbox.Record;
import com.smallchill.web.model.Article;
import org.springframework.web.multipart.MultipartRequest;

import java.util.List;

/**
 * 文章service
 * Generated by yesong.
 * 2017-01-11 14:36:12
 */
public interface ArticleService extends IService<Article> {

    List<ArticleVo> listByUserId(Integer userId);

    void create(Article article, Integer userId, MultipartRequest multipartRequest, String obj);

    void contribute(Integer lastActicleId, Integer userId, List<Integer> userIds, int type, int fromType);

    List<ArticleVo> findByUserId(Integer userId);

    void contributeToMagazine(Integer lastActicleId, String obj);

    void contributeToDaily(Integer lastActicleId, String obj);

    void deleteById(Integer id, Integer userId);

    ArticleVo detail(Integer id, Integer userId, Integer authorId, Integer authorType);

    void addReadCount(int articleId);

    void addInterestCount(int articleId);

    void subtractInterestCount(int articleId);

    void share(int articleId, int userId, String toUserIds);

    void addShareCount(int articleId);

    List<ArticleVo> listInterest(Integer userId);

    List<ArticleVo> listUnInterest(Integer userId);

    void filterShielding(List<Integer> ids, Integer userId);

    List<Integer> friend(Integer userId);

    List<Integer> listInterested(Integer userId);

    List<Integer> listIntereste(Integer userId);

    //=========================================后台管理======================================

}
