From d174064c9c48a409d8ee6cdc1d65a5ffe1b2ed0f Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 05 八月 2025 10:32:04 +0800
Subject: [PATCH] #许可证2.0

---
 src/main/java/com/zy/system/entity/license/LicenseCheckListener.java |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 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 1659df2..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) {
@@ -64,31 +73,51 @@
             logger.info("++++++++ 寮�濮嬪姞杞借鍙瘉 ++++++++");
 
             try {
-                String publicKeysStoreFileName = this.getClass().getClassLoader().getResource(publicKeysStorePath).getPath();
-                File publicKeysStoreFile = new File(publicKeysStoreFileName);
+                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(licensePathFile.getPath());
-                param.setPublicKeysStorePath(publicKeysStoreFile.getPath());
+                param.setLicensePath(licensePath);
+                param.setPublicKeysStorePath(publicKeysStorePath);
 
                 LicenseVerify licenseVerify = new LicenseVerify();
+
+                LicenseInfos latestLicense = licenseInfosService.getLatestLicense();
+                if (latestLicense == null) {
+                    logger.info("璁稿彲璇佷笉瀛樺湪");
+                    return false;
+                }
+
                 //瀹夎璇佷功
-                LicenseContent install = licenseVerify.install(param);
+                LicenseContent install = licenseVerify.install(param, latestLicense.getLicense());
 
                 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