package com.diagbot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.diagbot.dto.RelationDTO;
import com.diagbot.entity.Relation;
import com.diagbot.vo.AllRelationVo;
import com.diagbot.vo.RelationVo;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author Weixuan Huang
 * @since 2019-01-31
 */
public interface RelationMapper extends BaseMapper<Relation> {
    /**
     * 获取所有术语关系
     *
     * @param allrelationVo
     * @return IPage<RelationDTO>
     */
    public IPage<RelationDTO> getAllRelation(AllRelationVo allrelationVo);


    /**
     * 获取术语上级信息
     *
     * @param relationDTO
     * @return List<RelationDTO>
     */
    public List<RelationDTO> getRelation(RelationDTO relationDTO);

    /**
     * 按名称获取术语关系
     *
     * @param relationVo
     * @return RelationDTO
     *
     */
    public RelationDTO getRelationbyName(RelationVo relationVo);

    /**
     * 删除所有术语关系信息
     *
     */
    public void truncateRelation();

    /**
     * 获取所有没有实体关联的概念的关系
     *
     * @result List<Relation>
     */
    public List<Relation> getLimboRelation();
}
