package com.seer.teach.admin.convert;

import com.seer.teach.admin.request.AdminAiTaskReq;
import com.seer.teach.admin.response.AdminAiTaskResp;
import com.seer.teach.teacher.module.entity.AiTaskEntity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

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

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

    /**
     * 实体转响应对象
     *
     * @param entity 实体
     * @return 响应对象
     */
    AdminAiTaskResp entityToResp(AiTaskEntity entity);

    /**
     * 请求对象转实体
     *
     * @param req 请求对象
     * @return 实体
     */
    AiTaskEntity reqToEntity(AdminAiTaskReq req);

    /**
     * 实体列表转响应对象列表
     *
     * @param entities 实体列表
     * @return 响应对象列表
     */
    List<AdminAiTaskResp> entityListToRespList(List<AiTaskEntity> entities);
}