package com.template.services;

import com.template.model.pojo.SmartUser;
import com.template.model.pojo.SmartUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.template.model.result.PageUtils;
import com.template.model.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ceshi
 * @since 2023-12-04
 */
public interface SmartUserService extends IService<SmartUser> {
    int insertSmartUser(SmartUser rns);

    int updateSmartUser(SmartUser rns);

    PageUtils<SmartUser> queryPageSmartUsers(int currentPage, int pageCount, List<Integer> departmentIds);

    List<SmartUser> getSmartUserByIds(List<Integer> ids);

    List<SmartUser> getSmartUserIds(List<String> ids);

    int getSmartUserCountByIds(List<Integer> ids);

    boolean updateUserBatchById(List<SmartUser> users);

    Integer querySmartUserByCardNo(String cardNo);

    int deleteSmartUserById(int id);

    int deleteSmartUserByIds(List<Integer> ids);

    SmartUser getSmartById(int id);

    List<AffiliateUserVo> queryAffiliateUserById(@Param("id") Integer id);

    PageUtils<UserVo> querySmartUserPages(int currentPage, int pageCount, List<Integer> departmentIds, String name);

    PageUtils<GradeVo> querySmartSecordPage(int currentPage, int pageCount, String name);

    List<SmartUser> querySmartUsers(List<Integer> departmentIds, String name);

    List<SmartUser> queryStudentDatas();
	List<SmartUser> queryStudentBySchoolClass(Integer schoolClass);

    PageUtils<UserVo> warningUserList(int currentPage, int pageCount, List<Integer> departmentIds, String name);

    List<SmartUser> warningPushList();

    List<AffiliateParentVo> queryAffiliateParents(Integer userId);

    /**
     * 获取用户信息
     * @param name 姓名
     * @param cardNo 编号
     * @param idCard 身份证号
     * @return
     */
    SmartUser queryUserInfo(String name,String cardNo,String idCard);
}
