REQ-3045: fix npe
This commit is contained in:
parent
6072e594a6
commit
61fcaea958
@ -5,6 +5,7 @@ import cn.axzo.msg.center.domain.entity.MessageTemplateGroupV3;
|
||||
import cn.axzo.msg.center.domain.entity.MessageTemplateV3;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -15,9 +16,9 @@ import java.util.List;
|
||||
@Getter
|
||||
public class MessageTemplateV3Model {
|
||||
|
||||
private MessageTemplateV3 template;
|
||||
private List<MessageTemplateGroupV3> groups;
|
||||
private List<MessageTemplateButtonV3> buttons;
|
||||
@NotNull private MessageTemplateV3 template;
|
||||
@NotNull private List<MessageTemplateGroupV3> groups;
|
||||
@NotNull private List<MessageTemplateButtonV3> buttons;
|
||||
|
||||
public String getTemplateCode() {
|
||||
return template.getCode();
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package cn.axzo.msg.center.message.service.impl;
|
||||
package cn.axzo.msg.center.message.service.impl.v3.model;
|
||||
|
||||
import cn.axzo.msg.center.dal.MessageTemplateButtonV3Dao;
|
||||
import cn.axzo.msg.center.dal.MessageTemplateGroupV3Dao;
|
||||
@ -31,8 +31,9 @@ public class MessageTemplateV3ModelService {
|
||||
private final MessageTemplateV3Dao messageTemplateV3Dao;
|
||||
private final MessageTemplateGroupV3Dao messageTemplateGroupV3Dao;
|
||||
private final MessageTemplateButtonV3Dao messageTemplateButtonV3Dao;
|
||||
private final V3ModelPropsParser v3ModelPropsParser;
|
||||
|
||||
public Optional<MessageTemplateV3Model> findEnabledByCode(String templateCode) {
|
||||
public Optional<MessageTemplateV3Model> findEnabledByCode(String templateCode, boolean parseProps) {
|
||||
MessageTemplateV3 template = messageTemplateV3Dao.lambdaQuery()
|
||||
.eq(MessageTemplateV3::getCode, templateCode)
|
||||
.eq(MessageTemplateV3::getIsDelete, 0)
|
||||
@ -40,18 +41,18 @@ public class MessageTemplateV3ModelService {
|
||||
.one();
|
||||
if (template == null)
|
||||
return Optional.empty();
|
||||
ModelBuilder builder = new ModelBuilder(templateCode);
|
||||
ModelBuilder builder = new ModelBuilder(parseProps, templateCode);
|
||||
return Optional.of(builder.build(template));
|
||||
}
|
||||
|
||||
public List<MessageTemplateV3Model> getByCodes(List<String> templateCodes) {
|
||||
public List<MessageTemplateV3Model> getByCodes(List<String> templateCodes, boolean parseProps) {
|
||||
if (CollectionUtils.isEmpty(templateCodes))
|
||||
return Collections.emptyList();
|
||||
List<MessageTemplateV3> templates = messageTemplateV3Dao.lambdaQuery()
|
||||
.in(MessageTemplateV3::getCode, templateCodes)
|
||||
.eq(MessageTemplateV3::getIsDelete, 0)
|
||||
.list();
|
||||
ModelBuilder builder = new ModelBuilder(templateCodes.toArray(new String[0]));
|
||||
ModelBuilder builder = new ModelBuilder(parseProps, templateCodes.toArray(new String[0]));
|
||||
return templates.stream()
|
||||
.map(builder::build)
|
||||
.collect(toList());
|
||||
@ -62,8 +63,10 @@ public class MessageTemplateV3ModelService {
|
||||
|
||||
final Map<String, List<MessageTemplateGroupV3>> templateCode2Groups;
|
||||
final Map<String, List<MessageTemplateButtonV3>> templateCode2Buttons;
|
||||
private final boolean parseProps;
|
||||
|
||||
ModelBuilder(String... templateCodes) {
|
||||
ModelBuilder(boolean parseProps, String... templateCodes) {
|
||||
this.parseProps = parseProps;
|
||||
if (templateCodes.length > 0) {
|
||||
templateCode2Groups = messageTemplateGroupV3Dao.lambdaQuery()
|
||||
.in(MessageTemplateGroupV3::getTemplateCode, Arrays.asList(templateCodes))
|
||||
@ -84,6 +87,8 @@ public class MessageTemplateV3ModelService {
|
||||
model.setTemplate(template);
|
||||
model.setGroups(templateCode2Groups.getOrDefault(template.getCode(), Collections.emptyList()));
|
||||
model.setButtons(templateCode2Buttons.getOrDefault(template.getCode(), Collections.emptyList()));
|
||||
if (parseProps)
|
||||
v3ModelPropsParser.parse(model);
|
||||
return model;
|
||||
}
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
package cn.axzo.msg.center.message.service.impl.v3.model;
|
||||
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateV3Model;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Component
|
||||
class V3ModelPropsParser {
|
||||
|
||||
void parse(MessageTemplateV3Model model) {
|
||||
}
|
||||
|
||||
}
|
||||
@ -47,6 +47,10 @@ public class UrlConfig {
|
||||
*/
|
||||
private MobileUrlConfig appManager;
|
||||
|
||||
public List<TerminalUrl> parse(AppTerminalTypeEnum appType) {
|
||||
return new TerminalUrlParser(this, appType).parse();
|
||||
}
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public WebUrl getOrCreatePcOms() {
|
||||
if (pcOms == null)
|
||||
@ -82,10 +86,6 @@ public class UrlConfig {
|
||||
return appManager;
|
||||
}
|
||||
|
||||
public List<TerminalUrl> parse(AppTerminalTypeEnum appType) {
|
||||
return new TerminalUrlParser(this, appType).parse();
|
||||
}
|
||||
|
||||
public boolean hasUrl() {
|
||||
if (pcOms != null && pcOms.hasUrl())
|
||||
return true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user