package com.template.services.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.template.mapper.SmartEvaluateStudentMapper;
import com.template.model.evaluate.student.SmartEvaluateStudent;
import com.template.model.result.PageUtils;
import com.template.model.vo.HistoricalEvaluationVo;
import com.template.services.SmartEvaluateStudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 用户表 服务实现类
*
*
* @author ceshi
* @since 2024-01-08
*/
@Service
public class SmartEvaluateStudentServiceImpl extends ServiceImpl implements SmartEvaluateStudentService {
@Autowired
private SmartEvaluateStudentMapper smartEvaluateStudentMapper;
@Override
public int insertSmartEvaluateStudent(SmartEvaluateStudent sa) {
int result = smartEvaluateStudentMapper.insert(sa);
return result;
}
@Override
public int updateSmartEvaluateStudent(SmartEvaluateStudent sa) {
int result = smartEvaluateStudentMapper.updateById(sa);
return result;
}
@Override
public PageUtils queryPageSmartEvaluateStudent(int currentPage, int pageCount, QueryWrapper queryWrapper) {
Page page = new Page<>(currentPage, pageCount);
IPage result = smartEvaluateStudentMapper.selectPage(page, queryWrapper);
return new PageUtils<>(result);
}
@Override
public List queryPageSmartEvaluateStudent(QueryWrapper queryWrapper) {
List result = smartEvaluateStudentMapper.selectList(queryWrapper);
return result;
}
@Override
public int deleteSmartEvaluateStudentById(int id) {
int result = smartEvaluateStudentMapper.deleteById(id);
return result;
}
@Override
public SmartEvaluateStudent getSmartEvaluateStudentById(int id) {
SmartEvaluateStudent result = smartEvaluateStudentMapper.selectById(id);
return result;
}
@Override
public List getSmartEvaluateStudentList() {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("deleted", 0);
List result = smartEvaluateStudentMapper.selectList(queryWrapper);
return result;
}
@Override
public List getSmartEvaluateStudentByKey(QueryWrapper queryWrapper) {
List result = smartEvaluateStudentMapper.selectList(queryWrapper);
return result;
}
@Override
public SmartEvaluateStudent getTeacherMessage(String cardNo, String termId) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SmartEvaluateStudent::getTermId, termId)
.eq(SmartEvaluateStudent::getCardNo, cardNo);
SmartEvaluateStudent ses = this.getOne(wrapper);
return ses;
}
@Override
public List getHistoricalEvaluation(String cardNo) {
return smartEvaluateStudentMapper.getHistoricalEvaluation(cardNo);
}
@Override
public List getEvaluateStudents(List userIds, List semesterIds) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", userIds);
queryWrapper.in("term_id", semesterIds);
List evaluateStudents = smartEvaluateStudentMapper.selectList(queryWrapper);
return evaluateStudents;
}
@Override
public List getEvaluateStudents(List userIds, Integer semesterId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", userIds);
queryWrapper.eq("term_id", semesterId);
List evaluateStudents = smartEvaluateStudentMapper.selectList(queryWrapper);
return evaluateStudents;
}
@Override
public int deleteEvaluateStudents(List ids) {
int result = smartEvaluateStudentMapper.deleteBatchIds(ids);
return result;
}
@Override
public SmartEvaluateStudent getEvaluateStudent(Integer userId, Integer semesterId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", userId);
queryWrapper.in("term_id", semesterId);
SmartEvaluateStudent result = smartEvaluateStudentMapper.selectOne(queryWrapper);
return result;
}
@Override
public List queryUseEvaluateStudents(List gradeIds, List termIds) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("grade_id", gradeIds);
queryWrapper.in("term_id", termIds);
queryWrapper.gt("score_num", 0);
List result = smartEvaluateStudentMapper.selectList(queryWrapper);
return result;
}
}