Browse Source

视频修复

by su 3 years ago
parent
commit
6ad6c10dc1

+ 1 - 1
4dkankan-base/src/main/java/com/fdkankan/base/mq/ModelingMsgProducer.java

@@ -43,7 +43,7 @@ public class ModelingMsgProducer implements RabbitTemplate.ConfirmCallback {
 
     public void sendMsg(String content) {
         CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString());
-        rabbitTemplate.convertAndSend(RabbitConfig.EXCHANGE_A, RabbitConfig.ROUTINGKEY_A, content, correlationId);
+        rabbitTemplate.convertAndSend("", "", content, correlationId);
 //        rabbitTemplate.convertAndSend(RabbitConfig.EXCHANGE_MODELING, RabbitConfig.ROUTINGKEY_MODELING_A, content, correlationId);
 
     }

+ 0 - 112
4dkankan-base/src/main/java/com/fdkankan/base/mq/RabbitConfig.java

@@ -1,112 +0,0 @@
-package com.fdkankan.base.mq;
-
-import lombok.extern.log4j.Log4j2;
-import org.springframework.amqp.core.Binding;
-import org.springframework.amqp.core.BindingBuilder;
-import org.springframework.amqp.core.DirectExchange;
-import org.springframework.amqp.core.Queue;
-import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
-import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
-import org.springframework.amqp.rabbit.connection.ConnectionFactory;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.beans.factory.config.ConfigurableBeanFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Scope;
-
-
-@Log4j2
-@Configuration
-public class RabbitConfig {
-
-//    @Value("${spring.rabbitmq.host}")
-//    private String host;
-//
-//    @Value("${spring.rabbitmq.port}")
-//    private int port;
-
-    @Value("${spring.rabbitmq.address}")
-    private String address;
-
-    @Value("${spring.rabbitmq.username}")
-    private String username;
-
-    @Value("${spring.rabbitmq.password}")
-    private String password;
-
-    @Value("${rabbitmq.queue}")
-    private String queue;
-
-
-    public static final String EXCHANGE_A = "QUEUE_EXCHANGE_A";
-    public static final String ROUTINGKEY_A = "QUEUE_ROUTINGKEY_A";
-
-    @Bean
-    public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
-        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
-        factory.setConnectionFactory(connectionFactory());
-        factory.setPrefetchCount(1);
-        return factory;
-    }
-
-    @Bean
-    public ConnectionFactory connectionFactory() {
-        CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
-        connectionFactory.setAddresses(address);
-        connectionFactory.setUsername(username);
-        connectionFactory.setPassword(password);
-        connectionFactory.setVirtualHost("/");
-        connectionFactory.setPublisherConfirms(true);
-        return connectionFactory;
-    }
-
-    @Bean
-    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
-    public RabbitTemplate rabbitTemplate() {
-        return new RabbitTemplate(connectionFactory());
-    }
-
-
-
-    /**
-     * 针对消费者配置
-     * 1. 设置交换机类型
-     * 2. 将队列绑定到交换机
-     FanoutExchange: 将消息分发到所有的绑定队列,无routingkey的概念
-     HeadersExchange :通过添加属性key-value匹配
-     DirectExchange:按照routingkey分发到指定队列
-     TopicExchange:多关键字匹配
-     */
-
-    @Bean
-    public DirectExchange defaultExchange() {
-        return new DirectExchange(EXCHANGE_A);
-    }
-
-    /**
-     * 获取队列A
-     * @return
-     */
-    @Bean
-    public Queue modelingQueueA() {
-        return new Queue(queue, true); //队列持久
-    }
-
-    @Bean
-    public Binding binding() {
-        return BindingBuilder.bind(modelingQueueA()).to(defaultExchange()).with(ROUTINGKEY_A);
-    }
-
-//    @Bean
-//    public Queue workQueue() {
-//        return new Queue(queue);
-//    }
-
-
-//    @Bean
-//    public ModelingMsgProducer modelingMsgProducer() {
-//        return new ModelingMsgProducer(rabbitTemplate());
-//    }
-
-}

+ 1 - 1
4dkankan-modeling/src/main/java/com/fdkankan/modeling/message/BuildSceneReceiver.java

@@ -52,7 +52,7 @@ public class BuildSceneReceiver {
     @Value("${rabbitmq.queue}")
     private String queue;
 
-    @RabbitListener(queues = "${rabbitmq.queue}", containerFactory = "rabbitListenerContainerFactory")
+//    @RabbitListener(queues = "${rabbitmq.queue}", containerFactory = "rabbitListenerContainerFactory")
     public void process(String content) {
         log.info("buildScene接收处理队列当中" + queue + "的消息: " + content);
         final ExecutorService exec = Executors.newFixedThreadPool(1);

+ 166 - 0
4dkankan-modeling/src/main/java/com/fdkankan/modeling/message/RabbitConfig.java

@@ -0,0 +1,166 @@
+package com.fdkankan.modeling.message;
+
+import com.fdkankan.base.mq.ModelingMsgProducer;
+import com.fdkankan.common.util.UploadToOssUtil;
+import com.fdkankan.scene.service.IRebuildVideoProgressService;
+import com.fdkankan.scene.service.ISceneFileBuildService;
+import com.fdkankan.scene.service.ISceneProEditService;
+import com.fdkankan.scene.service.ISceneProService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.core.Queue;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+@Log4j2
+@Configuration
+public class RabbitConfig {
+
+    @Value("${spring.rabbitmq.host}")
+    private String host;
+
+    @Value("${spring.rabbitmq.port}")
+    private int port;
+
+    @Value("${spring.rabbitmq.username}")
+    private String username;
+
+    @Value("${spring.rabbitmq.password}")
+    private String password;
+
+
+    @Autowired
+    private ISceneProService sceneProService;
+    @Autowired
+    private ISceneFileBuildService sceneFileBuildService;
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+    @Autowired
+    private ISceneProEditService sceneProEditService;
+
+    @Autowired
+    private IRebuildVideoProgressService rebuildVideoProgressService;
+
+    @Value("${oss.type}")
+    private String ossType;
+
+    @Value("${prefix.ali}")
+    private String prefixAli;
+
+    @Value("${rabbitmq.queue}")
+    private String queue;
+
+    @Value("${main.url}")
+    private String mainUrl;
+
+    @Value("${scene.pro.new.url}")
+    private String sceneProNewUrl;
+
+
+//    public static final String QUEUE_MODELING_A = "QUEUE_MODELING_A";
+
+    @Bean
+    public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
+        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
+        factory.setConnectionFactory(connectionFactory());
+        factory.setPrefetchCount(1);
+        return factory;
+    }
+
+    @Bean
+    public ConnectionFactory connectionFactory() {
+        CachingConnectionFactory connectionFactory = new CachingConnectionFactory(host,port);
+        connectionFactory.setUsername(username);
+        connectionFactory.setPassword(password);
+        connectionFactory.setVirtualHost("/");
+        connectionFactory.setPublisherConfirms(true);
+        return connectionFactory;
+    }
+
+    @Bean
+    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public RabbitTemplate rabbitTemplate() {
+        return new RabbitTemplate(connectionFactory());
+    }
+
+    /*public static final String EXCHANGE_MODELING = "MQ_EXCHANGE_MODELING";
+
+    public static final String QUEUE_MODELING_B = "QUEUE_MODELING_B";
+    public static final String ROUTINGKEY_MODELING_A = "ROUTINGKEY_MODELING_A";
+    public static final String ROUTINGKEY_MODELING_B = "ROUTINGKEY_MODELING_B";
+
+
+    *//**
+     * 针对消费者配置
+     * 1. 设置交换机类型
+     * 2. 将队列绑定到交换机
+     FanoutExchange: 将消息分发到所有的绑定队列,无routingkey的概念
+     HeadersExchange :通过添加属性key-value匹配
+     DirectExchange:按照routingkey分发到指定队列
+     TopicExchange:多关键字匹配
+     *//*
+    @Bean
+    public DirectExchange defaultExchange() {
+        return new DirectExchange(EXCHANGE_MODELING);
+    }
+
+    *//**
+     * 获取队列A
+     * @return
+     *//*
+    @Bean
+    public Queue modelingQueueA() {
+        return new Queue(QUEUE_MODELING_A, true); //队列持久
+    }
+
+    @Bean
+    public Binding binding() {
+        return BindingBuilder.bind(modelingQueueA()).to(defaultExchange()).with(ROUTINGKEY_MODELING_A);
+    }*/
+
+    @Bean
+    public Queue workQueue() {
+        return new Queue(queue);
+    }
+
+
+
+    @Bean
+    public ReBuildVideoSceneReceiver reBuildVideoSceneReceiver() {
+        return new ReBuildVideoSceneReceiver("Receiver2", sceneProService,
+                uploadToOssUtil, rebuildVideoProgressService,sceneProEditService);
+    }
+
+//    @Bean
+//    public BuildSceneReceiver buildSceneReceiver2() {
+//        return new BuildSceneReceiver("Receiver2", sceneService, sceneProService, smsService, userService, sceneFileBuildService, uploadToOssUtil);
+//    }
+//
+//    @Bean
+//    public BuildSceneReceiver buildSceneReceiver3() {
+//        return new BuildSceneReceiver("Receiver3", sceneService, sceneProService, smsService, userService, sceneFileBuildService);
+//    }
+//
+//    @Bean
+//    public BuildSceneReceiver buildSceneReceiver4() {
+//        return new BuildSceneReceiver("Receiver4", sceneService, sceneProService, smsService, userService, sceneFileBuildService);
+//    }
+//
+//    @Bean
+//    public BuildSceneReceiver buildSceneReceiver5() {
+//        return new BuildSceneReceiver("Receiver5", sceneService, sceneProService, smsService, userService, sceneFileBuildService);
+//    }
+
+    @Bean
+    public ModelingMsgProducer modelingMsgProducer() {
+        return new ModelingMsgProducer(rabbitTemplate());
+    }
+
+}

+ 14 - 9
4dkankan-modeling/src/main/resources/application-dev.properties

@@ -5,9 +5,9 @@ spring.cloud.nacos.discovery.server-addr=8.135.98.231:8848
 spring.cloud.nacos.discovery.namespace=31b3ac3b-ba06-4be7-9cbf-69a8df190dfe
 
 #DB (new)
-spring.datasource.primary.url=jdbc:mysql://8.135.107.23:3306/4dkankan_hd?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
-spring.datasource.primary.username=root
-spring.datasource.primary.password=4DAGE168!a
+spring.datasource.primary.url=jdbc:mysql://10.71.114.237:3306/db_4dkankan?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
+spring.datasource.primary.username=user_4dhouse_rw
+spring.datasource.primary.password=kaKjbpZi1plmViyDVWhD
 spring.datasource.primary.driverClassName=com.mysql.cj.jdbc.Driver
 
 spring.servlet.multipart.max-file-size=500MB
@@ -15,7 +15,8 @@ spring.servlet.multipart.max-request-size=1000MB
 spring.servlet.multipart.enabled=true
 spring.servlet.multipart.location=/mnt/data/
 #redis
-spring.redis.host=120.25.146.52
+spring.redis.cluster.nodes=10.71.114.132:7000,10.71.114.132:7001,10.71.114.132:7002,10.71.114.132:7003,10.71.114.132:7004,10.71.114.132:7005
+spring.redis.password=BN5Q40JsPHIGfUg5HTkU
 spring.redis.database=0
 spring.redis.timeout=3000ms
 spring.redis.jedis.pool.max-idle=8
@@ -40,11 +41,11 @@ swagger.description=api文档
 swagger.serviceUrl=http://39.108.220.65:8080
 swagger.version=2.0
 #rabbitmq
-#spring.rabbitmq.host=8.135.98.231
-#spring.rabbitmq.port=30672
-spring.rabbitmq.address=8.135.107.23:30672
-spring.rabbitmq.username=root
-spring.rabbitmq.password=root
+spring.rabbitmq.host=10.71.114.232
+spring.rabbitmq.port=5672
+#spring.rabbitmq.address=10.71.114.232:5672
+spring.rabbitmq.username=admin
+spring.rabbitmq.password=fcb@admin_4dage
 spring.rabbitmq.virtual-host=/
 spring.rabbitmq.connection-timeout=15000
 #confirm模式
@@ -98,5 +99,9 @@ knife4j.basic.username=apiadmin
 knife4j.basic.password=fdkankancui
 
 
+spring.main.allow-bean-definition-overriding=true
+kankan.ffmpeg.env=10.71.5.217
+
+
 
 

+ 1 - 1
4dkankan-modeling/src/main/resources/application.properties

@@ -2,7 +2,7 @@ server.port=8078
 server.servlet.context-path=/4dkankan_v2
 server.file.location=/mnt/4Dkankan/
 
-spring.profiles.active=uat
+spring.profiles.active=dev
 
 
 spring.mvc.async.request-timeout=1800000

+ 1 - 1
4dkankan-web/src/main/java/com/fdkankan/web/controller/RabbitMqController.java

@@ -24,7 +24,7 @@ public class RabbitMqController {
     @GetMapping("/send")
     public Result sendMq(String data){
         log.info("data:" + data);
-        producer.sendMsg(data);
+//        producer.sendMsg(data);
         return Result.success();
     }