Xiewj před 3 roky
rodič
revize
5710531444

+ 18 - 5
sxz-core/src/main/java/com/fdkk/sxz/other/listener/AddMoldelBuild.java

@@ -16,16 +16,21 @@ import com.fdkk.sxz.vo.request.RequestRenovationPartsDetailManager;
 import com.fdkk.sxz.webApi.service.*;
 import com.fdkk.sxz.webApi.service.custom.ICustomComponentService;
 import com.fdkk.sxz.webApi.service.custom.ICustomProductService;
+import com.rabbitmq.client.AMQP;
+import com.rabbitmq.client.Channel;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.amqp.support.AmqpHeaders;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.messaging.Message;
+import org.springframework.messaging.handler.annotation.Header;
 import org.springframework.stereotype.Component;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -78,14 +83,22 @@ public class AddMoldelBuild {
     @RabbitListener(queues = TopicRabbitConfig.ADDMODEL)
     public void syncModel(Message<RequestRenovationPartsDetailManager> message) {
         AddMoldelBuild.log.info("模型syncmodel:" + message.getPayload() + ",开始同步");
-        if (message.getPayload().getQueryType() == 3) {
-             syncModel(message.getPayload());
-        } else {
-            syncModelHandler(message.getPayload());
-        }
+        syncModelHandler(message.getPayload());
+
 
     }
+    @RabbitHandler
+    @RabbitListener(queues = TopicRabbitConfig.ADDMODELTO3D)
+    public void addmodelto3d(Message<RequestRenovationPartsDetailManager> message, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag, Channel channel) {
+        AddMoldelBuild.log.info("模型addmodelto3d:" + message.getPayload() + ",开始同步");
+        try {
+            syncModel(message.getPayload());
+            channel.basicAck(deliveryTag, false);//消息确认
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
 
+    }
     public void syncModel(RequestRenovationPartsDetailManager param) {
         String token = RedisUtil.tryLock(param.getFileId().toString() + "syncModel", 60 * 1000);
         try {

+ 10 - 2
sxz-core/src/main/java/com/fdkk/sxz/other/mq/TopicRabbitConfig.java

@@ -31,7 +31,8 @@ public class TopicRabbitConfig {
 
     //上传后提交模型
     public final static String ADDMODEL = "topic.addModel.dev";
-
+    //上传后提交模型3D端
+    public final static String ADDMODELTO3D = "topic.addmodelto3d.dev";
     //处理
     public final static String MVIEW = "delay.mview.dev";
 
@@ -86,6 +87,10 @@ public class TopicRabbitConfig {
     public Queue addModelQueue() {
         return new Queue(TopicRabbitConfig.ADDMODEL);
     }
+    @Bean
+    public Queue addmodelto3dQueue() {
+        return new Queue(TopicRabbitConfig.ADDMODELTO3D);
+    }
 
     //@Bean
     //public Queue modelCreatThumQueue() {
@@ -135,5 +140,8 @@ public class TopicRabbitConfig {
     Binding bindingExchangeMessage7() {
         return BindingBuilder.bind(addModelQueue()).to(exchange()).with(TopicRabbitConfig.ADDMODEL);
     }
-
+    @Bean
+    Binding bindingExchangeMessage8() {
+        return BindingBuilder.bind(addmodelto3dQueue()).to(exchange()).with(TopicRabbitConfig.ADDMODELTO3D);
+    }
 }

+ 1 - 1
sxz-core/src/main/java/com/fdkk/sxz/webApi/controller/ManagerController.java

@@ -617,7 +617,7 @@ public class ManagerController extends BaseController {
     public Result addModelDetail(@RequestBody RequestRenovationPartsDetailManager param) throws Exception {
         Message message = MessageBuilder.withPayload(param).build();
         if (param.getQueryType()!=null&&param.getQueryType()==3){
-            rabbitTemplate.convertAndSend(TopicRabbitConfig.TOPICE, TopicRabbitConfig.ADDMODEL, message);
+            rabbitTemplate.convertAndSend(TopicRabbitConfig.TOPICE, TopicRabbitConfig.ADDMODELTO3D, message);
         }else {
             if (param.getModelUploadId() == null) {
                 return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);