package com.jiuqi.mobile.nigo.comeclose.manager.base;
import java.util.List;
import com.jiuqi.mobile.nigo.comeclose.bean.base.ModuleBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean;
import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException;
import com.jiuqi.mobile.nigo.comeclose.manager.ISimpleManger;
import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalMethodAnnctation;
/**
* 权限模块管理
* <p>20130808 取缔Portal部分
* @author modi
*
*/
@ManagerAnnotation(implClass="com.jiuqi.mobile.nigo.biz.base.manager.ModuleMangerImpl")
@PortalAnnotation(implClass="com.jiuqi.mobile.nigo.biz.portal.ModuleManagerPortalImpl")
public interface IModuleManager extends ISimpleManger<ModuleBean>{
/**
* @Title: getRootModuleCode
* @Description: TODO(获取模块根节点模块code,返回0)
* @param @return 设定文件
* @return Integer 返回类型
* @throws
*/
@PortalMethodAnnctation
Integer getRootModuleCode();
/**
* 获得所有功能模块
* @return
*/
ModuleBean[] getAll();
/**
* 根据guid获得功能模块
* @param guid
* @return
*/
@PortalMethodAnnctation
ModuleBean get(String guid);
/**
* 根据模块code获得功能模块
* @param code
* @return
*/
@PortalMethodAnnctation
ModuleBean get(int code);
/**
* @Title: getByUserGuid
* @Description: TODO(根据用户guid读取权限模块信息)
* @param @param userGuid
* @param @return 设定文件
* @return ModuleBean[] 返回类型
* @throws
*/
@PortalMethodAnnctation
ModuleBean[] getByUserGuid(String userGuid);
/**
* @Title: getByRoleGuid
* @Description: TODO(根据角色guid读取权限模块信息)
* @param @param roleGuid
* @param @return 设定文件
* @return ModuleBean[] 返回类型
* @throws
*/
@PortalMethodAnnctation
ModuleBean[] getByRoleGuid(String roleGuid);
/**
* 获得下属模块(直接下属)
* @param thisCode
* @return
*/
@PortalMethodAnnctation
ModuleBean[] getChilds(int thisCode);
/**
* 获取模块表最大code值(新建模块使用)
* @auth lizh
* @Date 2013-11-6下午5:34:31
* @method getMaxCode
* @fileName IModuleManager
* @package com.jiuqi.mobile.nigo.comeclose.manager.base
* @project comeclose
* @return
* @return int
*/
int getMaxCode();
/**
* 根据模块code删除功能模块
* @param code
* @return
*/
void delete(int code) throws NiGoException;
/**
*
* @方法描述:整合角色模块,返回整合后的模块 <br/>
* @项目名称:snigo<br/>
* @类路径:com.jiuqi.mobile.nigo.biz.base.dao.IUserMadeModuleDao.java<br/>
* @版权所有(c):JOIN-CHEER <br/>
* @作者:xuzhe <br/>
* @创建时间:2014-12-2上午10:04:09 <br/>
* @修改时间:<br/>
* @修改备注: <br/>
* @返回类型:ModuleBean[]<br/>
* @param user
* @return
*/
ModuleBean[] madeModule(UserBean user);
/**
* @Title: getModuleByUserGuid
* @Description: 用户管理-权限设置中获取用户定制信息
* @param @param userGuid
* @param @return 设定文件
* @return ModuleBean[] 返回类型
* @throws
*/
List<ModuleBean> getModulesByUserGuid(String userGuid);
// /**
// * 根据guid删除功能模块
// * @param guid
// * @return
// */
// void delete(String guid) throws NiGoException;
// /**
// * 插入新的功能模块(guid和code相同时做修改处理)
// * @param module
// * @return
// * @throws NiGoException
// */
// void put(ModuleBean module) throws NiGoException;
// /**
// * 给模块插入新的权限功能点(guid和code相同时做修改处理)
// * @param moduleCode
// * @param auth
// * @return
// * @throws NiGoException
// */
// void put(int moduleCode, ModuleAuthBean auth) throws NiGoException;
// /**
// * 删除功能点
// * @param moduleCode
// * @param moduleAuthCode
// * @throws NiGoException
// */
// void deleteAuth(int moduleCode, int moduleAuthCode) throws NiGoException;
// /**
// * 删除功能点
// * @param moduleCode
// * @param moduleAuthGuid
// * @throws NiGoException
// */
// void deleteAuth(int moduleCode, String moduleAuthGuid) throws NiGoException;
//20130726
}