| | |
| | | import com.qianwen.core.notify.NotifyType; |
| | | import com.qianwen.core.tool.utils.Func; |
| | | |
| | | /* loaded from: blade-starter-notify-9.3.0.0-SNAPSHOT.jar:org/springblade/core/notify/template/AbstractTemplateManager.class */ |
| | | public abstract class AbstractTemplateManager implements TemplateManager { |
| | | protected Map<String, Map<String, TemplateProvider>> providers = new ConcurrentHashMap(); |
| | | private Map<String, Template> templates = new ConcurrentHashMap(); |
| | | protected Map<String, Map<String, TemplateProvider>> providers = new ConcurrentHashMap<>(); |
| | | private Map<String, Template> templates = new ConcurrentHashMap<>(); |
| | | |
| | | protected abstract TemplateProperties getProperties(NotifyType type, String id); |
| | | |
| | | protected void register(TemplateProvider provider) { |
| | | this.providers.computeIfAbsent(provider.getType().getId(), ignore -> { |
| | | return new ConcurrentHashMap(); |
| | | return new ConcurrentHashMap<>(); |
| | | }).put(provider.getProvider().getId(), provider); |
| | | } |
| | | |
| | | @Override // com.qianwen.core.notify.template.TemplateManager |
| | | @Override |
| | | public Template createTemplate(NotifyType type, TemplateProperties properties) { |
| | | Map<String, TemplateProvider> providerMap = (Map) Optional.ofNullable(this.providers.get(type.getId())).orElseThrow(() -> { |
| | | Map<String, TemplateProvider> providerMap = Optional.ofNullable(this.providers.get(type.getId())).orElseThrow(() -> { |
| | | return new UnsupportedOperationException("不支持的通知类型:" + properties.getType()); |
| | | }); |
| | | TemplateProvider templateProvider = (TemplateProvider) Optional.ofNullable(providerMap.get(properties.getProvider())).orElseThrow(() -> { |
| | |
| | | return notifierTemplate; |
| | | } |
| | | |
| | | @Override // com.qianwen.core.notify.template.TemplateManager |
| | | @Override |
| | | public Template getTemplate(NotifyType type, String id) { |
| | | Template template; |
| | | TemplateProperties templateProperties = getReallyTemplateProperties(type, id); |
| | |
| | | return this.templates.get(id); |
| | | } |
| | | |
| | | @Override // com.qianwen.core.notify.template.TemplateManager |
| | | @Override |
| | | public void reload(String templateId) { |
| | | this.templates.remove(templateId); |
| | | } |