package com.yida.data.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.common.core.entity.user.EduParent;
import com.yida.data.user.vo.ParentInfoVO;

import com.yida.data.user.vo.StaParentDistributeVO;

import java.util.List;

public interface EduParentService extends IService<EduParent> {

    /**
     * 保存本地家长信息
     *
     * @param eduParent 需要保存的家长信息
     * @return com.yida.data.common.core.common.ResultBean<com.yida.data.common.core.entity.user.EduParent>
     * @author ZYJ
     * @date 2021/8/21 15:27
     */
    EduParent saveLocalParent(EduParent eduParent);

    /**
     * 处理微信家长删除事件
     *
     * @param wxId
     * @param schoolId
     */
    void dealParentWxDelete(String wxId, Long schoolId);

    /**
     * 处理微信家长改变事件
     *
     * @param eduParent
     * @param schoolId
     */
    void dealWxParentChange(EduParent eduParent, Long schoolId);

    /**
     * 根据班级查询家长
     */
    List<ParentInfoVO> listParentByClass(List<Long> classIds, String parentName);

    /**
     * 查询带学生的家长信息
     *
     * @param wxId
     * @param mobile
     * @param schoolId
     * @return
     */
    ParentInfoVO getParentWithStudent(String wxId, String mobile, Long schoolId);

    /**
     * 查询家长分布情况
     *
     * @return
     */
    StaParentDistributeVO staParentDistribute(List<Long> schoolIds);

    /**
     * H5页面判断是否有家长信息, 没用则新增家长数据(不包含学生)
     *
     * @param schoolId  学校id
     * @param mobile    家长手机号码
     * @param appUserId app登录用户id
     * @author ZYJ
     * @date 2022/4/20 16:12
     */
    void checkParent(Long schoolId, String mobile, String appUserId);
}
