package com.bonus.material.task.mapper;

import java.util.List;

import com.bonus.material.settlement.domain.SltAgreementInfo;
import com.bonus.material.task.domain.TmTask;
import com.bonus.material.task.domain.TmTaskAgreement;
import org.apache.ibatis.annotations.Param;

/**
 * 任务Mapper接口
 * 
 * @author xsheng
 * @date 2024-10-16
 */
public interface TmTaskAgreementMapper {

    /**
     * 查询任务
     * 
     * @param taskId 任务主键
     * @return 任务
     */
     TmTaskAgreement selectTmTaskAgreementByTaskId(Long taskId);

    /**
     * 查询任务列表
     * 
     * @param tmTaskAgreement 任务
     * @return 任务集合
     */
     List<TmTaskAgreement> selectTmTaskAgreementList(TmTaskAgreement tmTaskAgreement);

    /**
     * 新增任务
     * 
     * @param tmTaskAgreement 任务
     * @return 结果
     */
     int insertTmTaskAgreement(TmTaskAgreement tmTaskAgreement);

    /**
     * 修改任务
     * 
     * @param tmTaskAgreement 任务
     * @return 结果
     */
     int updateTmTaskAgreement(TmTaskAgreement tmTaskAgreement);

    /**
     * 删除任务
     * 
     * @param taskId 任务主键
     * @return 结果
     */
     int deleteTmTaskAgreementByTaskId(Long taskId);

    /**
     * 批量删除任务
     * 
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
     int deleteTmTaskAgreementByTaskIds(Long[] taskIds);

    String getAgreementId(String taskId);

    /**
     * 根据任务ID获取协议ID
     * @param taskId
     * @return
     */
    Long selectAgreementIdByTaskId(Long taskId);

    /**
     * 根据发布任务ID获取协议ID
     * @param publishTask
     * @return
     */
    String selectAgreementId(String publishTask);
}
