package com.boman.system.service.impl;

import java.util.List;

import com.boman.common.core.utils.DateUtils;
import com.boman.common.core.utils.SecurityUtils;
import com.boman.common.core.utils.array.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.boman.system.mapper.SysRoleDataMapper;
import com.boman.domain.SysRoleData;
import com.boman.system.service.ISysRoleDataService;

/**
 * 角色权限数据Service业务层处理
 * 
 * @author ruoyi
 * @date 2021-04-26
 */
@Service
public class SysRoleDataServiceImpl implements ISysRoleDataService 
{
    @Autowired
    private SysRoleDataMapper sysRoleDataMapper;

    /**
     * 查询角色权限数据
     * 
     * @param id 角色权限数据ID
     * @return 角色权限数据
     */
    @Override
    public SysRoleData selectSysRoleDataById(Long id)
    {
        return sysRoleDataMapper.selectSysRoleDataById(id);
    }

    /**
     * 查询角色权限数据
     *
     * @param idList 角色权限数据ID
     * @return 角色权限数据
     */
    @Override
    public List<SysRoleData> listByRoleIdList(List<Long> idList) {
        return sysRoleDataMapper.listByRoleIdList(idList);
    }

    /**
     * 查询角色权限数据列表
     * 
     * @param sysRoleData 角色权限数据
     * @return 角色权限数据
     */
    @Override
    public List<SysRoleData> selectSysRoleDataList(SysRoleData sysRoleData)
    {
        return sysRoleDataMapper.selectSysRoleDataList(sysRoleData);
    }

    /**
     * 新增角色权限数据
     * 
     * @param sysRoleData 角色权限数据
     * @return 结果
     */
    @Override
    public int insertSysRoleData(SysRoleData sysRoleData)
    {
        sysRoleData.setCreateTime(DateUtils.getNowDate());
        sysRoleData.setCreateBy(SecurityUtils.getUsername());
        return sysRoleDataMapper.insertSysRoleData(sysRoleData);
    }

    /**
     * 修改角色权限数据
     * 
     * @param sysRoleData 角色权限数据
     * @return 结果
     */
    @Override
    public int updateSysRoleData(SysRoleData sysRoleData)
    {
        sysRoleData.setUpdateTime(DateUtils.getNowDate());
        sysRoleData.setUpdateBy(SecurityUtils.getUsername());
        return sysRoleDataMapper.updateSysRoleData(sysRoleData);
    }

    /**
     * 批量删除角色权限数据
     * 
     * @param ids 需要删除的角色权限数据ID
     * @return 结果
     */
    @Override
    public int deleteSysRoleDataByIds(Long[] ids)
    {
        return sysRoleDataMapper.deleteSysRoleDataByIds(ids);
    }

    /**
     * 删除角色权限数据信息
     * 
     * @param id 角色权限数据ID
     * @return 结果
     */
    @Override
    public int deleteSysRoleDataById(Long id)
    {
        return sysRoleDataMapper.deleteSysRoleDataById(id);
    }

    /**
     * 功能描述: 根据roleIds和tableName查找
     *
     * @param roleIds   逗号相隔的roleIdS
     * @param tableName tableName
     * @return java.util.List<com.boman.domain.SysRoleData>
     */
    @Override
    public List<SysRoleData> listByRoleIdListTableName(String roleIds, String tableName) {
        List<Long> roleIdList = ArrayUtils.split(roleIds);
        return sysRoleDataMapper.listByRoleIdListTableName(roleIdList, tableName);
    }
}
