package com.kym.service.admin;

import com.github.yulichang.base.MPJBaseService;
import com.kym.entity.admin.StationWhitelist;
import com.kym.entity.admin.dto.BatchAddWhitelistDto;
import com.kym.entity.admin.queryParams.StationWhitelistQueryParam;
import com.kym.entity.admin.vo.StationWhitelistVo;
import com.kym.entity.common.PageBean;

import java.util.List;

public interface StationWhitelistService extends MPJBaseService<StationWhitelist> {

    PageBean<StationWhitelistVo> listWhitelist(StationWhitelistQueryParam param);

    void addWhitelist(StationWhitelist whitelist);

    void batchAddWhitelist(BatchAddWhitelistDto dto);

    void removeWhitelist(Long id);

    void batchRemoveWhitelist(List<Long> ids);

    void updateStatus(Long id, Integer status);

    boolean isInWhitelist(String stationId, Long userId);

    List<Long> getWhitelistUserIds(String stationId);

    void refreshCache(String stationId);

    void refreshAllCache();
}
