diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/CommunityEGEventController.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/CommunityEGEventController.java deleted file mode 100644 index 38d018d..0000000 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/CommunityEGEventController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.volvo.ai.analytic.center.controller; - - -import com.alibaba.fastjson.JSON; -import com.volvo.ai.analytic.center.service.SpokesManService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - - -@RestController -@RequestMapping("/community/event") -@Slf4j -public class CommunityEGEventController { - - @Autowired - private SpokesManService spokesmanService; - - @PostMapping("/spokesmanCallBack") - public void spokesmanCallBack(@RequestBody String req){ - log.info("社区特邀发言官入参:{}", JSON.toJSONString(req)); - spokesmanService.spokesManCallBack(req); - } -} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/InvitedSpeakerConsumer.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/InvitedSpeakerConsumer.java new file mode 100644 index 0000000..2a085ae --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/InvitedSpeakerConsumer.java @@ -0,0 +1,25 @@ +package com.volvo.ai.analytic.center.mq; + +import com.volvo.ai.analytic.center.service.SpokesManService; +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.common.message.MessageExt; +import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; +import org.apache.rocketmq.spring.core.RocketMQListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +@RocketMQMessageListener(consumerGroup = "${rocketmq.consumer.InvitedSpeaker.group}", + topic = "${rocketmq.consumer.InvitedSpeaker.topic}", + enableMsgTrace = true) +public class InvitedSpeakerConsumer implements RocketMQListener { + + @Autowired + private SpokesManService spokesmanService; + @Override + public void onMessage(MessageExt messageExt) { + log.info("特邀发言官 message: " + messageExt); + spokesmanService.spokesManCallBack(new String(messageExt.getBody())); + } +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/SpokesManService.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/SpokesManService.java index 601422f..d7c6304 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/SpokesManService.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/SpokesManService.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.huaweicloud.sdk.eg.v1.model.CloudEvents; import com.volvo.ai.analytic.center.dto.req.DiFyReq; import com.volvo.ai.analytic.center.dto.req.DifyImageWorkFlow; import com.volvo.ai.analytic.center.dto.req.SpokesManDTO; @@ -19,6 +18,7 @@ import com.volvo.ai.analytic.center.mapper.AiAnalyticBusinessConfigMapper; import com.volvo.ai.analytic.center.utils.AiAnalysisUtils; import com.volvo.ai.analytic.center.utils.PublishedTimeFormatter; import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; @@ -41,23 +41,20 @@ public class SpokesManService { @Autowired private DiFyService diFyService; - @Autowired - private HuaWeiEGService huaWeiEGService; - @Autowired private AiAnalysisRequestLogsMapper aiAnalysisRequestLogsMapper; @Autowired private AiAnalysisErrorsMapper aiAnalysisErrorsMapper; + @Autowired + private RocketMQTemplate rocketMQTemplate; + @Value("${dify.spokesMan.token}") private String spokesManToken; - @Value("${huawei.cloud.EG.spokesMan.channelId}") - private String channelId; - - @Value("${huawei.cloud.EG.spokesMan.sourceId}") - private String sourceId; + @Value("${rocketmq.producer.InvitedSpeaker.topic}") + private String topic; /** * 处理社区特邀发言官回调请求 @@ -117,15 +114,8 @@ public class SpokesManService { difSpokesManResult.put("aiAnalysisRequestId", aiAnalysisRequestId); //处理发布时间 updatePublishedTime(difSpokesManResult); - //发送事件网格 - CloudEvents cloudEvents = new CloudEvents(); - cloudEvents.setData(difSpokesManResult); - cloudEvents.setSource(sourceId); - cloudEvents.setSpecversion("1.0"); - cloudEvents.setDatacontenttype("application/json"); - cloudEvents.setType("SPOKESMAN"); - cloudEvents.setId(aiAnalysisRequestId); - huaWeiEGService.sendEvent(cloudEvents, channelId); + //返回结果推送到社区的MQ + rocketMQTemplate.syncSend(topic, difSpokesManResult.toString()); //异步更新dify响应日志 syncUpdateDiFyResponse(difSpokesManResult, aiAnalysisRequestId); } catch (Exception e) {