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(String tenantId, String recorderId, String recorderRole, GrowthRecordCreateRequest request);

    GrowthRecord updateGrowthRecord(String id, GrowthRecordUpdateRequest request);

    GrowthRecord getGrowthRecordById(String id);

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

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

    void deleteGrowthRecord(String id);

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

}
