package com.goldenwater.system.service;

import java.util.List;
import com.goldenwater.system.domain.SysCate;

/**
 * 系统分类 服务层
 * 
 * @author goldenwater
 */
public interface ISysCateService
{
    /**
     * 查询系统分类列表
     * 
     * @param cate 系统分类信息
     * @return 系统分类集合
     */
    public List<SysCate> selectSysCateList(SysCate cate);

    /**
     * 根据分类编码查询系统分类
     * 
     * @param cateCode 分类编码
     * @return 系统分类
     */
    public SysCate selectSysCateById(String cateCode);

    /**
     * 新增系统分类
     * 
     * @param cate 系统分类信息
     * @return 结果
     */
    public int insertSysCate(SysCate cate);

    /**
     * 修改系统分类
     * 
     * @param cate 系统分类信息
     * @return 结果
     */
    public int updateSysCate(SysCate cate);

    /**
     * 删除系统分类
     * 
     * @param cateCode 分类编码
     * @return 结果
     */
    public int deleteSysCateById(String cateCode);

    /**
     * 批量删除系统分类
     * 
     * @param cateCodes 需要删除的分类编码
     * @return 结果
     */
    public int deleteSysCateByIds(String[] cateCodes);

    /**
     * 查询父分类列表
     * 
     * @return 父分类集合
     */
    public List<SysCate> findParent();

    /**
     * 查询子分类列表
     * 
     * @param cate 系统分类信息
     * @return 子分类集合
     */
    public List<SysCate> findChildren(SysCate cate);

    /**
     * 修改系统分类状态
     * 
     * @param cate 系统分类信息
     * @return 结果
     */
    public int updateStatus(SysCate cate);
}
