package org.king.modules.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.king.common.exception.KingBootException;
import org.king.modules.system.entity.SysCategory;
import org.king.modules.system.model.TreeSelectModel;

import java.util.List;
import java.util.Map;

/**
 * @Description: 分类字典
 * @Author: king-boot
 * @Date:   2019-05-29
 * @Version: V1.0
 */
public interface ISysCategoryService extends IService<SysCategory> {

	/**根节点父ID的值*/
	String ROOT_PID_VALUE = "0";

	void addSysCategory(SysCategory sysCategory);
	
	void updateSysCategory(SysCategory sysCategory);
	
	/**
	  * 根据父级编码加载分类字典的数据
	 * @param pcode
	 * @return
	 */
	List<TreeSelectModel> queryListByCode(String pcode) throws KingBootException;
	
	/**
	  * 根据pid查询子节点集合
	 * @param pid
	 * @return
	 */
	List<TreeSelectModel> queryListByPid(String pid);

	/**
	 * 根据pid查询子节点集合,支持查询条件
	 * @param pid
	 * @param condition
	 * @return
	 */
	List<TreeSelectModel> queryListByPid(String pid, Map<String, String> condition);

	/**
	 * 根据code查询id
	 * @param code
	 * @return
	 */
	String queryIdByCode(String code);
	
}
