package org.dromara.system.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import org.apache.ibatis.annotations.Param;
import org.dromara.system.domain.FormalParentsStudent;
import org.dromara.system.domain.vo.FormalParentsStudentVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

import java.util.List;

/**
 * 家长-学生(审核通过之后数据)Mapper接口
 *
 * @author Lion Li
 * @date 2023-08-16
 */
public interface FormalParentsStudentMapper extends BaseMapperPlus<FormalParentsStudent, FormalParentsStudentVo> {
    /**
     * 查询家长-学生(审核通过之后数据)
     *
     * @param id 家长-学生(审核通过之后数据)主键
     * @return 家长-学生(审核通过之后数据)
     */
    public FormalParentsStudent selectFormalParentsStudentById(Long id);

    /**
     * 查询家长-学生(审核通过之后数据)列表
     *
     * @param formalParentsStudent 家长-学生(审核通过之后数据)
     * @return 家长-学生(审核通过之后数据)集合
     */
    public List<FormalParentsStudent> selectFormalParentsStudentList(FormalParentsStudent formalParentsStudent);

    /**
     * 新增家长-学生(审核通过之后数据)
     *
     * @param formalParentsStudent 家长-学生(审核通过之后数据)
     * @return 结果
     */
    public int insertFormalParentsStudent(FormalParentsStudent formalParentsStudent);

    /**
     * 修改家长-学生(审核通过之后数据)
     *
     * @param formalParentsStudent 家长-学生(审核通过之后数据)
     * @return 结果
     */
    public int updateFormalParentsStudent(FormalParentsStudent formalParentsStudent);

    /**
     * 删除家长-学生(审核通过之后数据)
     *
     * @param id 家长-学生(审核通过之后数据)主键
     * @return 结果
     */
    public int deleteFormalParentsStudentById(Long id);

    /**
     * 批量删除家长-学生(审核通过之后数据)
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFormalParentsStudentByIds(Long[] ids);

    void deleteFormalParentsStudentByParentsId(Long userId);

    @InterceptorIgnore(tenantLine = "true")
    List<FormalParentsStudentVo> getStudentByParentId(@Param("parentsId") String valueOf);

    @InterceptorIgnore(tenantLine = "true")
    void updateIsDelByStudent(@Param("userId") Long userId, @Param("classId")Long classId, @Param("studentName")String studentName);
}
