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