This commit is contained in:
雷欧(林平凡)
2025-01-22 11:18:30 +08:00
parent 016a99b17c
commit 5b0fa54e3a
5 changed files with 54 additions and 8 deletions

View File

@@ -3,12 +3,14 @@ package cn.van.business.mq;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import cn.van.business.util.WxtsUtil;
import com.alibaba.fastjson2.JSONObject;
import com.google.common.util.concurrent.RateLimiter;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.nio.charset.StandardCharsets;
@@ -24,13 +26,16 @@ import static cn.van.business.util.WXUtil.WX_BASE_URL;
* @description
*/
@Service
@RocketMQMessageListener(topic = "wx-message", consumerGroup = "${rocketmq.consumer.group}",nameServer = "${rocketmq.name-server}")
@RocketMQMessageListener(topic = "wx-message", consumerGroup = "${rocketmq.consumer.group}", nameServer = "${rocketmq.name-server}")
public class MessageConsumerService implements RocketMQListener<JSONObject> {
private static final Logger logger = LoggerFactory.getLogger(MessageConsumerService.class);
@Autowired
private WxtsUtil wxtsUtil;
// create a rate limiter of 1 qps
RateLimiter rateLimiter = RateLimiter.create(0.5);
@Override
public void onMessage(JSONObject jsonObject) {
// 处理消息
@@ -50,10 +55,12 @@ public class MessageConsumerService implements RocketMQListener<JSONObject> {
JSONObject response = JSONObject.parseObject(responseStr);
if (response.getInteger("code") != 200) {
// TODO: 如果需要处理错误,您可以在这里添加逻辑
wxtsUtil.sendNofity("消息发送失败: " + responseStr);
throw new RuntimeException("消息发送失败: " + responseStr);
}
//logger.info("消息成功发送并得到响应:{}", response);
} else {
wxtsUtil.sendNofity("消息发送失败,没有收到响应");
throw new RuntimeException("消息发送失败,没有收到响应");
}
} catch (Exception e) {