浏览代码

异步生成授权文件

lyhzzz 2 年之前
父节点
当前提交
f95022ec49

+ 27 - 28
src/main/java/com/fdkankan/ucenter/common/utils/AuthLicenseUtil.java

@@ -13,8 +13,10 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
 import javax.validation.constraints.Size;
+import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.util.Date;
 
 @Slf4j
@@ -26,6 +28,7 @@ public class AuthLicenseUtil {
 
      public static JSONObject readLicense(){
          try {
+             createLicense();
              if (FileUtil.exist(licensePath + File.separator + "results" + File.separator + "encryption_info.xml")) {
                  String xml = FileUtils.readFile((licensePath + File.separator + "results" + File.separator + "encryption_info.xml"));
                  return XML.toJSONObject(xml);
@@ -33,39 +36,35 @@ public class AuthLicenseUtil {
          }catch (Exception e){
             log.error("readLicense-error:",e);
          }
-
-         return createLicense();
+        return null;
      }
 
-    public static JSONObject createLicense()  {
-        File file = new File(licensePath);
-        if(!file.exists()){
-            file.mkdirs();
-        }
-        File caches = new File(licensePath + File.separator+ "caches");
-        FileUtil.del(caches);
-        File results = new File(licensePath + File.separator+ "results");
-        FileUtil.del(results);
+    public static void createLicense()  {
+        new Thread() {
+            @Override
+            public void run() {
+                try {
+                    File file = new File(licensePath);
+                    if(!file.exists()){
+                        file.mkdirs();
+                    }
+                    File caches = new File(licensePath + File.separator+ "caches");
+                    FileUtil.del(caches);
+                    File results = new File(licensePath + File.separator+ "results");
+                    FileUtil.del(results);
 
-        JSONObject licenseDataJson = new JSONObject();
-        licenseDataJson.put("split_type", "SPLIT_V23");
-        licenseDataJson.put("skybox_type", "SKYBOX_V5");
-        FileUtils.writeFile(licensePath + File.separator + "data.json", licenseDataJson.toString());
-        ShellUtil.execCmd(String.format(cmd,licensePath));
-        int count = 10;
-        try {
-            for (int i = count; i > 0; i--) {
-                if (FileUtil.exist(licensePath + File.separator + "results" + File.separator + "encryption_info.xml")) {
-                    String xml = FileUtils.readFile((licensePath + File.separator + "results" + File.separator + "encryption_info.xml"));
-                    return XML.toJSONObject(xml);
+                    JSONObject licenseDataJson = new JSONObject();
+                    licenseDataJson.put("split_type", "SPLIT_V23");
+                    licenseDataJson.put("skybox_type", "SKYBOX_V5");
+                    FileUtils.writeFile(licensePath + File.separator + "data.json", licenseDataJson.toString());
+                    ShellUtil.execCmd(String.format(cmd,licensePath));
+                }
+                catch (Exception e) {
+                    log.error("createLicense-error:",e);
                 }
-                Thread.sleep(1000);
             }
-        } catch (Exception e) {
-            log.error("createLicense-error:",e);
-            return null;
-        }
-        return null;
+        }.start();
+
 
     }
 

+ 1 - 1
src/main/java/com/fdkankan/ucenter/controller/AuthLicenseController.java

@@ -37,7 +37,7 @@ public class AuthLicenseController {
     public ResultData getAuthInfo(){
         JSONObject jsonObject = null;
         try {
-            jsonObject = AuthLicenseUtil.createLicense();
+            jsonObject = AuthLicenseUtil.readLicense();
             if(jsonObject == null){
                 return ResultData.ok(null);
             }