package com.seer.teach.admin.convert;

import com.seer.teach.admin.request.AdminAiModelTaskReq;
import com.seer.teach.admin.response.AdminAiModelTaskResp;
import com.seer.teach.teacher.module.entity.AiModelTaskEntity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * AI模型任务转换器
 *
 * @author System
 * @since 2025-12-11
 */
@Mapper
public interface AdminAiModelTaskConvert {

    AdminAiModelTaskConvert INSTANCE = Mappers.getMapper(AdminAiModelTaskConvert.class);

    /**
     * 实体转换为响应对象
     *
     * @param entity 实体对象
     * @return 响应对象
     */
    AdminAiModelTaskResp entityToResp(AiModelTaskEntity entity);

    /**
     * 请求对象转换为实体
     *
     * @param req 请求对象
     * @return 实体对象
     */
    AiModelTaskEntity reqToEntity(AdminAiModelTaskReq req);

    /**
     * 实体列表转换为响应对象列表
     *
     * @param entities 实体列表
     * @return 响应对象列表
     */
    List<AdminAiModelTaskResp> entityListToRespList(List<AiModelTaskEntity> entities);
}