package com.srs.comprehensive.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import com.srs.comprehensive.mapper.ViewStuInfoMapper;
import com.srs.comprehensive.domain.ViewStuInfo;
import com.srs.comprehensive.service.IViewStuInfoService;

/**
 * 学生信息视图Service业务层处理
 *
 * @author srs
 * @date 2024-04-07
 */
@Service
public class ViewStuInfoServiceImpl extends ServiceImpl<ViewStuInfoMapper,ViewStuInfo> implements IViewStuInfoService {
    @Autowired
    private ViewStuInfoMapper viewStuInfoMapper;

    @Override
    public ViewStuInfo getStuInfo(String stuNo){
        QueryWrapper<ViewStuInfo> query = new QueryWrapper<>();
        query.eq("stu_no",stuNo)
                .last("limit 1");
        ViewStuInfo res = viewStuInfoMapper.selectOne(query);
        if(res!= null){
            res.setTeacherId(null);
            res.setTNo(null);
            res.setClassId(null);
            res.setClassCode(null);
            res.setMajorCode(null);
            res.setMajorId(null);
            res.setDeptCode(null);
            res.setDeptId(null);
        }
        return res;
    }


    /**
     * 查询学生信息视图
     *
     * @param stuId 学生信息视图主键
     * @return 学生信息视图
     */
    @Override
    public ViewStuInfo selectViewStuInfoByStuId(Long stuId) {
        return viewStuInfoMapper.selectViewStuInfoByStuId(stuId);
    }

    /**
     * 查询学生信息视图列表
     *
     * @param viewStuInfo 学生信息视图
     * @return 学生信息视图
     */
    @Override
    public List<ViewStuInfo> selectViewStuInfoList(ViewStuInfo viewStuInfo) {
        return viewStuInfoMapper.selectViewStuInfoList(viewStuInfo);
    }

    /**
     * 新增学生信息视图
     *
     * @param viewStuInfo 学生信息视图
     * @return 结果
     */
    @Override
    public int insertViewStuInfo(ViewStuInfo viewStuInfo) {
            return viewStuInfoMapper.insertViewStuInfo(viewStuInfo);
    }

    /**
     * 修改学生信息视图
     *
     * @param viewStuInfo 学生信息视图
     * @return 结果
     */
    @Override
    public int updateViewStuInfo(ViewStuInfo viewStuInfo) {
        return viewStuInfoMapper.updateViewStuInfo(viewStuInfo);
    }

    /**
     * 批量删除学生信息视图
     *
     * @param stuIds 需要删除的学生信息视图主键
     * @return 结果
     */
    @Override
    public int deleteViewStuInfoByStuIds(Long[] stuIds) {
        return viewStuInfoMapper.deleteViewStuInfoByStuIds(stuIds);
    }

    /**
     * 删除学生信息视图信息
     *
     * @param stuId 学生信息视图主键
     * @return 结果
     */
    @Override
    public int deleteViewStuInfoByStuId(Long stuId) {
        return viewStuInfoMapper.deleteViewStuInfoByStuId(stuId);
    }
}
