package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;


/**
 * 模型评估人工标注 模型回答 Mapper
 *
 * @author 华大大模型
 */
@Mapper
public interface ManualModelAnswerMapper extends BaseMapperX<ManualModelAnswerDO> {

    default PageResult<ManualModelAnswerDO> selectPage(ManualModelAnswerPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<ManualModelAnswerDO>()
                .eqIfPresent(ManualModelAnswerDO::getManalTaskId, reqVO.getManalTaskId())
                .eqIfPresent(ManualModelAnswerDO::getQuestionId, reqVO.getQuestionId())
                .eqIfPresent(ManualModelAnswerDO::getDatasetId, reqVO.getDatasetId())
                .eqIfPresent(ManualModelAnswerDO::getStatus, reqVO.getStatus())
                .eqIfPresent(ManualModelAnswerDO::getModelAnswer, reqVO.getModelAnswer())
                .betweenIfPresent(ManualModelAnswerDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(ManualModelAnswerDO::getId));
    }
    @Update("update llm_manual_model_answer set status = #{status} where id = #{modelAnswerId}")
    void updateStatus(@Param("modelAnswerId") Long modelAnswerId, @Param("status") int status);
}