package org.dromara.payment.task.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.payment.task.domain.MerTaskEnroll;
import org.dromara.payment.task.domain.bo.MerTaskEnrollBo;
import org.dromara.payment.task.domain.vo.MerTaskEnrollVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

/**
 * 任务的报名Mapper接口
 *
 * @author LionLi
 * @date 2024-04-08
 */
public interface MerTaskEnrollMapper extends BaseMapperPlus<MerTaskEnroll, MerTaskEnrollVo> {
    /**
     * 修改代发批次结算中的结算状态
     * @param billId 代发批次id
     * @param sourceSettlementStatus 源结算状态
     * @param settlementStatus 结算状态
     * @return
     */
    public Integer updateSettlementStatusByBillId(@Param("billId") long billId,@Param("sourceSettlementStatus") int sourceSettlementStatus, @Param("settlementStatus") int settlementStatus);

    Page<MerTaskEnrollVo> selectPageList(@Param("page") Page<MerTaskEnroll> build, @Param("ew") Wrapper<MerTaskEnroll> lqw);

    int updateTaskEnrollCheckStatusSuccess(MerTaskEnrollBo bo);

    void updateTaskEnrollCheckStatusFailed(MerTaskEnrollBo bo);

    int updateTaskEnrollTaskStatus(MerTaskEnrollBo bo);
}
