package com.microservices.pms.product.mapper;

import com.microservices.pms.product.domain.PmsProductReqOperationRecord;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 项目管理-产品需求操作记录Mapper接口
 *
 * @author otto
 * @date 2024-11-29
 */
@Mapper
public interface PmsProductReqOperationRecordMapper {
    /**
     * 查询项目管理-产品需求操作记录
     *
     * @param id 项目管理-产品需求操作记录主键
     * @return 项目管理-产品需求操作记录
     */
    public PmsProductReqOperationRecord selectPmsProductReqOperationRecordById(Long id);

    /**
     * 查询项目管理-产品需求操作记录列表
     *
     * @param pmsProductReqOperationRecord 项目管理-产品需求操作记录
     * @return 项目管理-产品需求操作记录集合
     */
    public List<PmsProductReqOperationRecord> selectPmsProductReqOperationRecordList(PmsProductReqOperationRecord pmsProductReqOperationRecord);

    /**
     * 新增项目管理-产品需求操作记录
     *
     * @param pmsProductReqOperationRecord 项目管理-产品需求操作记录
     * @return 结果
     */
    public int insertPmsProductReqOperationRecord(PmsProductReqOperationRecord pmsProductReqOperationRecord);

    /**
     * 修改项目管理-产品需求操作记录
     *
     * @param pmsProductReqOperationRecord 项目管理-产品需求操作记录
     * @return 结果
     */
    public int updatePmsProductReqOperationRecord(PmsProductReqOperationRecord pmsProductReqOperationRecord);

    /**
     * 删除项目管理-产品需求操作记录
     *
     * @param id 项目管理-产品需求操作记录主键
     * @return 结果
     */
    public int deletePmsProductReqOperationRecordById(Long id);

    /**
     * 批量删除项目管理-产品需求操作记录
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePmsProductReqOperationRecordByIds(Long[] ids);

    PmsProductReqOperationRecord selectUserReqLatestReviewRecord(Long reqId);

    PmsProductReqOperationRecord selectReqSpecsLatestChangeRecord(Long reqSpecsId);

    PmsProductReqOperationRecord selectReqSpecsLatestReviewRecord(Long reqSpecsId);
}
