package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.MusicEnlightenmentQuestionnaireStatDto;
import com.ym.mec.biz.dal.entity.MusicEnlightenmentQuestionnaire;
import com.ym.mec.biz.dal.page.MusicEnlightenmentQuestionnaireQueryInfo;
import com.ym.mec.common.page.PageInfo;
import com.ym.mec.common.service.BaseService;

import java.util.Date;
import java.util.List;

public interface MusicEnlightenmentQuestionnaireService extends BaseService<Long, MusicEnlightenmentQuestionnaire> {

    /**
     * @describe 添加启蒙课问卷
     * @author Joburgess
     * @date 2021/10/13 0013
     * @param enlightenmentQuestionnaire:
     * @return void
     */
    void addEnlightenmentQuestionnaire(MusicEnlightenmentQuestionnaire enlightenmentQuestionnaire);

    PageInfo<MusicEnlightenmentQuestionnaire> queryPage(MusicEnlightenmentQuestionnaireQueryInfo queryInfo);

    /**
     * @describe 获取指定用户的乐团启蒙问卷记录
     * @author Joburgess
     * @date 2021/10/13 0013
     * @param musicGroupId:
     * @param phone:
     * @return com.ym.mec.biz.dal.entity.MusicEnlightenmentQuestionnaire
     */
    MusicEnlightenmentQuestionnaire getUserMusicEnlightenmentQuestionnaire(String musicGroupId, String phone);

    /**
     * @describe 启蒙课问卷统计
     * @author Joburgess
     * @date 2021/10/13 0013
     * @param musicGroupId:
     * @return java.util.List<com.ym.mec.biz.dal.dto.MusicEnlightenmentQuestionnaireStatDto>
     */
    List<MusicEnlightenmentQuestionnaireStatDto> musicEnlightenmentQuestionnaireStat(String musicGroupId);

    /**
     * 发送家长会通知
     * @param userId
     * @param musicGroupId
     * @param meetingDate
     * @param address
     * @return
     */
    boolean sendParentMeetingNotice(Integer userId, String musicGroupId, Date meetingDate, String address);

}
