package com.template.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.template.model.dto.WarningUserDto;
import com.template.model.pojo.SmartUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.template.model.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
/**
*
* Mapper 接口
*
*
* @author ceshi
* @since 2023-12-04
*/
@Repository
public interface SmartUserMapper extends BaseMapper {
List queryAffiliateUserById(@Param("id") Integer id);
IPage querySmartUserPages(IPage page, @Param("departmentIds") List departmentIds, @Param("name") String name);
List querySmartUsers(@Param("departmentIds") List departmentIds, @Param("name") String name);
IPage querySmartSecordPage(IPage page, @Param("name") String name, @Param("userId") Integer userId);
IPage queryUserDeletePage(IPage page);
IPage warningUserList(Page page, @Param("name") String name);
List warningPushList();
List queryAffiliateParents(@Param("userId") Integer userId);
List getAffiliateList(@Param("id") Integer id);
SmartUserVo querySmartUserById(@Param("userId") Integer userId);
int deleteUserBatch(@Param("list") List list);
SmartStudentVo querySmartStudentById(@Param("userId") Integer userId);
List getAffiliateUser(@Param("affiliate") String affiliate);
List studentSelect(@Param("keyWord") String keyWord);
List querySmartParentByIds(@Param("studentIds") List studentIds);
List getAccessStatisticsCampus(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
List getAttendanceStatisticsCampus(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
List getFaceDiscernStatisticsCampus(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
List getAckStatisticsCampus(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
List getClassStudent(@Param("classId") Integer classId);
List getAccessStatisticsCampusManage(@Param("gradeId") Integer gradeId,@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
List getAttendanceStatisticsCampusManage(@Param("gradeId") Integer gradeId, @Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
List getFaceDiscernStatisticsCampusManage(@Param("gradeId") Integer gradeId, @Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
List getAckStatisticsCampusManage(@Param("gradeId") Integer gradeId, @Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
List getClassStudentManage(@Param("gradeId") Integer gradeId, @Param("classId")Integer classId,@Param("keyWord")String keyWord);
IPage getPage(Page page,@Param("keyWord") String keyWord,@Param("schoolClass") String schoolClass);
}