package com.qianwen.core.notify.provider.dingtalk;
|
|
import com.alibaba.fastjson.JSON;
|
import javax.annotation.Nonnull;
|
import com.qianwen.core.notify.DefaultNotifyType;
|
import com.qianwen.core.notify.NotifyType;
|
import com.qianwen.core.notify.Provider;
|
import com.qianwen.core.notify.notifier.NotifierProperties;
|
import com.qianwen.core.notify.notifier.NotifierProvider;
|
import com.qianwen.core.notify.template.TemplateManager;
|
import com.qianwen.core.notify.template.TemplateProperties;
|
import com.qianwen.core.notify.template.TemplateProvider;
|
import com.qianwen.core.tool.metadata.ConfigMetadata;
|
import com.qianwen.core.tool.metadata.ConfigMetadataConstants;
|
import com.qianwen.core.tool.metadata.DataType;
|
import com.qianwen.core.tool.metadata.DefaultConfigMetadata;
|
import com.qianwen.core.tool.metadata.config.ConfigKeyValue;
|
import com.qianwen.core.tool.metadata.types.LongType;
|
import com.qianwen.core.tool.metadata.types.StringType;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
/* loaded from: blade-starter-notify-9.3.0.0-SNAPSHOT.jar:org/springblade/core/notify/provider/dingtalk/DingTalkNotifierProvider.class */
|
public class DingTalkNotifierProvider implements NotifierProvider, TemplateProvider {
|
private final TemplateManager templateManager;
|
public static final DefaultConfigMetadata notifierConfig = new DefaultConfigMetadata("通知配置", "").add("appKey", "appKey", "", (DataType) new StringType().expand(new ConfigKeyValue[]{ConfigMetadataConstants.required.value(true)})).add("appSecret", "appSecret", "", new StringType());
|
public static final DefaultConfigMetadata templateConfig = new DefaultConfigMetadata("模版配置", "").add("agentId", "应用ID", "", (DataType) new LongType().expand(new ConfigKeyValue[]{ConfigMetadataConstants.required.value(true)})).add("title", "标题", "消息标题", new StringType()).add("message", "内容", "最大不超过2048字节", (DataType) new StringType().expand(new ConfigKeyValue[]{ConfigMetadataConstants.maxLength.value(2048L), ConfigMetadataConstants.isMarkdown.value(true)}));
|
|
public DingTalkNotifierProvider(TemplateManager templateManager) {
|
this.templateManager = templateManager;
|
}
|
|
@Override // com.qianwen.core.notify.notifier.NotifierProvider, com.qianwen.core.notify.template.TemplateProvider
|
@Nonnull
|
public NotifyType getType() {
|
return DefaultNotifyType.dingTalk;
|
}
|
|
@Override // com.qianwen.core.notify.notifier.NotifierProvider, com.qianwen.core.notify.template.TemplateProvider
|
@Nonnull
|
public Provider getProvider() {
|
return DingTalkProvider.dingTalkMessage;
|
}
|
|
@Override // com.qianwen.core.notify.template.TemplateProvider
|
public DingTalkMessageTemplate createTemplate(TemplateProperties properties) {
|
return (DingTalkMessageTemplate) JSON.parseObject(properties.getTemplate(), DingTalkMessageTemplate.class);
|
}
|
|
@Override // com.qianwen.core.notify.notifier.NotifierProvider
|
@Nonnull
|
public DingTalkNotifier createNotifier(@Nonnull NotifierProperties properties) {
|
return new DingTalkNotifier(properties, this.templateManager);
|
}
|
|
@Override // com.qianwen.core.notify.notifier.NotifierProvider
|
public ConfigMetadata getNotifierConfigMetadata() {
|
return notifierConfig;
|
}
|
|
@Override // com.qianwen.core.notify.template.TemplateProvider
|
public ConfigMetadata getTemplateConfigMetadata() {
|
return templateConfig;
|
}
|
}
|