package com.seer.teach.admin.convert;

import com.seer.teach.admin.request.TeachGoalsReq;
import com.seer.teach.admin.request.TeachMethodsReq;
import com.seer.teach.admin.request.TeachTextsReq;
import com.seer.teach.admin.response.TeachGoalsResp;
import com.seer.teach.admin.response.TeachMethodsResp;
import com.seer.teach.admin.response.TeachTextsResp;
import com.seer.teach.teacher.module.entity.TeachGoalsEntity;
import com.seer.teach.teacher.module.entity.TeachMethodsEntity;
import com.seer.teach.teacher.module.entity.TeachTextsEntity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * <p>
 * 教学管理模块转换器
 * </p>
 *
 * @author Lingma
 * @since 2025-12-04
 */
@Mapper
public interface AdminTeachTextConvert {

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

    /**
     * 教学文本实体转响应对象
     *
     * @param entity 教学文本实体
     * @return 教学文本响应对象
     */
    TeachTextsResp toTeachTextsResp(TeachTextsEntity entity);

    List<TeachTextsResp> toTeachTextsRespList(List<TeachTextsEntity> entityList);

    /**
     * 教学文本请求对象转实体
     *
     * @param req 教学文本请求对象
     * @return 教学文本实体
     */
    TeachTextsEntity toTeachTextsEntity(TeachTextsReq req);
}