12345678910111213141516171819202122232425262728293031323334353637383940 |
- package com.fdkankan.admin.dingtalk;
- import com.alibaba.fastjson.JSONObject;
- import de.codecentric.boot.admin.server.domain.entities.Instance;
- import de.codecentric.boot.admin.server.domain.entities.InstanceRepository;
- import de.codecentric.boot.admin.server.domain.events.InstanceEvent;
- import de.codecentric.boot.admin.server.notify.AbstractStatusChangeNotifier;
- import java.util.Map;
- import reactor.core.publisher.Mono;
- /**
- * <p>
- * TODO
- * </p>
- *
- * @author dengsixing
- * @since 2022/3/31
- **/
- public class DingDingNotifier extends AbstractStatusChangeNotifier {
- public DingDingNotifier(InstanceRepository repository) {
- super(repository);
- }
- @Override
- protected Mono<Void> doNotify(InstanceEvent event, Instance instance) {
- String serviceName = instance.getRegistration().getName();
- String serviceUrl = instance.getRegistration().getServiceUrl();
- String status = instance.getStatusInfo().getStatus();
- Map<String, Object> details = instance.getStatusInfo().getDetails();
- StringBuilder str = new StringBuilder();
- str.append("监控报警");
- str.append("\n服务名称:"+ serviceName );
- str.append("\n服务地址:" + serviceUrl);
- str.append("\n状态:" + status);
- str.append("\n详情:" + JSONObject.toJSONString(details));
- str.append("\nkeywords:aaa");
- return Mono.fromRunnable(() -> {
- DingDingMessageUtil.sendTextMessage(str.toString());
- });
- }
- }
|