package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Qukacc;
import com.brilliance.isc.vo.manager.QukaccVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface QukaccMapper {

    int insert(Qukacc record);

    int insertSelective(Qukacc record);

    int updateByPrimaryKey(Qukacc record);

    int updateByPrimaryKeySelective(Qukacc record);

    int deleteByPrimaryKey(Qukacc record);

    Qukacc selectByPrimaryKey(Qukacc record);

    // 仅根据用户 UsrExtKey 删除
    int deleteByUsrExtKey(Qukacc record);

    // 仅根据角色 roleIds 批量删除
    int deleteBatchByRoleIds(QukaccVo record);

    // 仅根据资源 resourceIds 批量删除
    int deleteBatchByResourceIds(QukaccVo record);

    // 根据 roleId 和 resourceIds 批量删除
    int deleteBatchByRoleIdAndResourceIds(QukaccVo record);

    // 根据用户 UsrExtKey 和角色 roleId 删除
    int deleteByUsrExtKeyAndRoleId(Qukacc record);

    int insertBatch(List<Qukacc> records);

    List<Qukacc> listByUsrExtKeyAndRoleId(QukaccVo record);

    List<Qukacc> listByRoleId(QukaccVo record);

    List<Qukacc> listByUsrExtKey(QukaccVo record);

}
