Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

fgd 1 tahun lalu
induk
melakukan
275d3f8dd8

+ 3 - 7
sd-business/src/main/java/com/sd/business/service/artwork/impl/ArtworkLibraryServiceImpl.java

@@ -24,7 +24,6 @@ import com.sd.mq.util.RabbitMqUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.io.File;
 import java.util.Collections;
 
 /**
@@ -138,17 +137,14 @@ public class ArtworkLibraryServiceImpl extends ServiceImpl<ArtworkLibraryMapper,
      * 发送消息到mq
      */
     private void sendMq(ArtworkLibrary artworkLibrary, Integer type) {
-        String artworkName = artworkLibrary.getArtworkName();
-        String pathPrefix = "图稿库" + File.separator + artworkName + File.separator;
 
         ArtworkMessage artworkMessage = new ArtworkMessage();
-        artworkMessage.setFilePath(pathPrefix + artworkLibrary.getFileName());
-        artworkMessage.setImgPath(pathPrefix + artworkLibrary.getImgName());
+        artworkMessage.setPath(artworkLibrary.getArtworkName());
+        artworkMessage.setImgName(artworkLibrary.getImgName());
         artworkMessage.setImgUrl(artworkLibrary.getImgUrl());
+        artworkMessage.setFileName(artworkLibrary.getFileName());
         artworkMessage.setFileUrl(artworkLibrary.getFileUrl());
-        artworkMessage.setRetryCount(0);
         artworkMessage.setType(type);
-        artworkMessage.setDeleteDirectory(pathPrefix);
 
         RabbitMqUtil.send(ArtworkConfig.DIRECT_EXCHANGE_NAME, ArtworkConfig.QUEUE_NAME, artworkMessage);
     }

+ 6 - 21
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -58,12 +58,11 @@ import com.sd.business.service.statement.StatementOfAccountService;
 import com.sd.business.util.CodeEnum;
 import com.sd.framework.util.Assert;
 import com.sd.mq.config.ArtworkConfig;
-import com.sd.mq.entity.ArtworkMessage;
+import com.sd.mq.entity.TempArtworkMessage;
 import com.sd.mq.util.RabbitMqUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.io.File;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.function.Function;
@@ -1119,25 +1118,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
                 continue;
             }
 
-            String pathPrefix = "临时文件" + File.separator;
-
-            ArtworkMessage artworkMessage = new ArtworkMessage();
-            artworkMessage.setImgPath(pathPrefix + orderSkuDto.getBlueprint()
-                    .replace("https://os.winfaster.cn/sd/", "")
-                    .replace("test/", "")
-                    .replace("prod/", "")
-                    .replace("dev/", ""));
-            artworkMessage.setFilePath(pathPrefix + orderSkuDto.getProductionDocument()
-                    .replace("https://os.winfaster.cn/sd/", "")
-                    .replace("test/", "")
-                    .replace("prod/", "")
-                    .replace("dev/", ""));
-            artworkMessage.setImgUrl(orderSkuDto.getBlueprint());
-            artworkMessage.setFileUrl(orderSkuDto.getProductionDocument());
-            artworkMessage.setRetryCount(0);
-            artworkMessage.setType(1);
-
-            RabbitMqUtil.send(ArtworkConfig.DIRECT_EXCHANGE_NAME, ArtworkConfig.QUEUE_NAME, artworkMessage);
+            TempArtworkMessage tempArtworkMessage = new TempArtworkMessage();
+            tempArtworkMessage.setImgUrl(orderSkuDto.getBlueprint());
+            tempArtworkMessage.setFileUrl(orderSkuDto.getProductionDocument());
+
+            RabbitMqUtil.send(ArtworkConfig.DIRECT_EXCHANGE_NAME, ArtworkConfig.TEMP_QUEUE_NAME, tempArtworkMessage);
         }
     }
 

+ 21 - 3
sd-mq/src/main/java/com/sd/mq/config/ArtworkConfig.java

@@ -13,9 +13,10 @@ import org.springframework.context.annotation.Configuration;
 public class ArtworkConfig {
 
     public static final String QUEUE_NAME = "artwork.queue";
+    public static final String TEMP_QUEUE_NAME = "temp.artwork.queue";
     public static final String DIRECT_EXCHANGE_NAME = "artwork.direct.exchange";
 
-    //创建一个队列
+    // 创建一个队列
     @Bean
     public Queue artworkQueue() {
         // durable:是否持久化,默认是false,持久化队列:会被存储在磁盘上,当消息代理重启时仍然存在,暂存队列:当前连接有效
@@ -25,7 +26,17 @@ public class ArtworkConfig {
         return new Queue(QUEUE_NAME, true, false, false);
     }
 
-    //创建一个名为TestDirectExchange的Direct类型的交换机
+    // 创建一个队列
+    @Bean
+    public Queue tempArtworkQueue() {
+        // durable:是否持久化,默认是false,持久化队列:会被存储在磁盘上,当消息代理重启时仍然存在,暂存队列:当前连接有效
+        // exclusive:默认也是false,只能被当前创建的连接使用,而且当连接关闭后队列即被删除。此参考优先级高于durable
+        // autoDelete:是否自动删除,有消息者订阅本队列,然后所有消费者都解除订阅此队列,会自动删除。
+        // arguments:队列携带的参数,比如设置队列的死信队列,消息的过期时间等等。
+        return new Queue(TEMP_QUEUE_NAME, true, false, false);
+    }
+
+    // 创建一个名为TestDirectExchange的Direct类型的交换机
     @Bean
     public DirectExchange artworkDirectExchange() {
         // durable:是否持久化,默认是false,持久化交换机。
@@ -34,11 +45,18 @@ public class ArtworkConfig {
         return new DirectExchange(DIRECT_EXCHANGE_NAME, true, false);
     }
 
-    //绑定交换机和队列
+    // 绑定交换机和队列
     @Bean
     public Binding artworkBinding() {
         //bind队列to交换机
         return BindingBuilder.bind(artworkQueue()).to(artworkDirectExchange()).withQueueName();
     }
 
+    // 绑定交换机和队列
+    @Bean
+    public Binding tempArtworkBinding() {
+        //bind队列to交换机
+        return BindingBuilder.bind(tempArtworkQueue()).to(artworkDirectExchange()).withQueueName();
+    }
+
 }

+ 10 - 15
sd-mq/src/main/java/com/sd/mq/entity/ArtworkMessage.java

@@ -12,38 +12,33 @@ public class ArtworkMessage implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-     * 图片url地址
+     * 保存路径
      */
-    private String imgUrl;
+    private String path;
 
     /**
-     * 图片保存地址
+     * 图片名称
      */
-    private String imgPath;
+    private String imgName;
 
     /**
-     * 文件地址
+     * 图片url地址
      */
-    private String fileUrl;
+    private String imgUrl;
 
     /**
-     * 文件保存地址
+     * 文件名称
      */
-    private String filePath;
+    private String fileName;
 
     /**
-     * 重试次数
+     * 文件地址
      */
-    private int retryCount;
+    private String fileUrl;
 
     /**
      * 类型: 1新增 2删除
      */
     private int type;
 
-    /**
-     * 删除文件夹
-     */
-    private String deleteDirectory;
-
 }

+ 24 - 0
sd-mq/src/main/java/com/sd/mq/entity/TempArtworkMessage.java

@@ -0,0 +1,24 @@
+package com.sd.mq.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class TempArtworkMessage implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 图片url地址
+     */
+    private String imgUrl;
+
+    /**
+     * 文件地址
+     */
+    private String fileUrl;
+
+}