package com.jianshui.invoice.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jianshui.invoice.domain.Redinfo;
import com.jianshui.invoice.domain.Redinfodetail;

/**
 * 红字信息表Mapper接口
 *
 * @author Gong Quanlin
 * @date 2022-03-29
 */
public interface RedinfoMapper extends BaseMapper<Redinfo> {
    /**
     * 查询红字信息表
     *
     * @param id 红字信息表主键
     * @return 红字信息表
     */
    public Redinfo selectRedinfoById(Long id);

    /**
     * 查询红字信息表列表
     *
     * @param redinfo 红字信息表
     * @return 红字信息表集合
     */
    public List<Redinfo> selectRedinfoList(Redinfo redinfo);

    /**
     * 新增红字信息表
     *
     * @param redinfo 红字信息表
     * @return 结果
     */
    public int insertRedinfo(Redinfo redinfo);

    /**
     * 修改红字信息表
     *
     * @param redinfo 红字信息表
     * @return 结果
     */
    public int updateRedinfo(Redinfo redinfo);

    /**
     * 删除红字信息表
     *
     * @param id 红字信息表主键
     * @return 结果
     */
    public int deleteRedinfoById(Long id);

    /**
     * 批量删除红字信息表
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRedinfoByIds(Long[] ids);

    /**
     * 批量删除红字信息表详情
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRedinfodetailByRedinfoIds(Long[] ids);

    /**
     * 批量新增红字信息表详情
     *
     * @param redinfodetailList 红字信息表详情列表
     * @return 结果
     */
    public int batchRedinfodetail(List<Redinfodetail> redinfodetailList);


    /**
     * 通过红字信息表主键删除红字信息表详情信息
     *
     * @param id 红字信息表ID
     * @return 结果
     */
    public int deleteRedinfodetailByRedinfoId(Long id);
}
