package com.srs.teacher.service.impl;

import java.util.List;

import com.srs.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import com.srs.teacher.mapper.SysTeacherCadreMeetingMaterialsMapper;
import com.srs.teacher.domain.SysTeacherCadreMeetingMaterials;
import com.srs.teacher.service.ISysTeacherCadreMeetingMaterialsService;

/**
 * 团干部会议佐证材料Service业务层处理
 *
 * @author chc
 * @date 2024-06-05
 */
@Service
public class SysTeacherCadreMeetingMaterialsServiceImpl extends ServiceImpl<SysTeacherCadreMeetingMaterialsMapper, SysTeacherCadreMeetingMaterials> implements ISysTeacherCadreMeetingMaterialsService {
    @Autowired
    private SysTeacherCadreMeetingMaterialsMapper sysTeacherCadreMeetingMaterialsMapper;

    /**
     * 查询团干部会议佐证材料
     *
     * @param id 团干部会议佐证材料主键
     * @return 团干部会议佐证材料
     */
    @Override
    public SysTeacherCadreMeetingMaterials selectSysTeacherCadreMeetingMaterialsById(Long id) {
        return sysTeacherCadreMeetingMaterialsMapper.selectSysTeacherCadreMeetingMaterialsById(id);
    }

    /**
     * 查询团干部会议佐证材料列表
     *
     * @param sysTeacherCadreMeetingMaterials 团干部会议佐证材料
     * @return 团干部会议佐证材料
     */
    @Override
    public List<SysTeacherCadreMeetingMaterials> selectSysTeacherCadreMeetingMaterialsList(SysTeacherCadreMeetingMaterials sysTeacherCadreMeetingMaterials) {
        sysTeacherCadreMeetingMaterials.setFdyName(SecurityUtils.getLoginUser().getUser().getNickName());
        return sysTeacherCadreMeetingMaterialsMapper.selectSysTeacherCadreMeetingMaterialsList(sysTeacherCadreMeetingMaterials);
    }

    /**
     * 根据辅导员名称、年份 月份 查询业绩考核-个人填报
     *
     * @param fdyName 辅导员名称主键
     * @return 业绩考核-个人填报
     */
    @Override
    public List<SysTeacherCadreMeetingMaterials> selectSysTeacherCadreMeetingMaterialsByFdyName(String fdyName, String fillingYear, String fillingMonth) {
        return sysTeacherCadreMeetingMaterialsMapper.selectSysTeacherCadreMeetingMaterialsByFdyName(fdyName, fillingYear, fillingMonth);
    }

    /**
     * 新增团干部会议佐证材料
     *
     * @param sysTeacherCadreMeetingMaterials 团干部会议佐证材料
     * @return 结果
     */
    @Override
    public int insertSysTeacherCadreMeetingMaterials(SysTeacherCadreMeetingMaterials sysTeacherCadreMeetingMaterials) {
        sysTeacherCadreMeetingMaterials.setFdyName(SecurityUtils.getLoginUser().getUser().getNickName());
        if (sysTeacherCadreMeetingMaterials.getId() != null) {
            return sysTeacherCadreMeetingMaterialsMapper.updateSysTeacherCadreMeetingMaterials(sysTeacherCadreMeetingMaterials);
        }
        return sysTeacherCadreMeetingMaterialsMapper.insertSysTeacherCadreMeetingMaterials(sysTeacherCadreMeetingMaterials);
    }

    /**
     * 修改团干部会议佐证材料
     *
     * @param sysTeacherCadreMeetingMaterials 团干部会议佐证材料
     * @return 结果
     */
    @Override
    public int updateSysTeacherCadreMeetingMaterials(SysTeacherCadreMeetingMaterials sysTeacherCadreMeetingMaterials) {
        sysTeacherCadreMeetingMaterials.setFdyName(SecurityUtils.getLoginUser().getUser().getNickName());
        return sysTeacherCadreMeetingMaterialsMapper.updateSysTeacherCadreMeetingMaterials(sysTeacherCadreMeetingMaterials);
    }

    /**
     * 批量删除团干部会议佐证材料
     *
     * @param ids 需要删除的团干部会议佐证材料主键
     * @return 结果
     */
    @Override
    public int deleteSysTeacherCadreMeetingMaterialsByIds(Long[] ids) {
        return sysTeacherCadreMeetingMaterialsMapper.deleteSysTeacherCadreMeetingMaterialsByIds(ids);
    }

    /**
     * 删除团干部会议佐证材料信息
     *
     * @param id 团干部会议佐证材料主键
     * @return 结果
     */
    @Override
    public int deleteSysTeacherCadreMeetingMaterialsById(Long id) {
        return sysTeacherCadreMeetingMaterialsMapper.deleteSysTeacherCadreMeetingMaterialsById(id);
    }
}
