package com.reading.platform.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.reading.platform.dto.request.GrowthRecordCreateRequest;
import com.reading.platform.dto.request.GrowthRecordUpdateRequest;
import com.reading.platform.entity.GrowthRecord;

import java.util.List;

/**
 * Growth Record Service Interface
 */
public interface GrowthRecordService {

    GrowthRecord createGrowthRecord(Long tenantId, Long recorderId, String recorderRole, GrowthRecordCreateRequest request);

    GrowthRecord updateGrowthRecord(Long id, GrowthRecordUpdateRequest request);

    GrowthRecord getGrowthRecordById(Long id);

    Page<GrowthRecord> getGrowthRecordPage(Long tenantId, Integer pageNum, Integer pageSize, Long studentId, String type);

    Page<GrowthRecord> getGrowthRecordsByStudentId(Long studentId, Integer pageNum, Integer pageSize, String type);

    void deleteGrowthRecord(Long id);

    List<GrowthRecord> getRecentGrowthRecords(Long studentId, Integer limit);

}
