package com.docus.server.infrastructure.dao;

import com.docus.infrastructure.core.db.dao.IBaseDao;
import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.entity.recovery.RcvBasic;

import java.io.Serializable;
import java.util.Collection;

/**
 * 患者信息表 数据访问接口
 *
 * @author AutoGenerator
 * @since 2023-09-13
 */
public interface IRcvBasicDao extends IBaseDao<RcvBasic> {

    /**
     * 新增
     *
     * @param rcvBasic 新增参数
     * @return 成功或失败
     */
    boolean add(RcvBasic rcvBasic);

    /**
     * 编辑
     *
     * @param rcvBasic 编辑参数
     * @return 成功或失败
     */
    boolean edit(RcvBasic rcvBasic);

    /**
     * 批量删除
     *
     * @param ids 主键ids
     * @return 成功或失败
     */
    int delete(Collection<? extends Serializable> ids);

    /**
     * 关键字搜索
     *
     * @param searchDTO 搜索参数
     * @return 分页列表
     */
    PageResult<RcvBasic> search(SearchDTO searchDTO);

    /**
     * 名称不重复
     *
     * @param id   主键
     * @param name 名称
     * @return 名称重复数量
     */
    int findByIdAndName(Serializable id, String name);
}
