package com.kym.service;

import com.github.yulichang.base.MPJBaseService;
import com.kym.entity.FaultSubscriber;

import java.util.List;

/**
 * 故障通知订阅服务
 *
 * @author skyline
 */
public interface FaultSubscriberService extends MPJBaseService<FaultSubscriber> {

    /**
     * 绑定订阅（扫码绑定）
     *
     * @param openid    公众号openid
     * @param stationId 站点ID
     */
    void subscribe(String openid, String stationId);

    /**
     * 解绑订阅（再次扫码解绑）
     *
     * @param openid    公众号openid
     * @param stationId 站点ID
     */
    void unsubscribe(String openid, String stationId);

    /**
     * 获取站点的所有已订阅的openid列表
     */
    List<String> getSubscribedOpenids(String stationId);

    /**
     * 切换订阅状态（绑定↔解绑），返回切换后的状态描述
     */
    String toggleSubscription(String openid, String stationId);
}
