From 3af80289da17aa4a7ff1b9558882eed4232375d2 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 23 Oct 2024 19:18:38 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3045:=20=E5=87=8F=E5=B0=91=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/domain/dto/PendingMessageDTO.java | 4 +- .../service/impl/v3/ModelV3Parser.java | 12 ++--- .../message/service/todo/TodoRespBuilder.java | 50 ++++++++++--------- ...rminalProvider.java => ClientRequest.java} | 8 ++- .../request/GetPendingTodosRequest.java | 4 +- .../PendingMessageDetailRequestV3.java | 4 +- ...endingMessageFixedTemplatePageRequest.java | 5 +- .../request/PendingMessagePageRequest.java | 4 +- .../request/PendingMessageQueryRequest.java | 4 +- ...ndingMessageStatisticForWorkerRequest.java | 4 +- .../response/v3/ModelV2PropsPopulator.java | 8 +-- .../response/v3/model/SessionUrlSelector.java | 14 +++--- 12 files changed, 65 insertions(+), 56 deletions(-) rename msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/{TerminalProvider.java => ClientRequest.java} (65%) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java index 11b8ef0a..6973cf45 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java @@ -14,7 +14,7 @@ import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.enums.TodoType; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedModelV3; import cn.axzo.msg.center.service.template.response.MessageDetailStyle; @@ -285,7 +285,7 @@ public class PendingMessageDTO implements Serializable { return null; } - public PendingMessageResponse toResponse(TerminalProvider terminalProvider) { + public PendingMessageResponse toResponse(ClientRequest request) { boolean isCreatedToday = false; if (createTime != null) { Date createAt = DateFormatUtil.toDate(createTime); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/v3/ModelV3Parser.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/v3/ModelV3Parser.java index 55379594..cb6430b7 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/v3/ModelV3Parser.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/v3/ModelV3Parser.java @@ -13,7 +13,7 @@ import cn.axzo.msg.center.service.domain.url.AppUrl; import cn.axzo.msg.center.service.domain.url.WebUrl; import cn.axzo.msg.center.service.enums.GroupType; import cn.axzo.msg.center.service.enums.KVContentType; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Visitor; import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Walker; import cn.axzo.msg.center.service.pending.response.v3.model.ComponentWorkerGroup; @@ -68,7 +68,7 @@ public class ModelV3Parser { JSONObject bizParam, JSONObject routerParam, JSONObject appendRouterParam, - @Nullable TerminalProvider terminalProvider) { + @Nullable ClientRequest request) { ParsedModelV3 parsedModel = new ParsedModelV3(); parsedModel.setTemplate(BeanMapper.copyBean(templateModel.getTemplate(), ParsedTemplateV3.class)); parsedModel.setGroups(copyGroups(templateModel.getGroups())); @@ -151,7 +151,7 @@ public class ModelV3Parser { } private SessionUrlInfo parseSessionUrlInfo(UrlConfig urlConfig) { - return ModelV3Parser.this.parseSessionUrlInfo(urlConfig, terminalProvider); + return ModelV3Parser.this.parseSessionUrlInfo(urlConfig, request); } }); @@ -159,7 +159,7 @@ public class ModelV3Parser { } public SessionUrlInfo parseSessionUrlInfo(UrlConfig urlConfig, - @Nullable TerminalProvider terminalProvider) { + @Nullable ClientRequest request) { SessionUrlInfo url = new SessionUrlInfo(); UrlConfigWalker.walkDown(urlConfig, new UrlConfigVisitor() { @Override @@ -178,8 +178,8 @@ public class ModelV3Parser { } }); - url.setAppTerminalType(terminalProvider == null ? null : terminalProvider.getAppTerminalType()); - new SessionUrlSelector(terminalProvider).selectFrom(urlConfig).ifPresent(session -> { + url.setAppTerminalType(request == null ? null : request.getAppTerminalType()); + new SessionUrlSelector(request).selectFrom(urlConfig).ifPresent(session -> { url.setUrl(session.getUrl().getUrl()); if (session.getUrl() instanceof WebUrl) url.setWebOpenStrategy(((WebUrl) session.getUrl()).getOpenStrategy()); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java index d6c7aced..cd8c3ed0 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRespBuilder.java @@ -17,10 +17,11 @@ import cn.axzo.msg.center.service.domain.UrlConfig; import cn.axzo.msg.center.service.dto.IdentityDTO; import cn.axzo.msg.center.service.enums.BizCategoryEnum; import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.PendingMessageSimpleDTO; import cn.axzo.msg.center.service.pending.response.v3.ModelV2PropsPopulator; +import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Visitor; import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Walker; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedCardUrl; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedModelV3; @@ -65,14 +66,14 @@ class TodoRespBuilder { // batch convert to old model to reuse the code and save some time PendingMessageResponse toResponse(PendingRecordAdapter adapter, - TerminalProvider terminalProvider) { + ClientRequest request) { List responses = toResponse( - Collections.singletonList(adapter), terminalProvider); + Collections.singletonList(adapter), request); return responses.get(0); } List toResponse(List adapters, - TerminalProvider terminalProvider) { + ClientRequest request) { List templateCodes = adapters.stream() .map(PendingRecordAdapter::getTemplateCode) .filter(Objects::nonNull) @@ -81,21 +82,21 @@ class TodoRespBuilder { // 重新查询模版的收益大于成本 List templateModels = modelV3Service.getByCodes(templateCodes); return adapters.stream() - .map(adapter -> toResponse(adapter, templateModels, terminalProvider)) + .map(adapter -> toResponse(adapter, templateModels, request)) .collect(toList()); } // convert to old model to reuse the code and save some time PendingMessageResponse toResponse(Todo todo, - TerminalProvider terminalProvider) { + ClientRequest request) { TodoBusiness business = todoBusinessDao.getById(todo.getTodoBusinessId()); - return toResponse(business, todo, terminalProvider); + return toResponse(business, todo, request); } PendingMessageResponse toResponse(TodoBusiness business, Todo todo, - TerminalProvider terminalProvider) { + ClientRequest request) { TodoRecordAdapter adapter = TodoRecordAdapter.adaptTodo(business, todo); ArrayList templateCodes = new ArrayList<>(2); if (business != null) @@ -103,7 +104,7 @@ class TodoRespBuilder { if (todo != null) templateCodes.add(todo.getTemplateCode()); List templateModels = modelV3Service.getByCodes(templateCodes); - return toResponse(adapter, templateModels, terminalProvider); + return toResponse(adapter, templateModels, request); } // !! build adapters @@ -159,7 +160,7 @@ class TodoRespBuilder { private PendingMessageResponse toResponse(PendingRecordAdapter adapter, List templateModels, - TerminalProvider terminalProvider) { + ClientRequest request) { PendingMessageResponse response = new PendingMessageResponse(); // 发起人单位、项目信息 @@ -215,19 +216,22 @@ class TodoRespBuilder { } if (templateModel != null) { ParsedModelV3 parsedModel = modelV3Parser.parseModel(templateModel, adapter, - adapter.getBizExtParamObj(), authParam, routerParam, terminalProvider); - response.setModelV3(parsedModel); - response.setDisplayOnCardKeyValues(parsedModel.determineDisplayOnCardKeyValues()); - response.setCardUrlOpenStrategy(templateModel.getTemplate().getCardUrlOpenStrategy()); - ParsedModel3Walker.walkDown(parsedModel, new ModelV2PropsPopulator(response, terminalProvider) { - @Override - public void visitTemplateCardUrlConfig(UrlConfig urlConfig) { - super.visitTemplateCardUrlConfig(urlConfig); - ParsedCardUrl cardUrl = new ParsedCardUrl(); - cardUrl.setUrl(modelV3Parser.parseSessionUrlInfo(urlConfig, terminalProvider)); - response.setCardUrl(cardUrl); - } - }); + adapter.getBizExtParamObj(), authParam, routerParam, request); + if (request.getModelVersion() == null) { + ParsedModel3Walker.walkDown(parsedModel, new ModelV2PropsPopulator(response, request)); + } else if (request.getModelVersion().equals(ClientRequest.CURRENT_VERSION)) { + response.setModelV3(parsedModel); + response.setDisplayOnCardKeyValues(parsedModel.determineDisplayOnCardKeyValues()); + response.setCardUrlOpenStrategy(templateModel.getTemplate().getCardUrlOpenStrategy()); + ParsedModel3Walker.walkDown(parsedModel, new ParsedModel3Visitor() { + @Override + public void visitTemplateCardUrlConfig(UrlConfig urlConfig) { + ParsedCardUrl cardUrl = new ParsedCardUrl(); + cardUrl.setUrl(modelV3Parser.parseSessionUrlInfo(urlConfig, request)); + response.setCardUrl(cardUrl); + } + }); + } } response.setIdentityCode(adapter.getIdentityCode()); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/TerminalProvider.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/ClientRequest.java similarity index 65% rename from msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/TerminalProvider.java rename to msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/ClientRequest.java index fc26b2a3..4ed8d710 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/TerminalProvider.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/ClientRequest.java @@ -6,10 +6,16 @@ import cn.axzo.msg.center.service.enums.TerminalTypeEnum; /** * @author yanglin */ -public interface TerminalProvider { +public interface ClientRequest { + + Integer CURRENT_VERSION = 3; TerminalTypeEnum getTerminalType(); AppTerminalTypeEnum getAppTerminalType(); + default Integer getModelVersion() { + return CURRENT_VERSION; + } + } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/GetPendingTodosRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/GetPendingTodosRequest.java index 12a03b36..cf60caed 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/GetPendingTodosRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/GetPendingTodosRequest.java @@ -2,7 +2,7 @@ package cn.axzo.msg.center.service.pending.request; import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import lombok.Getter; import lombok.Setter; @@ -14,7 +14,7 @@ import java.util.Set; */ @Setter @Getter -public class GetPendingTodosRequest implements TerminalProvider { +public class GetPendingTodosRequest implements ClientRequest { /** * 待办执行人id */ diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageDetailRequestV3.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageDetailRequestV3.java index 4ac56026..3ec66276 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageDetailRequestV3.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageDetailRequestV3.java @@ -3,7 +3,7 @@ package cn.axzo.msg.center.service.pending.request; import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.enums.TodoQueryType; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import lombok.Getter; import lombok.Setter; @@ -12,7 +12,7 @@ import lombok.Setter; */ @Setter @Getter -public class PendingMessageDetailRequestV3 implements TerminalProvider { +public class PendingMessageDetailRequestV3 implements ClientRequest { private String msgIdentityCode; private TerminalTypeEnum terminalType; private AppTerminalTypeEnum appTerminalType; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java index fc5a9e80..c6dde7af 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java @@ -1,10 +1,9 @@ package cn.axzo.msg.center.service.pending.request; -import cn.axzo.basics.common.page.PageRequest; import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; import cn.axzo.msg.center.service.enums.IdentityTypeEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.Setter; @@ -22,7 +21,7 @@ import java.util.Date; */ @Setter @Getter -public class PendingMessageFixedTemplatePageRequest implements TerminalProvider, Serializable { +public class PendingMessageFixedTemplatePageRequest implements ClientRequest, Serializable { private static final long serialVersionUID = 7172093131252325437L; /** diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessagePageRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessagePageRequest.java index 4a5a29cb..675afd12 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessagePageRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessagePageRequest.java @@ -11,7 +11,7 @@ import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.enums.TodoQueryType; import cn.axzo.msg.center.service.enums.TodoType; import cn.axzo.msg.center.service.enums.YesOrNo; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import com.alibaba.fastjson.JSON; import lombok.Data; import lombok.Getter; @@ -33,7 +33,7 @@ import java.util.Collections; */ @Setter @Getter -public class PendingMessagePageRequest extends PageRequest implements TerminalProvider, Serializable { +public class PendingMessagePageRequest extends PageRequest implements ClientRequest, Serializable { private static final long serialVersionUID = 7172093131252325437L; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageQueryRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageQueryRequest.java index 9de6ebe7..f6e40ef4 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageQueryRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageQueryRequest.java @@ -5,7 +5,7 @@ import cn.axzo.msg.center.service.enums.BizFinalStateEnum; import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.enums.TodoQueryType; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.Setter; @@ -22,7 +22,7 @@ import java.io.Serializable; */ @Setter @Getter -public class PendingMessageQueryRequest implements TerminalProvider, Serializable { +public class PendingMessageQueryRequest implements ClientRequest, Serializable { private static final long serialVersionUID = 3981382821433771344L; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageStatisticForWorkerRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageStatisticForWorkerRequest.java index 729ab645..fc4864f3 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageStatisticForWorkerRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageStatisticForWorkerRequest.java @@ -2,7 +2,7 @@ package cn.axzo.msg.center.service.pending.request; import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.Setter; @@ -19,7 +19,7 @@ import java.util.Collection; */ @Setter @Getter -public class PendingMessageStatisticForWorkerRequest implements TerminalProvider, Serializable { +public class PendingMessageStatisticForWorkerRequest implements ClientRequest, Serializable { private static final long serialVersionUID = 9160942889637654608L; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java index c9a89d4c..4921942f 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/ModelV2PropsPopulator.java @@ -8,7 +8,7 @@ import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum; import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum; import cn.axzo.msg.center.service.enums.KVContentType; import cn.axzo.msg.center.service.enums.RouterCategoryEnum; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedButtonV3; import cn.axzo.msg.center.service.pending.response.v3.model.ParsedGroupV3; @@ -28,11 +28,11 @@ public class ModelV2PropsPopulator implements ParsedModel3Visitor { @Nullable private final SessionUrlSelector sessionUrlSelector; public ModelV2PropsPopulator(PendingMessageResponse response, - TerminalProvider terminalProvider) { + ClientRequest request) { this.response = response; - this.sessionUrlSelector = terminalProvider == null + this.sessionUrlSelector = request == null ? null - : new SessionUrlSelector(terminalProvider); + : new SessionUrlSelector(request); } @Override diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/SessionUrlSelector.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/SessionUrlSelector.java index f0c1d26d..0eff90c0 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/SessionUrlSelector.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/SessionUrlSelector.java @@ -6,7 +6,7 @@ import cn.axzo.msg.center.service.domain.parse.SessionUrl; import cn.axzo.msg.center.service.domain.url.WebUrl; import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; -import cn.axzo.msg.center.service.pending.TerminalProvider; +import cn.axzo.msg.center.service.pending.ClientRequest; import lombok.RequiredArgsConstructor; import javax.annotation.Nullable; @@ -24,7 +24,7 @@ import static cn.axzo.msg.center.service.enums.AppTerminalTypeEnum.PC_GA_GENERAL @RequiredArgsConstructor public class SessionUrlSelector { - @Nullable private final TerminalProvider terminalProvider; + @Nullable private final ClientRequest request; /** * 根据请求客户端真实的终端类型来选择对应的URL @@ -50,9 +50,9 @@ public class SessionUrlSelector { private SessionUrl selectWeb( AppTerminalTypeEnum selectAppType, WebUrl webUrl) { - if (terminalProvider == null) + if (request == null) return null; - if (terminalProvider.getAppTerminalType() != selectAppType) + if (request.getAppTerminalType() != selectAppType) return null; if (webUrl == null) return null; @@ -61,13 +61,13 @@ public class SessionUrlSelector { private SessionUrl selectApp( AppTerminalTypeEnum selectAppType, MobileUrlConfig mobileUrl) { - if (terminalProvider == null) + if (request == null) return null; - if (terminalProvider.getAppTerminalType() != selectAppType) + if (request.getAppTerminalType() != selectAppType) return null; if (mobileUrl == null) return null; - TerminalTypeEnum terminalType = terminalProvider.getTerminalType(); + TerminalTypeEnum terminalType = request.getTerminalType(); if (mobileUrl.getIos() != null && terminalType == TerminalTypeEnum.IOS) return new SessionUrl(TerminalTypeEnum.IOS, mobileUrl.getIos()); if (mobileUrl.getAndroid() != null && terminalType == TerminalTypeEnum.ANDROID)