package com.xinyilu.system.service.applet;

import com.xinyilu.common.core.domain.AjaxResult;
import com.xinyilu.system.domain.dto.AppletParentDTO;

import java.util.List;

/**
 * @Description 微信小程序段业务层
 * @Author 纪寒
 * @Date 2022-08-17 15:41:54
 * @Version 1.0
 */
public interface AppletService {

    /**
     * 根据小程序登录唯一凭证获取用户的微信标识信息、手机号、以及该家长所属孩子信息
     *
     * @param loginCode 唯一登录凭证
     * @param phoneCode 手机号登录凭证
     * @return 家长所属孩子信息集合
     */
    AjaxResult appletLogin(String loginCode, String phoneCode);

    /**
     * 绑定家长手机号信息
     *
     * @param appletParentDTO 输入参数
     * @return 结果
     */
    AjaxResult updateParentInfo(AppletParentDTO appletParentDTO);

    /**
     * 根据学生id查询学校成绩信息
     *
     * @param studentIdList 学生id集合
     * @return 成绩信息
     */
    AjaxResult getStudentScoreInfo(List<Long> studentIdList);

    /**
     * 根据手机号获取家长以及孩子信息
     *
     * @param phone 手机号码
     * @return 家长孩子相关信息
     */
    AjaxResult getParentAndStudentInfoByPhone(String phone);

    /**
     * 根据学生id和批次编号查询报告信息
     *
     * @param studentId 学生id
     * @param batchCode 批次编号
     * @return 报告信息
     */
    AjaxResult getReportDownAddress(Long studentId, String batchCode);

    /**
     * 根据学生id查询学生最新批次的成绩与报告
     *
     * @param studentIdList 学生id集合
     * @return java.util.List<com.xinyilu.system.domain.applet.AppletChildrenResultScoreInfo>
     **/
    AjaxResult getChildrenResultScore(List<Long> studentIdList);


    /**
     * 根据学生id和批次编号查询对应的处方
     *
     * @param studentId 学生id
     * @param batchCode 批次编号
     * @return com.xinyilu.common.core.domain.AjaxResult
     **/
    AjaxResult getMotionPrescription(Long studentId, String batchCode);
}
