class StaticTemplateManager extends AbstractTemplateManager implements BeanPostProcessor {

    private StaticNotifyProperties properties;

    public StaticTemplateManager(StaticNotifyProperties properties) {
        this.properties = properties;
    }

    public void register(TemplateProvider provider) {
        super.register(provider);
    }

    @Override
    protected Mono<TemplateProperties> getProperties(NotifyType type, String id) {
        return Mono.justOrEmpty(properties.getTemplateProperties(type, id));
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {<FILL_FUNCTION_BODY>}
}


        if(bean instanceof TemplateProvider){
            register(((TemplateProvider) bean));
        }

        return BeanPostProcessor.super.postProcessAfterInitialization(bean, beanName);
    
<methods>public non-sealed void <init>() ,public Mono<? extends org.jetlinks.community.notify.template.Template> createTemplate(org.jetlinks.community.notify.NotifyType, org.jetlinks.community.notify.template.TemplateProperties) ,public Mono<? extends org.jetlinks.community.notify.template.Template> getTemplate(org.jetlinks.community.notify.NotifyType, java.lang.String) ,public Mono<java.lang.Void> reload(java.lang.String) <variables>protected final Map<java.lang.String,Map<java.lang.String,org.jetlinks.community.notify.template.TemplateProvider>> providers,protected final Map<java.lang.String,org.jetlinks.community.notify.template.Template> templates