package com.securitycontrol.system.mapper;

import com.securitycontrol.entity.system.dto.OrgDto;
import com.securitycontrol.entity.system.vo.OrgVo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 组织机构处理层
 *
 * @author HeiZi
 */
@Repository
public interface OrgMapper {
    /**
     * 查询 组织机构集合
     *
     * @param dto
     * @return
     */
    List<OrgVo> getOrgList(OrgDto dto);

    /**
     * 新增组织机构
     *
     * @param dto
     * @return
     */
    int addOrg(OrgVo dto);

    /**
     * 修改组织机构
     *
     * @param dto
     * @return
     */
    int updateOrg(OrgVo dto);

    /**
     * 删除组织机构
     *
     * @param dto
     * @return
     */
    int delOrg(OrgDto dto);

    /**
     * 依据id 查询详情
     *
     * @param orgId
     * @return
     */
    OrgVo getDetails(String orgId);

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

    /**
     * 查看名称是否重复
     *
     * @param dto
     * @return
     */
    int getNumByName(OrgVo dto);
}
