/* ==================================================================
* 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.portal.service;
import java.util.List;
import com.jinhe.tss.component.log.Logable;
import com.jinhe.tss.portal.entity.IssueInfo;
import com.jinhe.tss.portal.entity.Theme;
/**
* 门户相关的(包括门户主题、门户发布等)的相关维护
*/
public interface IPortalRelationService {
//******************************* 以下为主题管理 ***************************************************************
/**
* 门户下的当前主题另存为。。。
* @param themeId
* @param themeName
*/
@Logable(operateTable="门户主题", operateType="复制",
operateInfo="复制(ID: ${args[1]})主题"
)
Theme saveThemeAs(Long themeId, String themeName);
/**
* 获取一个Portal的所有主题
* @param portalId
* @return
*/
List<?> getThemesByPortal(Long portalId);
/**
* 设置默认主题
* @param portalId
* @param themeId
*/
@Logable(operateTable="门户主题", operateType="设为默认",
operateInfo="将(ID: ${args[1]})主题设置为默认主题"
)
void specifyDefaultTheme(Long portalId, Long themeId);
/**
* 删除主题,如果删除的主题是当前门户的默认主题或者当前主题,则删除失败
* @param portalId
* @param themeId
*/
@Logable(operateTable="门户主题", operateType="删除",
operateInfo="删除了(ID: ${args[1]})主题"
)
void removeTheme(Long portalId, Long themeId);
/**
* 重命名主题名字
* @param themeId
* @param name
*/
@Logable(operateTable="门户主题", operateType="重命名",
operateInfo="将(ID: ${args[0]})主题重新命名为 ${args[1]}"
)
void renameTheme(Long themeId, String name);
//******************************* 以下为门户发布管理 ***************************************************************
/**
* 根据访问地址或者门户的真实地址
* @param visitUrl
* @return
*/
IssueInfo getIssueInfo(String visitUrl);
/**
* 获取所有的门户发布信息
* @return
*/
List<?> getAllIssues();
/**
* 保存发布信息
* @param issueInfo
* @return
*/
IssueInfo saveIssue(IssueInfo issueInfo);
/**
* 移除发布信息
* @param id
*/
void removeIssue(Long id);
/**
* 获取发布信息
* @param id
* @return
*/
IssueInfo getIssueInfo(Long id);
//******************************** 以下为门户自定义管理 ***************************************************************
/**
* <p>
* 保存用户自定义信息。<br>
* 当用户执行以下自定义操作后,其自定义信息将被保存:<br>
* 1.portlet实例的更改、交换、删除、参数更改<br>
* 2.修饰器的更改、参数更改<br>
* 3.布局器的更改、交换(版面交换)、删除(版面删除)、添加、参数更改<br>
* 4.还原<br>
* </p>
* @param portalId
* @param userId
* @param pageId
* @param personalXML
*/
@Logable(operateTable="门户自定义", operateType="门户自定义操作",
operateInfo="保存了 ID为 ${args[0]} 的门户的自定义信息"
)
void savePersonalInfo(Long portalId, Long themeId, Long userId, Long pageId, String personalXML);
/**
* 删除用户自定义信息。<br>
* 当用户选择还原为默认布局时,删除该用户的自定义信息和自定义主题信息。<br>
*
* @param portalId
* @param userId
* @param pageId
*/
@Logable(operateTable="门户自定义", operateType="门户自定义操作",
operateInfo="删除了 ID为 ${args[0]} 的门户的自定义信息"
)
void removePersonalInfo(Long portalId, Long themeId, Long userId, Long pageId);
/**
* 保存用户自定义主题信息。
*
* @param portalId
* @param userId
* @param themeId
*/
@Logable(operateTable="门户主题", operateType="门户自定义操作",
operateInfo="重新设置了 ID为 ${args[0]} 的门户的自定义主题 "
)
void savePersonalTheme(Long portalId, Long userId, Long themeId);
/**
* 获取可以用以portlet实例替换的
* @param portalId
* @return
*/
List<?> getPortletInstansesInPortal(Long portalId);
//*********************************** 门户流量统计获取 ***************************************************************
/**
* 获取门户下页面的访问流量
* @param portalId
* @return
*/
List<?> getFlowRate(Long portalId);
}