package com.seer.teach.teacher.convert;


import com.seer.teach.teacher.api.dto.CurrentAndFutureSubjectsDTO;
import com.seer.teach.teacher.api.dto.SubjectDTO;
import com.seer.teach.teacher.common.llm.resp.SubjectResult;
import com.seer.teach.teacher.common.resp.SubjectResp;
import com.seer.teach.teacher.module.entity.*;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @Author: Captain
 * @Description:
 * @Date: 2025-06-24 17:28
 */
@Mapper
public interface SubjectConvert {

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

    SubjectDTO toSubjectDTO(SubjectsEntity subjectsEntity);

    List<SubjectDTO> toSubjectDTOList(List<SubjectsEntity> subjects);

    CurrentAndFutureSubjectsDTO toCurrentAndFutureSubjectsDTO(Integer id, List<SubjectDTO> subjects);

    SubjectResult toSubjectResult(SubjectsEntity subjectsEntity);

    List<SubjectResult> toListSubjectResult(List<SubjectsEntity> subjectsEntity);

    SubjectResp toSubjectResp(SubjectsEntity subjectsEntity);

    List<SubjectResp> toListSubjectResp(List<SubjectsEntity> subjectsEntity);


}
