From 4a2703db125e67a4a9590b55a2b7fa857e87ef45 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 18 八月 2025 14:16:48 +0800
Subject: [PATCH] 合并出库添加日志

---
 src/main/java/com/zy/system/entity/license/LicenseCheckListener.java |   65 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java b/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
index 75cee89..643ce23 100644
--- a/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
+++ b/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
@@ -1,9 +1,13 @@
 package com.zy.system.entity.license;
 
 import com.core.common.Cools;
+import com.zy.system.entity.LicenseInfos;
+import com.zy.system.service.LicenseInfosService;
+import com.zy.system.timer.LicenseTimer;
 import de.schlichtherle.license.LicenseContent;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationListener;
@@ -11,6 +15,7 @@
 import org.springframework.stereotype.Component;
 
 import java.io.File;
+import java.util.Date;
 
 /**
  * 鍦ㄩ」鐩惎鍔ㄦ椂瀹夎璇佷功
@@ -48,6 +53,10 @@
      */
     @Value("${license.publicKeysStorePath}")
     private String publicKeysStorePath;
+    @Autowired
+    private LicenseTimer licenseTimer;
+    @Autowired
+    private LicenseInfosService licenseInfosService;
 
     @Override
     public void onApplicationEvent(ContextRefreshedEvent event) {
@@ -63,28 +72,52 @@
         if(!Cools.isEmpty(licensePath)){
             logger.info("++++++++ 寮�濮嬪姞杞借鍙瘉 ++++++++");
 
-            String publicKeysStoreFileName = this.getClass().getClassLoader().getResource(publicKeysStorePath).getPath();
-            File publicKeysStoreFile = new File(publicKeysStoreFileName);
+            try {
+                licenseTimer.getRemoteLicense();
+            } catch (Exception e) {
+            }
 
-            String licensePathFileName = this.getClass().getClassLoader().getResource(licensePath).getPath();
-            File licensePathFile = new File(licensePathFileName);
+            try {
+                LicenseVerifyParam param = new LicenseVerifyParam();
+                param.setSubject(subject);
+                param.setPublicAlias(publicAlias);
+                param.setStorePass(storePass);
+                param.setLicensePath(licensePath);
+                param.setPublicKeysStorePath(publicKeysStorePath);
 
-            LicenseVerifyParam param = new LicenseVerifyParam();
-            param.setSubject(subject);
-            param.setPublicAlias(publicAlias);
-            param.setStorePass(storePass);
-            param.setLicensePath(licensePathFile.getPath());
-            param.setPublicKeysStorePath(publicKeysStoreFile.getPath());
+                LicenseVerify licenseVerify = new LicenseVerify();
 
-            LicenseVerify licenseVerify = new LicenseVerify();
-            //瀹夎璇佷功
-            LicenseContent install = licenseVerify.install(param);
+                LicenseInfos latestLicense = licenseInfosService.getLatestLicense();
+                if (latestLicense == null) {
+                    logger.info("璁稿彲璇佷笉瀛樺湪");
+                    return false;
+                }
 
-            logger.info("++++++++ 璁稿彲璇佸姞杞界粨鏉� ++++++++");
+                //瀹夎璇佷功
+                LicenseContent install = licenseVerify.install(param, latestLicense.getLicense());
 
-            return install != null;
+                logger.info("++++++++ 璁稿彲璇佸姞杞界粨鏉� ++++++++");
+
+                licenseTimer.setSystemSupport(install!=null);
+
+                if (install != null) {
+                    Date start = new Date();
+                    Date end = install.getNotAfter();
+                    Long starTime = start.getTime();
+                    Long endTime = end.getTime();
+                    Long num = endTime - starTime;//鏃堕棿鎴崇浉宸殑姣鏁�
+                    int day = (int) (num / 24 / 60 / 60 / 1000);
+                    licenseTimer.setLicenseDays(day);
+                }
+
+
+                return install != null;
+            } catch (Exception e) {
+                e.printStackTrace();
+                return false;
+            }
         }
-
+        licenseTimer.setSystemSupport(false);
         return false;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1