package com.zcloud.service.system;

import com.zcloud.entity.PageData;
import com.zcloud.entity.system.Route;

import java.util.List;

/**
 * 说明：路由服务接口
 * 作者：luoxiaobao
 * 官网：www.qdkjchina.com
 */
public interface RouteService {

	/**新增路由
	 * @param pd
	 * @throws Exception
	 */
	public void add(PageData pd) throws Exception;

	/**保存修改路由
	 * @param pd
	 * @throws Exception
	 */
	public void edit(PageData pd) throws Exception;

	/**获取最大的路由ID
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public PageData findMaxId(PageData pd) throws Exception;

	/**通过ID获取其子一级路由
	 * @param parentId
	 * @return
	 * @throws Exception
	 */
	public List<Route> listSubRouteByParentId(String parentId)throws Exception;

	/**通过ID获取其子一级路由
	 * @param parentId
	 * @return
	 * @throws Exception
	 */
	public List<PageData> listRouteByParentId(String parentId)throws Exception;

	/**获取所有路由并填充每个路由的子路由列表(系统路由列表)
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public PageData findById(PageData pd) throws Exception;

	/**删除路由
	 * @param ROUTE_ID
	 * @throws Exception
	 */
	public void delete(String ROUTE_ID) throws Exception;

	/**保存路由图标
	 * @param pd
	 * @throws Exception
	 */
	public void editicon(PageData pd) throws Exception;

	/**获取所有路由
	 * @param pd
	 * @return
	 */
	List<PageData> treeAll(PageData pd) throws Exception;

	/**获取所有路由(集合）
	 * @param pd
	 * @return
	 */
	List<PageData> listAll(PageData pd) throws Exception;

	/**获取所有菜单并填充每个菜单的子菜单列表(系统菜单列表)
	 * @param MENU_ID
	 * @return
	 * @throws Exception
	 */
	List<Route> listAllMenuJur(String MENU_ID) throws Exception;

	/**获取所有路由菜单列表
	 * @return
	 * @throws Exception
	 */
	public List<Route> listSubRouteAll()throws Exception;

}
