package com.admin.major.service.impl;

import java.util.List;
import com.admin.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.admin.common.utils.SecurityUtils;
import com.admin.common.utils.uuid.IdUtils;
import com.admin.major.mapper.SpecialApplyMapper;
import com.admin.major.domain.SpecialApply;
import com.admin.major.service.ISpecialApplyService;

/**
 * 特别申请Service业务层处理
 * 
 * @author zewei
 * @date 2022-03-28
 */
@Service
public class SpecialApplyServiceImpl implements ISpecialApplyService 
{
    @Autowired
    private SpecialApplyMapper specialApplyMapper;

    /**
     * 查询特别申请
     * 
     * @param specialApplyId 特别申请主键
     * @return 特别申请
     */
    @Override
    public SpecialApply selectSpecialApplyBySpecialApplyId(String specialApplyId)
    {
        return specialApplyMapper.selectSpecialApplyBySpecialApplyId(specialApplyId);
    }

    /**
     * 查询特别申请列表
     * 
     * @param specialApply 特别申请
     * @return 特别申请
     */
    @Override
    public List<SpecialApply> selectSpecialApplyList(SpecialApply specialApply)
    {
        return specialApplyMapper.selectSpecialApplyList(specialApply);
    }



    /**
     * 查询特别申请
     *
     * @param specialApply 特别申请
     * @return 特别申请
     */
    @Override
    public SpecialApply selectOneSpecialApply(SpecialApply specialApply)
    {
        return specialApplyMapper.selectSpecialApplyList(specialApply)
                .stream()
                .findFirst()
                .orElse(null);
    }

    /**
     * 新增特别申请
     *
     * @param specialApply 特别申请
     * @return 结果
     */

    @Override
    public int insertSpecialApply(SpecialApply specialApply)
    {
        specialApply.setCreateTime(DateUtils.getNowDate());
        specialApply.setUpdateUserId(SecurityUtils.getUserId());
        return specialApplyMapper.insertSpecialApply(specialApply);
    }

    /**
     * 修改特别申请
     * 
     * @param specialApply 特别申请
     * @return 结果
     */
    @Override
    public int updateSpecialApply(SpecialApply specialApply)
    {
        specialApply.setUpdateTime(DateUtils.getNowDate());
        specialApply.setUpdateUserId(SecurityUtils.getUserId());
        return specialApplyMapper.updateSpecialApply(specialApply);
    }

    /**
     * 批量删除特别申请
     * 
     * @param specialApplyIds 需要删除的特别申请主键
     * @return 结果
     */
    @Override
    public int deleteSpecialApplyBySpecialApplyIds(String[] specialApplyIds)
    {
        return specialApplyMapper.deleteSpecialApplyBySpecialApplyIds(specialApplyIds);
    }

    /**
     * 删除特别申请信息
     * 
     * @param specialApplyId 特别申请主键
     * @return 结果
     */
    @Override
    public int deleteSpecialApplyBySpecialApplyId(String specialApplyId)
    {
        return specialApplyMapper.deleteSpecialApplyBySpecialApplyId(specialApplyId);
    }
}
