/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.cms.service;
import com.jinhe.tss.cms.AttachmentDTO;
/**
* <p> IRemoteArticle4PortalService.java </p>
* CMS对外发布的服务接口。
* 主要有:取(图片)文章列表,取文章内容,创建文章,全文检索等。
*/
public interface IRemoteArticleService {
/**
* 获取符合RSS2.0规范的栏目文章列表。
* @param channelId
* @param page
* @param pageSize
* @return
*/
String getArticleListByChannel4Rss(Long channelId, Integer page, Integer pageSize);
/**
* 获得栏目文章列表信息
* <p>
* <?xml version="1.0" encoding="UTF-8"?><br>
* <Response><br>
* <ArticleList><br>
* <rss><br>
* <channelName>最新公告</channelName><br>
<totalPageNum>2</totalPageNum><br>
<totalRows>32</totalRows><br>
<currentPage>1</currentPage><br>
<item><br>
<id>21</id><br>
<title>文章标题</title><br>
<author>文章作者</author><br>
<issueDate>2007-06-08</IssueDate><br>
<wzrq>2007-06-18</wzrq><br>
<summary>摘要摘要摘要摘要摘要摘要</summary><br>
<hitcount>122</hitcount><br>
</item><br>
</rss><br>
</ArticleList><br>
</Response><br>
* </p>
*
* @return String
*/
String getArticleListXMLByChannel(Long channelId, Integer page, Integer pageSize);
/**
* 获取图片文章列表
* <p>
* <?xml version="1.0" encoding="UTF-8"?><br>
* <Response><br>
* <ArticleList><br>
* <rss><br>
* <channelName>最新公告</channelName><br>
<totalPageNum>2</totalPageNum><br>
<totalRows>32</totalRows><br>
<currentPage>1</currentPage><br>
<item><br>
<id>21</id><br>
<title>文章标题</title><br>
<author>文章作者</author><br>
<issueDate>2007-06-08</IssueDate><br>
<wzrq>2007-06-18</wzrq><br>
<summary>摘要摘要摘要摘要摘要摘要</summary><br>
<hitcount>122</hitcount><br>
<Attachment type="image">
<url><![CDATA[http://localhost:8088/cms/download.fun?id=12&seqNo=1]]></url>
</Attachment>
<Attachment type="file">
<url><![CDATA[http://localhost:8088/cms/download.fun?id=12&seqNo=2]]></url>
</Attachment>
</item><br>
</rss><br>
</ArticleList><br>
</Response><br>
* </p>
* </p>
*
* @param channelId
* @param page
* @param pageSize
* @return
*/
String getPicArticleListByChannel(Long channelId, Integer page, Integer pageSize);
/**
* <p>
* 获得已发布文章生成的xml信息
* <Response><br>
* <ArticleInfo><br>
* <rss><br>
* <Article><br>
* <id><![CDATA[1]]></id>
* <title><![CDATA[文章标题]]></title><br>
* <author><![CDATA[文章作者]]></author><br>
* <keyword><![CDATA[文章关键字]]></keyword><br>
* <status><![CDATA[-1]]></status><br>
* <hitCount><![CDATA[100]]></hitCount><br>
* <channelId><![CDATA[2]]></channelId><br>
* <channelName><![CDATA[所属栏目]]></channelName><br>
* <type><![CDATA[2]]></type><br>
* <typeName><![CDATA[文章类型]]></typeName><br>
* <state><![CDATA[0]]></state><br>
* <userId><![CDATA[-1]]></userId><br>
* <userName><![CDATA[Admin]]></userName><br>
* <creationDate><![CDATA[2007-06-06]]></creationDate><br>
* <modifiedUserId><![CDATA[-1]]></modifiedUserId><br>
* <modifiedUserName><![CDATA[Admin]]></modifiedUserName><br>
* <modifiedDate><![CDATA[2007-06-08]]></modifiedDate><br>
* <issueDate><![CDATA[2007-06-08]]></issueDate><br>
* <wzrq><![CDATA[2007-06-06]]></wzrq><br>
* <summary><![摘要摘要摘要摘要摘要摘要]]></summary><br>
* <content><![CDATA[正文正文正文正文正文正文正文正文]]></content><br>
* </Article<<br>
* </rss><br>
* </ArticleInfo><br>
* </Response><br>
* </p>
* @param articleId
* @return
*/
public String getArticleXML(Long articleId);
/**
* <p>
* 第三方文章数据导入,文章内容信息的XML格式如下:<br>
* <ArticleInfo><br>
* <Article><br>
* <title><![CDATA[文章一]]></title><br>
* <author><![CDATA[斯蒂芬]]></author><br>
* <keyword><![CDATA[公认的]]></keyword><br>
* <status><![CDATA[-1]]></status><br>
* <channelId><![CDATA[2]]></channelId><br>
* <channelName><![CDATA[栏目一]]></channelName><br>
* <type><![CDATA[2]]></type><br>
* <typeName><![CDATA[报表]]></typeName><br>
* <wzrq><![CDATA[2007-06-06]]></wzrq><br>
* <content><![CDATA[正文正文正文正文正文正文正文正文]]></content><br>
* </Article<<br>
* </ArticleInfo><br>
* </p>
* @param articleXml
*/
void addArticle(String articleXml);
/**
* 根据栏目ids,获取这些栏目下的所有文章列表。
* 注:因为本方法调用dao时里需要往临时表temp里写入数据,所以方法名不能以get开头
* @param channelIds
* @param page
* @param pageSize
* @return
* 返回数据格式同getArticleListXMLByChannel方法
*/
String queryArticlesByChannelIds(String channelIds, Integer page, Integer pageSize);
/**
* 根据栏目id获取文章列表(深度),取指定栏目以及该栏目下所有子栏目的所有文章列表
* @param channelId
* @param page
* @param pageSize
* @return
* 返回数据格式同getArticleListXMLByChannel方法
*/
String queryArticlesDeeplyByChannelId(Long channelId, Integer page, Integer pageSize);
/**
* 根据文章id获取该文章的相关文章列表
* @param articleId
* @param pageSize
* @return
* 返回数据格式同getArticleListXMLByChannel方法
*/
String getRelationArticles(Long articleId, Integer pageSize);
/**
* 获取栏目树,用以显示“当前位置”等地方
* @param channelId
* @return
*/
String getChannelTree4Portlet(Long channelId);
/**
* 全文检索service接口。
* 供门户网站上通过本接口调用全文搜索。
* <p>
* <?xml version="1.0" encoding="UTF-8"?><br>
* <Response><br>
* <ArticleList><br>
* <rss><br>
<totalPageNum>2</totalPageNum><br>
<totalRows>32</totalRows><br>
<currentPage>1</currentPage><br>
<item><br>
<id>21</id><br>
<title>文章标题</title><br>
<author>文章作者</author><br>
<issueDate>2007-06-08</IssueDate><br>
<wzrq>2007-06-18</wzrq><br>
<summary>摘要摘要摘要摘要摘要摘要</summary><br>
<hitcount>122</hitcount><br>
</item><br>
</rss><br>
</ArticleList><br>
</Response><br>
* </p>
*
* @param tacticId
* @param searchStr
* @param pageNum
* @param pageSize
* @return
*/
String search(Long tacticId, String searchStr, Integer pageNum, Integer pageSize);
/**
* 获取附件信息。附件下载时候使用,由DownloadServlet调用。
* @param articleId
* @param seqNo
* @return
*/
AttachmentDTO getAttachmentInfo(Long articleId, Integer seqNo);
/**
* 根据栏目和日期来获取文章列表。
* 主要用于期刊类需求。
* <p>
* <?xml version="1.0" encoding="UTF-8"?><br>
* <Response><br>
* <ArticleList><br>
* <rss><br>
* <channelName>最新公告</channelName><br>
<totalPageNum>2</totalPageNum><br>
<totalRows>32</totalRows><br>
<currentPage>1</currentPage><br>
<item><br>
<id>21</id><br>
<title>文章标题</title><br>
<author>文章作者</author><br>
<issueDate>2007-06-08</IssueDate><br>
<wzrq>2007-06-18</wzrq><br>
<summary>摘要摘要摘要摘要摘要摘要</summary><br>
<hitcount>122</hitcount><br>
</item><br>
</rss><br>
</ArticleList><br>
</Response><br>
* </p>
* @param channelId
* @param year
* @param month
* @return
*/
String getArticleListByChannelAndTime(Long channelId, String year, String month);
}