package com.xinelu.manage.mapper.billinfo;

import com.xinelu.manage.domain.billinfo.BillInfo;

import java.util.List;

/**
 * 账单信息Mapper接口
 *
 * @author zh
 * @date 2026-04-16
 */
public interface BillInfoMapper {
    /**
     * 查询账单信息
     *
     * @param id 账单信息主键
     * @return 账单信息
     */
    BillInfo selectBillInfoById(Long id);

    /**
     * 查询账单信息
     *
     * @param code 账单信息
     * @return 账单信息
     */
    BillInfo selectBillInfoByCode(String code);

    /**
     * 查询账单信息列表
     *
     * @param billInfo 账单信息
     * @return 账单信息集合
     */
    List<BillInfo> selectBillInfoList(BillInfo billInfo);

    /**
     * 新增账单信息
     *
     * @param billInfo 账单信息
     * @return 结果
     */
    int insertBillInfo(BillInfo billInfo);

    /**
     * 修改账单信息
     *
     * @param billInfo 账单信息
     * @return 结果
     */
    int updateBillInfo(BillInfo billInfo);

    /**
     * 删除账单信息
     *
     * @param id 账单信息主键
     * @return 结果
     */
    int deleteBillInfoById(Long id);

    /**
     * 批量删除账单信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteBillInfoByIds(Long[] ids);
}
