You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.1 KiB
Java
57 lines
2.1 KiB
Java
package com.glxp.api.service.trace;
|
|
|
|
import cn.hutool.core.lang.UUID;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.config.rabbit.TopicRabbitConfig;
|
|
import com.glxp.api.entity.trace.MqTaskDelayMessage;
|
|
import com.glxp.api.entity.trace.MqTraceMessage;
|
|
import com.glxp.api.util.DateUtil;
|
|
import com.glxp.api.util.JsonUtils;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.amqp.core.MessageProperties;
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class RabbitPushService {
|
|
|
|
@Resource
|
|
private final RabbitTemplate rabbitTemplate;
|
|
|
|
|
|
public BaseResponse send(MqTraceMessage mqTraceMessage) {
|
|
|
|
rabbitTemplate.convertAndSend(TopicRabbitConfig.TRACE_TOPIC_EXCHANGE, TopicRabbitConfig.trace, JsonUtils.toJsonString(mqTraceMessage));
|
|
return ResultVOUtils.success("发送成功");
|
|
}
|
|
|
|
|
|
public BaseResponse sendDeleyTask(MqTaskDelayMessage mqTaskDelayMessage, Integer delayTime) {
|
|
rabbitTemplate.convertAndSend(TopicRabbitConfig.TRACE_DELAY_EXCHANGE, TopicRabbitConfig.delaytrace, mqTaskDelayMessage, message -> {
|
|
MessageProperties messageProperties = message.getMessageProperties();
|
|
messageProperties.setDelay(delayTime * 60);
|
|
return message;
|
|
});
|
|
return ResultVOUtils.success("发送成功");
|
|
}
|
|
|
|
|
|
public BaseResponse sendCommon(String key) {
|
|
String messageId = String.valueOf(UUID.randomUUID());
|
|
Map<String, Object> messageMap = new HashMap<>();
|
|
messageMap.put("messageId", messageId);
|
|
messageMap.put("messageData", key);
|
|
messageMap.put("createTime", DateUtil.formatDate(new Date()));
|
|
rabbitTemplate.convertAndSend(TopicRabbitConfig.TRACE_TOPIC_EXCHANGE, TopicRabbitConfig.common, messageMap);
|
|
return ResultVOUtils.success("发送成功");
|
|
}
|
|
}
|