package com.ruoyi.bst.changeRecord.mapper;

import java.util.List;
import com.ruoyi.bst.changeRecord.domain.ChangeRecord;
import com.ruoyi.bst.changeRecord.domain.ChangeRecordVO;
import com.ruoyi.bst.changeRecord.domain.ChangeRecordQuery;
import org.apache.ibatis.annotations.Param;

/**
 * 爆灯次数变化Mapper接口
 *
 * @author ruoyi
 * @date 2025-04-26
 */
public interface ChangeRecordMapper
{
    /**
     * 查询爆灯次数变化
     *
     * @param recordId 爆灯次数变化主键
     * @return 爆灯次数变化
     */
    ChangeRecordVO selectChangeRecordByRecordId(Long recordId);

    /**
     * 查询爆灯次数变化列表
     *
     * @param query 爆灯次数变化
     * @return 爆灯次数变化集合
     */
    List<ChangeRecordVO> selectChangeRecordList(@Param("query")ChangeRecordQuery query);

    /**
     * 新增爆灯次数变化
     *
     * @param changeRecord 爆灯次数变化
     * @return 结果
     */
    int insertChangeRecord(ChangeRecord changeRecord);

    /**
     * 批量新增爆灯次数变化
     */
    int batchInsert(@Param("list") List<? extends ChangeRecord> list);

    /**
     * 批量修改爆灯次数变化
     */
    int batchUpdate(@Param("list") List<? extends ChangeRecord> list);

    /**
     * 修改爆灯次数变化
     *
     * @param changeRecord 爆灯次数变化
     * @return 结果
     */
    public int updateChangeRecord(@Param("data") ChangeRecord changeRecord);

    /**
     * 删除爆灯次数变化
     *
     * @param recordId 爆灯次数变化主键
     * @return 结果
     */
    int deleteChangeRecordByRecordId(Long recordId);

    /**
     * 批量删除爆灯次数变化
     *
     * @param recordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteChangeRecordByRecordIds(Long[] recordIds);
}
