forest/src/main/java/com/rymcu/vertical/service/ArticleService.java
2020-04-10 15:12:02 +08:00

109 lines
2.4 KiB
Java

package com.rymcu.vertical.service;
import com.rymcu.vertical.core.service.Service;
import com.rymcu.vertical.dto.ArticleDTO;
import com.rymcu.vertical.entity.Article;
import com.rymcu.vertical.web.api.exception.BaseApiException;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
/**
* @author ronger
*/
public interface ArticleService extends Service<Article> {
/**
* 根据检索内容/标签查询文章列表
* @param searchText
* @param tag
* @return
* */
List<ArticleDTO> findArticles(String searchText, String tag);
/**
* 查询文章详情信息
* @param id
* @param type
* @return
* */
ArticleDTO findArticleDTOById(Integer id, Integer type);
/**
* 查询主题下文章列表
* @param name
* @return
* */
List<ArticleDTO> findArticlesByTopicUri(String name);
/**
* 查询标签下文章列表
* @param name
* @return
* */
List<ArticleDTO> findArticlesByTagName(String name);
/**
* 查询用户文章列表
* @param idUser
* @return
* */
List<ArticleDTO> findUserArticlesByIdUser(Integer idUser);
/**
* 新增/更新文章
* @param article
* @param request
* @throws UnsupportedEncodingException
* @throws BaseApiException
* @return
* */
Map postArticle(ArticleDTO article, HttpServletRequest request) throws UnsupportedEncodingException, BaseApiException;
/**
* 删除文章
* @param id
* @return
* */
Map delete(Integer id);
/**
* 增量文章浏览数
* @param id
*/
void incrementArticleViewCount(Integer id);
/**
* 获取分享链接数据
* @param id
* @throws BaseApiException
* @return
*/
Map share(Integer id) throws BaseApiException;
/**
* 查询草稿文章类别
* @throws BaseApiException
* @return
*/
List<ArticleDTO> findDrafts() throws BaseApiException;
/**
* 查询作品集下文章
* @param idPortfolio
* @return
*/
List<ArticleDTO> findArticlesByIdPortfolio(Integer idPortfolio);
/**
* 查询作品集下未绑定文章
* @param idPortfolio
* @param searchText
* @param idUser
* @return
*/
List<ArticleDTO> selectUnbindArticles(Integer idPortfolio, String searchText, Integer idUser);
}