updated QrCodeSettings to have custom app store links
This commit is contained in:
parent
73e93c2968
commit
101e46d547
@ -179,12 +179,12 @@ public class QrCodeSettingsController extends BaseController {
|
|||||||
QrCodeSettings qrCodeSettings = qrCodeSettingService.findQrCodeSettings(TenantId.SYS_TENANT_ID);
|
QrCodeSettings qrCodeSettings = qrCodeSettingService.findQrCodeSettings(TenantId.SYS_TENANT_ID);
|
||||||
boolean useDefaultApp = qrCodeSettings.isUseDefaultApp();
|
boolean useDefaultApp = qrCodeSettings.isUseDefaultApp();
|
||||||
if (userAgent.contains("Android")) {
|
if (userAgent.contains("Android")) {
|
||||||
String googlePlayLink = useDefaultApp ? qrCodeSettings.getDefaultGooglePlayLink() : getStoreLink(qrCodeSettings.getMobileAppBundleId(), ANDROID);
|
String googlePlayLink = useDefaultApp ? qrCodeSettings.getGooglePlayLink() : getStoreLink(qrCodeSettings.getMobileAppBundleId(), ANDROID);
|
||||||
return ResponseEntity.status(HttpStatus.FOUND)
|
return ResponseEntity.status(HttpStatus.FOUND)
|
||||||
.header("Location", googlePlayLink)
|
.header("Location", googlePlayLink)
|
||||||
.build();
|
.build();
|
||||||
} else if (userAgent.contains("iPhone") || userAgent.contains("iPad")) {
|
} else if (userAgent.contains("iPhone") || userAgent.contains("iPad")) {
|
||||||
String appStoreLink = useDefaultApp ? qrCodeSettings.getDefaultAppStoreLink() : getStoreLink(qrCodeSettings.getMobileAppBundleId(), IOS);
|
String appStoreLink = useDefaultApp ? qrCodeSettings.getAppStoreLink() : getStoreLink(qrCodeSettings.getMobileAppBundleId(), IOS);
|
||||||
return ResponseEntity.status(HttpStatus.FOUND)
|
return ResponseEntity.status(HttpStatus.FOUND)
|
||||||
.header("Location", appStoreLink)
|
.header("Location", appStoreLink)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@ -44,10 +44,10 @@ public class QrCodeSettings extends BaseData<QrCodeSettingsId> implements HasTen
|
|||||||
private QRCodeConfig qrCodeConfig;
|
private QRCodeConfig qrCodeConfig;
|
||||||
|
|
||||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||||
private String defaultGooglePlayLink;
|
private String googlePlayLink;
|
||||||
|
|
||||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||||
private String defaultAppStoreLink;
|
private String appStoreLink;
|
||||||
|
|
||||||
public QrCodeSettings() {
|
public QrCodeSettings() {
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,6 +31,8 @@ import org.thingsboard.server.dao.service.DataValidator;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.thingsboard.server.common.data.oauth2.PlatformType.ANDROID;
|
||||||
|
import static org.thingsboard.server.common.data.oauth2.PlatformType.IOS;
|
||||||
import static org.thingsboard.server.dao.service.Validator.validateId;
|
import static org.thingsboard.server.dao.service.Validator.validateId;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -112,8 +114,17 @@ public class QrCodeSettingServiceImpl extends AbstractCachedEntityService<Tenant
|
|||||||
qrCodeSettings.setMobileAppBundleId(qrCodeSettings.getMobileAppBundleId());
|
qrCodeSettings.setMobileAppBundleId(qrCodeSettings.getMobileAppBundleId());
|
||||||
}
|
}
|
||||||
if (qrCodeSettings.isUseDefaultApp()) {
|
if (qrCodeSettings.isUseDefaultApp()) {
|
||||||
qrCodeSettings.setDefaultGooglePlayLink(googlePlayLink);
|
qrCodeSettings.setGooglePlayLink(googlePlayLink);
|
||||||
qrCodeSettings.setDefaultAppStoreLink(appStoreLink);
|
qrCodeSettings.setAppStoreLink(appStoreLink);
|
||||||
|
} else {
|
||||||
|
MobileApp androidApp = mobileAppService.findByBundleIdAndPlatformType(qrCodeSettings.getTenantId(), qrCodeSettings.getMobileAppBundleId(), ANDROID);
|
||||||
|
MobileApp iosApp = mobileAppService.findByBundleIdAndPlatformType(qrCodeSettings.getTenantId(), qrCodeSettings.getMobileAppBundleId(), IOS);
|
||||||
|
if (androidApp != null && androidApp.getStoreInfo() != null && androidApp.getStoreInfo().isEnabled()) {
|
||||||
|
qrCodeSettings.setGooglePlayLink(androidApp.getStoreInfo().getStoreLink());
|
||||||
|
}
|
||||||
|
if (iosApp != null && iosApp.getStoreInfo() != null && iosApp.getStoreInfo().isEnabled()) {
|
||||||
|
qrCodeSettings.setAppStoreLink(iosApp.getStoreInfo().getStoreLink());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return qrCodeSettings;
|
return qrCodeSettings;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user