package com.ruoyi.bst.changeRecord.service;

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 com.ruoyi.bst.lightingNum.domain.LightingNumQuery;
import com.ruoyi.bst.lightingNum.domain.LightingNumVO;

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

    default ChangeRecordVO selectChangeRecordByRecordId(Long id) {
        return this.selectChangeRecordByRecordId(id, false);
    }

    /**
     * 查询一个
     * @param query
     * @return
     */
    public ChangeRecordVO selectOne(ChangeRecordQuery query);


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

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

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

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

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