package com.template.services;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.template.model.dto.WarningUserDto;
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;
/**
*
* 服务类
*
*
* @author ceshi
* @since 2023-12-04
*/
public interface SmartUserService extends IService {
int insertSmartUser(SmartUser rns);
int updateSmartUser(SmartUser rns);
PageUtils queryPageSmartUsers(int currentPage, int pageCount, List departmentIds);
List getSmartUserByIds(List ids);
List getSmartUserIds(List ids);
int getSmartUserCountByIds(List ids);
boolean updateUserBatchById(List users);
Integer querySmartUserByCardNo(String cardNo);
int deleteSmartUserById(int id);
int deleteSmartUserByIds(List ids);
List getSmartUserList(List ids);
List queryAffiliateUserById(@Param("id") Integer id);
PageUtils querySmartUserPages(int currentPage, int pageCount, List departmentIds, String name);
PageUtils querySmartSecordPage(int currentPage, int pageCount, String name, Integer userId);
List querySmartUsers(List departmentIds, String name);
List queryStudentDatas();
List queryStudentBySchoolClass(Integer schoolClass);
PageUtils warningUserList(int currentPage, int pageCount, String name);
List warningPushList();
List queryAffiliateParents(Integer userId);
/**
* 获取用户信息
* @param name 姓名
* @param cardNo 编号
* @param idCard 身份证号
* @return
*/
SmartUser queryUserInfo(String name,String cardNo,String idCard);
SmartUser getSmartById(Integer id);
List getSmartUserByxwuids(List xwuids);
/**
* 获取可推送的人
* @return
*/
List getListPush();
/**
* 通过id查找所关联的人
* @param id
* @return
*/
List getAffiliateList(Integer id);
List querySmartUserByCardNos(List cardNos);
SmartUserVo querySmartUserById(Integer id);
int deleteUserBatch(List list);
PageUtils queryUserDeletePage(int currentPage, int pageCount);
SmartStudentVo querySmartStudentById(Integer userId);
List queryStudentsByGrade(List gradeIds);
List queryUsersByClass(Integer schoolClass);
List getListUser();
/**
* 通过手机号找到对应的人
* @param phone
* @return
*/
SmartUser getPhoneUser(String phone);
/**
* 通过手机号找到对应的人
* @param phone
* @return
*/
List getPhoneUsers(String phone);
/**
* 通过关联人找到对应用户
* @param affiliate
* @return
*/
List getAffiliateUser(String affiliate);
/**
* 通过身份证号和学号查询对应的人
* @param certificateNumber
* @return
*/
SmartUser getCard(String certificateNumber);
/**
* 通过百胜门禁编号查询对应的人
* @param idNum
* @return
*/
SmartUser getBsStudentNo(String idNum);
List getChargeTeacher(Integer schoolClass);
}