package com.njcn.mq.template;

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

import java.time.LocalDate;
import java.util.UUID;

/**
 * @author hongawen
 * @version 1.0.0
 * @date 2023年08月10日 14:44
 */
@Component
public class UserMessageTemplate extends RocketMQEnhanceTemplate {


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

    /**
     * 入参只需要传入是哪个订单号和业务体消息即可，其他操作根据需要处理
     * 这样对于调用者而言，可以更加简化调用
     */
    public SendResult sendMember(String userName, LocalDate birthday) {
        UserMessage message = new UserMessage();
        message.setKey(UUID.randomUUID().toString());
        message.setUserName(userName);
        message.setBirthday(birthday);
        return send("member_enhance", "CREATE", message);
    }

}