package com.sptg.permissions.biz.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.permissions.api.dto.DictDto;
import com.sptg.permissions.api.entity.Dict;

import java.io.Serializable;
import java.util.List;

/**
 * title: DictServiceInterface
 * package: com.sptg.permissions.biz.security
 * description: 全国省市区街道-服务层接口
 *
 *                  
 *                
 */
public interface DictServiceInterface extends IService<Dict> {

    /**
     * 区域缓存名称
     */
    String DICT_CACHE_NAME = "sptg:permissions:dict";

    /**
     * 子区域缓存名称
     */
    String SUB_DICT_CACHE_NAME = "sptg:permissions:dict:sub";


    /**
     * 功能描述: 根据父级编号获取子节点列表
     * @param pid 父级编号
     * @return List<Dict>
     *                  
     *                      
     */
    List<Dict> getSubList(Serializable pid);

    /**
     * 功能描述: 根据Id查询
     * @param code 区域编号
     * @return Dict
     *                  
     *                      
     */
    Dict selectByCode(Serializable code);

    List<Dict> selectAll();

    List<Dict> selectList(Wrapper<Dict> wrapper);

    ResultBean<Boolean> insertDict(DictDto dictDto);

    ResultBean<Boolean> updateDict(DictDto dictDto);

    ResultBean<Dict> getByCode(String code);
}
