|
@@ -1,170 +0,0 @@
|
|
|
-package com.fdkankan.contro.mq.listener;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.fdkankan.contro.mq.service.impl.BuildSceneObjPostServiceImpl;
|
|
|
-import com.fdkankan.contro.mq.service.impl.BuildSceneObjPreServiceImpl;
|
|
|
-import com.fdkankan.contro.mq.service.impl.BuildScenePostServiceImpl;
|
|
|
-import com.fdkankan.contro.mq.service.impl.BuildScenePreServiceImpl;
|
|
|
-import com.fdkankan.contro.service.IBuildSceneDTService;
|
|
|
-import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
|
|
|
-import com.fdkankan.rabbitmq.bean.BuildSceneFailDTMqMessage;
|
|
|
-import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
|
|
|
-import com.rabbitmq.client.Channel;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.amqp.core.Message;
|
|
|
-import org.springframework.amqp.rabbit.annotation.Queue;
|
|
|
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-
|
|
|
-import java.nio.charset.StandardCharsets;
|
|
|
-
|
|
|
-/**
|
|
|
- * <p>
|
|
|
- * TODO
|
|
|
- * </p>
|
|
|
- *
|
|
|
- * @author dengsixing
|
|
|
- * @since 2022/4/19
|
|
|
- **/
|
|
|
-@Slf4j
|
|
|
-@Component
|
|
|
-public class RabbitMqListener {
|
|
|
- @Value("${queue.modeling.modeling-pre}")
|
|
|
- private String queueModelingPre;
|
|
|
- @Value("${queue.modeling.modeling-post}")
|
|
|
- private String queueModelingPost;
|
|
|
-
|
|
|
- @Value("${queue.modeling.obj.modeling-pre}")
|
|
|
- private String queueObjModelingPre;
|
|
|
- @Value("${queue.modeling.obj.modeling-post}")
|
|
|
- private String queueObjModelingPost;
|
|
|
-
|
|
|
- @Value("${queue.modeling.modeling-dt}")
|
|
|
- private String queueModelingDt;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private BuildScenePreServiceImpl buildScenePreService;
|
|
|
- @Autowired
|
|
|
- private BuildScenePostServiceImpl buildScenePostService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private BuildSceneObjPreServiceImpl buildSceneObjPreService;
|
|
|
- @Autowired
|
|
|
- private BuildSceneObjPostServiceImpl buildSceneObjPostService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IBuildSceneDTService buildSceneDTService;
|
|
|
-
|
|
|
- /**
|
|
|
- * 场景计算前置资源准备处理
|
|
|
- * @param channel
|
|
|
- * @param message
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @RabbitListener(
|
|
|
- queuesToDeclare = @Queue("${queue.modeling.modeling-pre}"),
|
|
|
- concurrency = "${maxThread.modeling.modeling-pre}"
|
|
|
- )
|
|
|
- public void buildScenePreHandler(Channel channel, Message message) throws Exception {
|
|
|
- Object correlation = message.getMessageProperties().getHeader("spring_returned_message_correlation");
|
|
|
- String correlationId = (String) correlation;
|
|
|
- String msg = new String(message.getBody(), StandardCharsets.UTF_8);
|
|
|
- log.info("场景计算资源准备开始,队列名:{},id:{},消息体:{}", queueModelingPre, correlationId, msg);
|
|
|
- BuildSceneCallMessage buildSceneMessage = JSONObject.parseObject(msg, BuildSceneCallMessage.class);
|
|
|
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
- Thread.sleep(2000L);
|
|
|
- buildScenePreService.buildScenePre(buildSceneMessage);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 场景计算后置结果处理
|
|
|
- * @param channel
|
|
|
- * @param message
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @RabbitListener(
|
|
|
- queuesToDeclare = @Queue("${queue.modeling.modeling-post}"),
|
|
|
- concurrency = "${maxThread.modeling.modeling-post}"
|
|
|
- )
|
|
|
- public void buildScenePostHandler(Channel channel, Message message) throws Exception {
|
|
|
- Object correlation = message.getMessageProperties().getHeader("spring_returned_message_correlation");
|
|
|
- String correlationId = (String) correlation;
|
|
|
- String msg = new String(message.getBody(), StandardCharsets.UTF_8);
|
|
|
- log.info("场景计算结果处理开始,队列名:{},id:{},消息体:{}", queueModelingPost, correlationId, msg);
|
|
|
- BuildSceneResultMqMessage resultMessage = JSONObject.parseObject(msg, BuildSceneResultMqMessage.class);
|
|
|
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
- Thread.sleep(2000L);
|
|
|
- buildScenePostService.buildScenePost(resultMessage);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 场景计算前置资源准备处理
|
|
|
- * @param channel
|
|
|
- * @param message
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @RabbitListener(
|
|
|
- queuesToDeclare = @Queue("${queue.modeling.obj.modeling-pre}"),
|
|
|
- concurrency = "${maxThread.modeling.modeling-pre}"
|
|
|
- )
|
|
|
- public void buildObjScenePreHandler(Channel channel, Message message) throws Exception {
|
|
|
- Object correlation = message.getMessageProperties().getHeader("spring_returned_message_correlation");
|
|
|
- String correlationId = (String) correlation;
|
|
|
- String msg = new String(message.getBody(), StandardCharsets.UTF_8);
|
|
|
- log.info("场景计算资源准备开始,队列名:{},id:{},消息体:{}", queueModelingPre, correlationId, msg);
|
|
|
- BuildSceneCallMessage buildSceneMessage = JSONObject.parseObject(msg, BuildSceneCallMessage.class);
|
|
|
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
- Thread.sleep(2000L);
|
|
|
- buildSceneObjPreService.buildScenePre(buildSceneMessage);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 场景计算后置结果处理
|
|
|
- * @param channel
|
|
|
- * @param message
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @RabbitListener(
|
|
|
- queuesToDeclare = @Queue("${queue.modeling.obj.modeling-post}"),
|
|
|
- concurrency = "${maxThread.modeling.modeling-post}"
|
|
|
- )
|
|
|
- public void buildObjScenePostHandler(Channel channel, Message message) throws Exception {
|
|
|
- Object correlation = message.getMessageProperties().getHeader("spring_returned_message_correlation");
|
|
|
- String correlationId = (String) correlation;
|
|
|
- String msg = new String(message.getBody(), StandardCharsets.UTF_8);
|
|
|
- log.info("场景计算结果处理开始,队列名:{},id:{},消息体:{}", queueObjModelingPost, correlationId, msg);
|
|
|
- BuildSceneResultMqMessage resultMessage = JSONObject.parseObject(msg, BuildSceneResultMqMessage.class);
|
|
|
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
- Thread.sleep(2000L);
|
|
|
- buildSceneObjPostService.buildScenePost(resultMessage);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 场景计算发送钉钉消息
|
|
|
- * @param channel
|
|
|
- * @param message
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @RabbitListener(
|
|
|
- queuesToDeclare = @Queue("${queue.modeling.modeling-dt}"),
|
|
|
- concurrency = "${maxThread.modeling.modeling-dt}"
|
|
|
- )
|
|
|
- public void buildSceneDTHandler(Channel channel, Message message) throws Exception {
|
|
|
- Object correlation = message.getMessageProperties().getHeader("spring_returned_message_correlation");
|
|
|
- String correlationId = (String) correlation;
|
|
|
- String msg = new String(message.getBody(), StandardCharsets.UTF_8);
|
|
|
- log.info("发送钉钉消息处理,队列名:{},id:{},消息体:{}", queueModelingDt, correlationId, msg);
|
|
|
- BuildSceneFailDTMqMessage dtMessage = JSONObject.parseObject(msg, BuildSceneFailDTMqMessage.class);
|
|
|
-// buildSceneDTService.handFail(dtMessage.getReason(), dtMessage.getServerPath(),
|
|
|
-// dtMessage.getNum(), dtMessage.getHostName(), DingTalkConst.contentExt);
|
|
|
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|