Browse Source

add socket

xiewenjie 3 years ago
parent
commit
b2d3f18cd6

+ 7 - 0
sxz-core/src/main/java/com/fdkk/sxz/other/listener/RunBuild.java

@@ -886,6 +886,7 @@ public class RunBuild {
                 switch (UploadType) {
                     case "1":
                         modelUploadEntity = modelUploadService.findById(Long.valueOf(modelUploadId));
+                        redisUtil.setEx("modelUploadStatus:id:" + modelUploadEntity.getId(), "biz", 5, TimeUnit.MINUTES);
 
                         if (!ObjProcess.hasVt(obj)) {
                             //没有vt,直接报错
@@ -999,6 +1000,7 @@ public class RunBuild {
                     case "2":
 
                         modelUploadEntity = modelUploadService.findById(Long.valueOf(modelUploadId));
+                        redisUtil.setEx("modelUploadStatus:id:" + modelUploadEntity.getId(), "biz", 5, TimeUnit.MINUTES);
 
                         if (!ObjProcess.hasVt(obj)) {
                             //没有vt,直接报错
@@ -1191,6 +1193,7 @@ public class RunBuild {
 
                     case "3":
                         componentModelUploadEntity = componentModelUploadService.findById(Long.valueOf(modelUploadId));
+                        redisUtil.setEx("componentUploadStatus:id:" + componentModelUploadEntity.getId(), "biz", 5, TimeUnit.MINUTES);
 
                         for (String file : files) {
                             target = new File(filePath + max.replace(".max", "") + file);
@@ -1279,12 +1282,16 @@ public class RunBuild {
                         modelUploadEntity.setStatus(-1);
                         modelUploadService.updateById(modelUploadEntity);
                     }
+                    redisUtil.setEx("modelUploadStatus:id:" + modelUploadId, "error", 5, TimeUnit.MINUTES);
+
                 } else if (UploadType.equals("3")) {
                     componentModelUploadService.findById(Long.valueOf(modelUploadId));
                     if (ObjectUtil.isNotNull(componentModelUploadEntity)) {
                         componentModelUploadEntity.setStatus(-1);
                         componentModelUploadService.updateById(componentModelUploadEntity);
                     }
+                    redisUtil.setEx("componentUploadStatus:id:" + modelUploadId, "error", 5, TimeUnit.MINUTES);
+
                 }
                 ModelHandelStepEntity errorModelHandelStep = new ModelHandelStepEntity();
                 errorModelHandelStep.setStep(-1);

+ 11 - 6
sxz-core/src/main/java/com/fdkk/sxz/webApi/socket/ComponentSocket.java

@@ -89,24 +89,29 @@ public class ComponentSocket {
         while (true) {
             JSONObject data = JSONUtil.parseObj(message);
             Long id = data.getLong("id");
-            Thread.sleep(1000);
+            Thread.sleep(3000);
             ComponentSocket.log.warn("查询" + session.id() + "|----------" + id);
             if (session.isOpen()) {
                 String status = data.getStr("status");
                 if (StrUtil.equals(status, "query")) {
                     if (redisUtil.hasKey("componentUploadStatus:id:" + id)) {
                         String ObjStatus = redisUtil.get("componentUploadStatus:id:" + id);
-                        if (StrUtil.equals(ObjStatus, "done")) {
-                            extracted(session, data, id);
+                        if (StrUtil.equals(ObjStatus, "done") || StrUtil.equals(ObjStatus, "error")) {
+                            extracted(session, data, id, ObjStatus);
                             return;
                         }
                     } else {
                         ComponentModelUploadEntity entity = componentModelUploadService.findById(id);
+                        Thread.sleep(2000);
                         if (ObjectUtil.isNotNull(entity)) {
                             if (entity.getStatus() == 1 && entity.getProgress() == 100) {
-                                extracted(session, data, id);
+                                extracted(session, data, id, "done");
                                 redisUtil.setEx("componentUploadStatus:id:" + id, "done", 5, TimeUnit.MINUTES);
                                 return;
+                            } else if (entity.getStatus() == -1) {
+                                extracted(session, data, id, "error");
+                                redisUtil.delete("modelUploadStatus:id:" + id);
+                                return;
                             }
                         } else {
                             return;
@@ -127,11 +132,11 @@ public class ComponentSocket {
         }
     }
 
-    private void extracted(Session session, JSONObject data, Long id) {
+    private void extracted(Session session, JSONObject data, Long id, String status) {
         JSONObject res = JSONUtil.createObj();
         JSONObject resData = JSONUtil.createObj();
         resData.set("id", id);
-        resData.set("status", "done");
+        resData.set("status", status);
         res.set("msg", "done");
         res.set("data", resData);
         res.set("code", 0);

+ 11 - 6
sxz-core/src/main/java/com/fdkk/sxz/webApi/socket/ModelUploadSocket.java

@@ -89,24 +89,29 @@ public class ModelUploadSocket {
         while (true) {
             JSONObject data = JSONUtil.parseObj(message);
             Long id = data.getLong("id");
-            Thread.sleep(1000);
+            Thread.sleep(3000);
             ModelUploadSocket.log.warn("查询" + session.id() + "|----------" + id);
             if (session.isOpen()) {
                 String status = data.getStr("status");
                 if (StrUtil.equals(status, "query")) {
                     if (redisUtil.hasKey("modelUploadStatus:id:" + id)) {
                         String ObjStatus = redisUtil.get("modelUploadStatus:id:" + id);
-                        if (StrUtil.equals(ObjStatus, "done")) {
-                            extracted(session, data, id);
+                        if (StrUtil.equals(ObjStatus, "done") || StrUtil.equals(ObjStatus, "error")) {
+                            extracted(session, data, id, ObjStatus);
                             return;
                         }
                     } else {
                         ModelUploadEntity entity = modelUploadService.findById(id);
+                        Thread.sleep(2000);
                         if (ObjectUtil.isNotNull(entity)) {
                             if (entity.getStatus() == 1 && entity.getProgress() == 100) {
-                                extracted(session, data, id);
+                                extracted(session, data, id, "done");
                                 redisUtil.setEx("modelUploadStatus:id:" + id, "done", 5, TimeUnit.MINUTES);
                                 return;
+                            } else if (entity.getStatus() == -1) {
+                                extracted(session, data, id, "error");
+                                redisUtil.delete("modelUploadStatus:id:" + id);
+                                return;
                             }
                         } else {
                             return;
@@ -127,11 +132,11 @@ public class ModelUploadSocket {
         }
     }
 
-    private void extracted(Session session, JSONObject data, Long id) {
+    private void extracted(Session session, JSONObject data, Long id, String status) {
         JSONObject res = JSONUtil.createObj();
         JSONObject resData = JSONUtil.createObj();
         resData.set("id", id);
-        resData.set("status", "done");
+        resData.set("status", status);
         res.set("msg", "done");
         res.set("data", resData);
         res.set("code", 0);