package cn.iocoder.yudao.module.llm.service.training;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.llm.controller.admin.training.vo.*;
import cn.iocoder.yudao.module.llm.dal.dataobject.training.TrainingDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;

/**
 * 训练 Service 接口
 *
 * @author 华大大模型
 */
public interface TrainingService {

    /**
     * 创建训练
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createTraining(@Valid TrainingSaveReqVO createReqVO);

    /**
     * 更新训练
     *
     * @param updateReqVO 更新信息
     */
    void updateTraining(@Valid TrainingSaveReqVO updateReqVO);

    /**
     * 删除训练
     *
     * @param id 编号
     */
    void deleteTraining(Integer id);

    /**
     * 获得训练
     *
     * @param id 编号
     * @return 训练
     */
    TrainingDO getTraining(Integer id);

    /**
     * 获得训练分页
     *
     * @param pageReqVO 分页查询
     * @return 训练分页
     */
    PageResult<TrainingDO> getTrainingPage(TrainingPageReqVO pageReqVO);

}