package com.srs.system.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.system.mapper.SysDeptMapMapper;
import com.srs.system.domain.SysDeptMap;
import com.srs.system.service.ISysDeptMapService;

/**
 * 部门映射Service业务层处理
 *
 * @author srs
 * @date 2024-05-13
 */
@Service
public class SysDeptMapServiceImpl extends ServiceImpl<SysDeptMapMapper,SysDeptMap> implements ISysDeptMapService {
    @Autowired
    private SysDeptMapMapper sysDeptMapMapper;

    @Override
    public SysDeptMap getOldDeptByNewId(Long id){
        QueryWrapper<SysDeptMap> query = new QueryWrapper<>();
        query.eq("new_dept_id",id)
                .last("limit 1");
        return sysDeptMapMapper.selectOne(query);
    }

    @Override
    public SysDeptMap getNewDeptByOldId(Long id){
        QueryWrapper<SysDeptMap> query = new QueryWrapper<>();
        query.eq("old_dept_id",id)
                .last("limit 1");
        return sysDeptMapMapper.selectOne(query);
    }


    /**
     * 查询部门映射
     *
     * @param id 部门映射主键
     * @return 部门映射
     */
    @Override
    public SysDeptMap selectSysDeptMapById(Long id) {
        return sysDeptMapMapper.selectSysDeptMapById(id);
    }

    /**
     * 查询部门映射列表
     *
     * @param sysDeptMap 部门映射
     * @return 部门映射
     */
    @Override
    public List<SysDeptMap> selectSysDeptMapList(SysDeptMap sysDeptMap) {
        return sysDeptMapMapper.selectSysDeptMapList(sysDeptMap);
    }

    /**
     * 新增部门映射
     *
     * @param sysDeptMap 部门映射
     * @return 结果
     */
    @Override
    public int insertSysDeptMap(SysDeptMap sysDeptMap) {
            return sysDeptMapMapper.insertSysDeptMap(sysDeptMap);
    }

    /**
     * 修改部门映射
     *
     * @param sysDeptMap 部门映射
     * @return 结果
     */
    @Override
    public int updateSysDeptMap(SysDeptMap sysDeptMap) {
        return sysDeptMapMapper.updateSysDeptMap(sysDeptMap);
    }

    /**
     * 批量删除部门映射
     *
     * @param ids 需要删除的部门映射主键
     * @return 结果
     */
    @Override
    public int deleteSysDeptMapByIds(Long[] ids) {
        return sysDeptMapMapper.deleteSysDeptMapByIds(ids);
    }

    /**
     * 删除部门映射信息
     *
     * @param id 部门映射主键
     * @return 结果
     */
    @Override
    public int deleteSysDeptMapById(Long id) {
        return sysDeptMapMapper.deleteSysDeptMapById(id);
    }
}
