dengsixing 1 éve
szülő
commit
c8b50f02ec

+ 22 - 12
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -1623,6 +1623,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             mqMessage.getExt().put("batchId", origFileUploadBatch.getBatchId());
             mqMessage.getExt().put("noticeTimes", origFileUploadBatch.getNoticeTimes());
             origFileUploadBatchService.updateById(origFileUploadBatch);
+            redisUtil.del("single:upload:uuid:" + unicode);
         }
         rabbitMqProducer.sendByWorkQueue(queueModelingPre, mqMessage);
 
@@ -2254,31 +2255,40 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
         //查询是否有等待通知计算的上传批次记录,如果有则加入,没有则新增
 
-        boolean lock = redisLockUtil.lock("single:upload:uuid:" + uuid, uuid, 1);
+        boolean lock = redisLockUtil.lock("lock:single:upload:uuid:" + uuid, uuid, 1);
         if(!lock){//如果拿不到锁,证明
             Thread.sleep(2000L);
         }
 
-        OrigFileUploadBatch condition = new OrigFileUploadBatch();
-        condition.setUuid(uuid);
-        condition.setStatus(0);
-        OrigFileUploadBatch origFileUploadBatch = origFileUploadBatchService.getByCondition(condition);
-        if(Objects.isNull(origFileUploadBatch)){
-            origFileUploadBatch = new OrigFileUploadBatch();
-            origFileUploadBatch.setUuid(uuid);
-            origFileUploadBatch.setBatchId(UUID.fastUUID().toString().replace("-", ""));
-            origFileUploadBatchService.save(origFileUploadBatch);
+        String batchId = redisUtil.get("single:upload:uuid:" + uuid);
+        if(StrUtil.isEmpty(batchId)){
+            OrigFileUploadBatch condition = new OrigFileUploadBatch();
+            condition.setUuid(uuid);
+            condition.setStatus(0);
+            OrigFileUploadBatch origFileUploadBatch = origFileUploadBatchService.getByCondition(condition);
+            if(Objects.isNull(origFileUploadBatch)){
+                batchId = redisUtil.get("single:upload:uuid:" + uuid);
+                if(StrUtil.isEmpty(batchId)){
+                    batchId = UUID.fastUUID().toString().replace("-", "");
+                    redisUtil.set("single:upload:uuid:" + uuid, batchId);
+                    origFileUploadBatch = new OrigFileUploadBatch();
+                    origFileUploadBatch.setUuid(uuid);
+                    origFileUploadBatch.setBatchId(batchId);
+                    origFileUploadBatchService.save(origFileUploadBatch);
+                }
+            }
         }
 
+
         //插入上传明细表
         OrigFileUpload origFileUpload = new OrigFileUpload();
         origFileUpload.setFileUrl(filePath);
         origFileUpload.setFileName(fileName);
-        origFileUpload.setBatchId(origFileUploadBatch.getBatchId());
+        origFileUpload.setBatchId(batchId);
         origFileUploadService.save(origFileUpload);
 
         if(lock){
-            redisLockUtil.unlockLua("single:upload:uuid:" + uuid, uuid);
+            redisLockUtil.unlockLua("lock:single:upload:uuid:" + uuid, uuid);
         }
 
         if(fileName.equals("config.json")){