package com.securitycontrol.system.mapper;

import com.securitycontrol.entity.system.dto.DictDto;
import com.securitycontrol.entity.system.vo.DictVo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 字典管理接口层
 *
 * @author HeiZi
 */
@Repository
public interface DictMapper {

    /**
     * 查询字典数据的集合
     *
     * @param dto
     * @return
     */
    List<DictVo> getDictList(DictDto dto);

    /**
     * 查询code编码数量
     *
     * @param dto
     * @return
     */
    int getNumByCode(DictVo dto);

    /**
     * 新增字典编码
     *
     * @param dto
     * @return
     */
    int addDict(DictVo dto);

    /**
     * 修改字典
     *
     * @param dto
     * @return
     */
    int updateDict(DictVo dto);

    /**
     * 查询子节点数量
     *
     * @param dto
     * @return
     */
    int getChildNum(DictDto dto);

    /**
     * 删除数据
     *
     * @param dto
     * @return
     */
    int delDict(DictDto dto);

    /**
     * 查询数据
     *
     * @param id
     * @return
     */
    DictVo getDetails(String id);

    /**
     * 修改子节点编码
     *
     * @param dto
     */
    void updateChildCode(DictVo dto);
}
