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

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskAutoInfoPageReqVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskautoinfo.ModelAssessTaskAutoInfoDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 模型评估任务 —— 自动评估-详细内容 Mapper
 *
 * @author 华大大模型
 */
@Mapper
public interface ModelAssessTaskAutoInfoMapper extends BaseMapperX<ModelAssessTaskAutoInfoDO> {

    default PageResult<ModelAssessTaskAutoInfoDO> selectPage(ModelAssessTaskAutoInfoPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<ModelAssessTaskAutoInfoDO>()
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getTaskId, reqVO.getTaskId())
                .likeIfPresent(ModelAssessTaskAutoInfoDO::getModelName, reqVO.getModelName())
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getQuestion, reqVO.getQuestion())
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getPrompt, reqVO.getPrompt())
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getDataSetPrompt, reqVO.getDataSetPrompt())
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getFactualError, reqVO.getFactualError())
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getEmotionTendency, reqVO.getEmotionTendency())
                .eqIfPresent(ModelAssessTaskAutoInfoDO::getSemanticsCoherence, reqVO.getSemanticsCoherence())
                .betweenIfPresent(ModelAssessTaskAutoInfoDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(ModelAssessTaskAutoInfoDO::getId));
    }

}
