package com.starry.admin.modules.weichat.service;

import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity;
import com.starry.admin.modules.clerk.module.entity.PlayClerkUserReviewInfoEntity;
import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;

/**
 * 抽象出发送微信通知的接口，便于在测试环境下替换为 Mock 实现。
 */
public interface NotificationSender {

    void sendOrderMessageAsync(PlayOrderInfoEntity orderInfo);

    void sendOrderFinishMessageAsync(PlayOrderInfoEntity order);

    void sendOrderCancelMessageAsync(PlayOrderInfoEntity orderInfo, String refundReason);

    void sendComplaintMessage(PlayOrderComplaintInfoEntity info, PlayOrderInfoEntity orderInfo);

    void sendCheckMessage(PlayClerkUserReviewInfoEntity entity, PlayClerkUserInfoEntity userInfo, String reviewState);
}
