From 13b31b2ca2a5f8600002a042b536c9d5529842e3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:21:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/system/entity/license/CustomLicenseManager.java |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java b/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
index 223706d..0096748 100644
--- a/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
+++ b/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
@@ -1,6 +1,5 @@
 package com.zy.system.entity.license;
 
-import com.core.common.Cools;
 import de.schlichtherle.license.*;
 import de.schlichtherle.xml.GenericCertificate;
 import org.apache.logging.log4j.LogManager;
@@ -120,13 +119,23 @@
         //1. 棣栧厛璋冪敤鐖剁被鐨剉alidate鏂规硶
         super.validate(content);
 
-        //2. 鐒跺悗鏍¢獙鑷畾涔夌殑License鍙傛暟
-        //License涓彲琚厑璁哥殑鍙傛暟淇℃伅
-        LicenseCheck expectedCheckModel = (LicenseCheck) content.getExtra();
-        //褰撳墠鏈嶅姟鍣ㄧ湡瀹炵殑鍙傛暟淇℃伅
+        Object extra = content.getExtra();
         LicenseCheck serverCheckModel = LicenseUtils.getServerInfos();
 
-        if(expectedCheckModel != null && serverCheckModel != null){
+        if (serverCheckModel == null) {
+            throw new LicenseContentException("涓嶈兘鑾峰彇鏈嶅姟鍣ㄧ‖浠朵俊鎭�");
+        }
+
+        if (LicenseBindingSupport.isV2Extra(extra)) {
+            LicenseBindModel bindModel = LicenseBindingSupport.parseBindModel(extra);
+            if (!LicenseBindingSupport.matches(bindModel, serverCheckModel)) {
+                throw new LicenseContentException("褰撳墠鏈嶅姟鍣ㄤ笉鍦ㄦ巿鏉冭妭鐐硅寖鍥村唴");
+            }
+            return;
+        }
+
+        LicenseCheck expectedCheckModel = LicenseBindingSupport.parseLegacyLicenseCheck(extra);
+        if(expectedCheckModel != null){
             //鏍¢獙IP鍦板潃
             if(!checkIpAddress(expectedCheckModel.getIpAddress(),serverCheckModel.getIpAddress())){
                 throw new LicenseContentException("褰撳墠鏈嶅姟鍣ㄧ殑IP娌″湪鎺堟潈鑼冨洿鍐�");
@@ -210,8 +219,8 @@
      * 鏍¢獙褰撳墠鏈嶅姟鍣ㄧ‖浠讹紙涓绘澘銆丆PU绛夛級搴忓垪鍙锋槸鍚﹀湪鍙厑璁歌寖鍥村唴
      */
     private boolean checkSerial(String expectedSerial,String serverSerial){
-        if(!Cools.isEmpty(expectedSerial)){
-            if(!Cools.isEmpty(serverSerial)){
+        if(!isBlank(expectedSerial)){
+            if(!isBlank(serverSerial)){
                 if(expectedSerial.equals(serverSerial)){
                     return true;
                 }
@@ -222,4 +231,8 @@
         }
     }
 
-}
\ No newline at end of file
+    private boolean isBlank(String value) {
+        return value == null || value.trim().isEmpty();
+    }
+
+}

--
Gitblit v1.9.1