package com.njcn.msgpush.module.push.service.channel;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.msgpush.module.push.controller.admin.channel.vo.ChannelProviderConfigReqVO;
import com.njcn.msgpush.module.push.dal.dataobject.channel.ChannelProviderConfigDO;

import java.util.List;

public interface ChannelProviderConfigService extends IService<ChannelProviderConfigDO> {
    Page<ChannelProviderConfigDO> getPage(ChannelProviderConfigReqVO reqVO);

    List<ChannelProviderConfigDO> getActiveProviders();

    /**
     * 切换服务提供商enable字段
     *
     * @param id 服务提供商id
     * @return
     */
    ChannelProviderConfigDO toggleEnableField(String id);

    /**
     * 根据类型和渠道获取服务提供商
     *
     * @param providerType 服务提供商类型
     * @param channel      渠道
     * @return
     */
    ChannelProviderConfigDO getByTypeAndChannel(String providerType, String channel);

    void failureUpdate(String providerType, String channel);
}
