package com.template.services;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
import com.template.model.result.PageUtils;
import com.template.model.vo.EvaluateTeacherVo;
import com.template.model.vo.RankingVo;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author ceshi
 * @since 2024-01-02
 */
public interface SmartEvaluateTeacherService extends IService<SmartEvaluateTeacher> {

    int insertSmartEvaluateTeacher(SmartEvaluateTeacher sa);

    int updateSmartEvaluateTeacher(SmartEvaluateTeacher sa);

    PageUtils<SmartEvaluateTeacher> queryPageSmartEvaluateTeacher(int currentPage, int pageCount, QueryWrapper<SmartEvaluateTeacher> queryWrapper);

    int deleteSmartEvaluateTeacherById(int id);

    SmartEvaluateTeacher getSmartEvaluateTeacherById(int id);

    List<SmartEvaluateTeacher> getEvaluateTeacherList();

    List<SmartEvaluateTeacher> getEvaluateTeacherByKey(QueryWrapper<SmartEvaluateTeacher> queryWrapper);

    Double getAvgLowingScore(String term);

    List<EvaluateTeacherVo> smartTopTeacherList();

    List<RankingVo> getRankingList(String term);

    RankingVo getRanking(String term, String cardNo);

    int queryTeacherCount(Integer termId);

}
