package com.njcn.mq.template;

import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.njcn.middle.rocket.domain.BaseMessage;
import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate;
import com.njcn.mq.constant.BusinessResource;
import com.njcn.mq.constant.BusinessTopic;
import com.njcn.mq.message.CldControlMessage;
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 CldControlMessageTemplate extends RocketMQEnhanceTemplate {

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

    public SendResult sendMember(CldControlMessage message, String tag) {
        BaseMessage baseMessage = new BaseMessage();
        baseMessage.setSource(BusinessResource.WEB_RESOURCE);
        baseMessage.setMessageBody(new Gson().toJson(message));
        return send(BusinessTopic.PROCESS_TOPIC,tag,baseMessage);
    }
}
