package com.njcn.mq.template;

import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate;
import com.njcn.mq.constant.BusinessResource;
import com.njcn.mq.constant.BusinessTopic;
import com.njcn.mq.message.HeartbeatTimeoutMessage;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.stereotype.Component;

/**
 * 类的介绍：
 *
 * @author xuyang
 * @version 1.0.0
 * @createTime 2023/8/11 15:28
 */
@Component
public class HeartbeatTimeoutMessageTemplate extends RocketMQEnhanceTemplate {

    public HeartbeatTimeoutMessageTemplate(RocketMQTemplate template) {
        super(template);
    }

    public SendResult sendMember(HeartbeatTimeoutMessage heartbeatTimeoutMessage) {
        heartbeatTimeoutMessage.setSource(BusinessResource.WEB_RESOURCE);
        return send(BusinessTopic.HEARTBEAT_TIMEOUT_TOPIC, BusinessTopic.HeartTag.APF_TAG, heartbeatTimeoutMessage, heartbeatTimeoutMessage.getDelayLevel());
    }
}
