|
@@ -89,7 +89,10 @@ public class SolarService {
|
|
|
solarProperties.setAccessSecret(accessSecret);
|
|
|
solarProperties.setLicense(null);
|
|
|
try {
|
|
|
- appInfo = solarApiClient.getAppInfo();
|
|
|
+ AppInfo info = solarApiClient.getAppInfo();
|
|
|
+ if (info != null && checkAppCode(info)) {
|
|
|
+ appInfo = info;
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
log.error("Solar api invoke error", e);
|
|
|
}
|
|
@@ -108,19 +111,27 @@ public class SolarService {
|
|
|
solarProperties.setAccessKey(null);
|
|
|
solarProperties.setAccessSecret(null);
|
|
|
AppLicense result = AppLicenseUtil.parseLicense(licenseData);
|
|
|
- if (result != null && !result.getControl().hasExpired()) {
|
|
|
+ if (result != null && checkAppCode(result) && !result.getControl().hasExpired()) {
|
|
|
license = result;
|
|
|
appInfo = result;
|
|
|
}
|
|
|
return appInfo;
|
|
|
}
|
|
|
|
|
|
+ private boolean checkAppCode(AppInfo info) {
|
|
|
+ return StringUtils.isBlank(solarProperties.getAppCode()) || solarProperties.getAppCode()
|
|
|
+ .equalsIgnoreCase(info.getCode());
|
|
|
+ }
|
|
|
+
|
|
|
private void checkup() {
|
|
|
log.info("Solar startup checking...");
|
|
|
if (StringUtils.isNotBlank(solarProperties.getAccessKey()) && StringUtils
|
|
|
.isNotBlank(solarProperties.getAccessSecret())) {
|
|
|
try {
|
|
|
- appInfo = solarApiClient.getAppInfo();
|
|
|
+ AppInfo info = solarApiClient.getAppInfo();
|
|
|
+ if (info != null && checkAppCode(info)) {
|
|
|
+ appInfo = info;
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
log.error("Solar api invoke error", e);
|
|
|
}
|
|
@@ -128,7 +139,9 @@ public class SolarService {
|
|
|
//启动授权文件默认绑定硬件信息
|
|
|
AppLicense license = AppLicenseUtil.parseLicense(solarProperties.getLicense());
|
|
|
if (license != null) {
|
|
|
- if (license.getControl().hasExpired()) {
|
|
|
+ if (!checkAppCode(license)) {
|
|
|
+ log.error("Solar license appCode invalid");
|
|
|
+ } else if (license.getControl().hasExpired()) {
|
|
|
log.error("Solar license has expired");
|
|
|
} else {
|
|
|
this.license = license;
|
|
@@ -139,9 +152,9 @@ public class SolarService {
|
|
|
log.warn("Solar startup check exit, accessKey&accessSecret and license file not exist!");
|
|
|
}
|
|
|
if (appInfo != null) {
|
|
|
- log.info("Solar startup check success, current app name: " + appInfo.getName());
|
|
|
+ log.info("Solar startup check success, current appCode={}, name={}", appInfo.getCode(), appInfo.getName());
|
|
|
} else {
|
|
|
- log.info("Solar startup check faile, app unexist!");
|
|
|
+ log.info("Solar startup check faile!");
|
|
|
}
|
|
|
}
|
|
|
|