package com.contract.review.mapper;

import com.contract.review.entity.ReviewRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 审查记录Mapper
 */
@Mapper
public interface ReviewRecordMapper {
    /**
     * 根据合同ID获取审查记录列表
     * @param contractId 合同ID
     * @return 审查记录列表
     */
    List<ReviewRecord> getRecordListByContractId(@Param("contractId") Long contractId);
    
    /**
     * 获取审查记录列表
     * @param params 查询参数
     * @return 审查记录列表
     */
    List<ReviewRecord> getRecordList(Map<String, Object> params);
    
    /**
     * 根据ID获取审查记录
     * @param id 记录ID
     * @return 审查记录
     */
    ReviewRecord getRecordById(@Param("id") Long id);
    
    /**
     * 新增审查记录
     * @param record 审查记录
     * @return 影响行数
     */
    int addRecord(ReviewRecord record);
    
    /**
     * 更新审查记录
     * @param record 审查记录
     * @return 影响行数
     */
    int updateRecord(ReviewRecord record);
    
    /**
     * 删除审查记录
     * @param id 记录ID
     * @return 影响行数
     */
    int deleteRecord(@Param("id") Long id);
    
    /**
     * 根据合同ID删除审查记录
     * @param contractId 合同ID
     * @return 影响行数
     */
    int deleteRecordByContractId(@Param("contractId") Long contractId);
}
