From d7d99af35f7a304bba700ca7cb8a3330237cc8ea Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 04 八月 2025 15:44:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/system/entity/license/LicenseCheckListener.java | 44 ++++++++++++++++++++++++++++++++++++-------- 1 files changed, 36 insertions(+), 8 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 e268997..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,7 +15,7 @@ import org.springframework.stereotype.Component; import java.io.File; -import java.io.InputStream; +import java.util.Date; /** * 鍦ㄩ」鐩惎鍔ㄦ椂瀹夎璇佷功 @@ -49,6 +53,10 @@ */ @Value("${license.publicKeysStorePath}") private String publicKeysStorePath; + @Autowired + private LicenseTimer licenseTimer; + @Autowired + private LicenseInfosService licenseInfosService; @Override public void onApplicationEvent(ContextRefreshedEvent event) { @@ -65,12 +73,11 @@ logger.info("++++++++ 寮�濮嬪姞杞借鍙瘉 ++++++++"); try { -// String publicKeysStoreFileName = this.getClass().getClassLoader().getResource(publicKeysStorePath).getPath(); -// File publicKeysStoreFile = new File(publicKeysStoreFileName); -// -// String licensePathFileName = this.getClass().getClassLoader().getResource(licensePath).getPath(); -// File licensePathFile = new File(licensePathFileName); + licenseTimer.getRemoteLicense(); + } catch (Exception e) { + } + try { LicenseVerifyParam param = new LicenseVerifyParam(); param.setSubject(subject); param.setPublicAlias(publicAlias); @@ -79,17 +86,38 @@ 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