package com.hfkj.service;
/**
 * @ClassName: SecMenuService
 * @Description:TODO(菜单管理)
 * @author: 杜江
 * @date: 2020年07月07日 9:20:50
 * @Copyright: 2018 www.shinwoten.com Inc. All rights reserved.
 */

import com.github.pagehelper.PageInfo;
import com.hfkj.entity.SecMenu;
import com.hfkj.entity.SecPermission;

import java.util.List;

/**
 *@ClassName SecMenuService
 *@Description 菜单管理
 *@Author 杜江
 *@Date 2020/7/7 9:20
 *@Version 1.0
 */
public interface SecMenuService {

    /**
     *
     * @Title: findPage
     * @Description: 分页查询菜单列表
     * @author: 杜江
     * @Date: 2020/7/7 9:22
     * @param: [menuName, pageNum, pageSize]
     * @return: com.github.pagehelper.PageInfo<com.shinwoten.plat.entity.SecMenu>
     * @throws
     */
    PageInfo<SecMenu> findPage(String menuName, Integer pageNum, Integer pageSize);

    /**
     *
     * @Title: addMenu
     * @Description: 添加菜单
     * @author: 杜江
     * @Date: 2020/7/7 9:28
     * @param: [secMenu, permission]
     * @return: void
     * @throws
     */
    void addMenu(SecMenu secMenu, SecPermission permission);

    /**
     *
     * @Title: findById
     * @Description: 通过id查询菜单
     * @author: 杜江
     * @Date: 2020/7/7 9:30
     * @param: [menuId]
     * @return: com.shinwoten.plat.entity.SecMenu
     * @throws
     */
    SecMenu findById(Long menuId);

    /**
     *
     * @Title: editMenu
     * @Description: 修改菜单
     * @author: 杜江
     * @Date: 2020/7/7 9:36
     * @param: [secMenu, permission]
     * @return: void
     * @throws
     */
    void editMenu(SecMenu secMenu, SecPermission permission);

    /**
     *
     * @Title: findAll
     * @Description: 查询所有菜单
     * @author: 杜江
     * @Date: 2020/7/7 9:37
     * @param: []
     * @return: java.util.List<com.shinwoten.plat.entity.SecMenu>
     * @throws
     */
    List<SecMenu> findAll();
    
    /**
     *
     * @Title: deleteMenuList 
     * @Description: 批量删除   多个以，分开
     * @author: 杜江 
     * @Date: 2020/7/7 10:43
     * @param: [menuIds]
     * @return: void
     * @throws
     */
    void deleteMenuList(String menuIds);

    /**
     *
     * @Title: findSonMenu
     * @Description: 查找子菜单
     * @author: 杜江
     * @Date: 2020/7/7 10:45
     * @param: [menuId]
     * @return: java.util.List<com.shinwoten.plat.entity.SecMenu>
     * @throws
     */
    List<SecMenu> findSonMenu(Long menuId);

    /**
     *
     * @Title: deleteMenu
     * @Description: 删除菜单
     * @author: 杜江
     * @Date: 2020/7/7 10:47
     * @param: [menuId]
     * @return: void
     * @throws
     */
    void deleteMenu(Long menuId);

}
