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; /** *

* TODO *

* * @author dengsixing * @since 2022/3/31 **/ public class DingDingNotifier extends AbstractStatusChangeNotifier { public DingDingNotifier(InstanceRepository repository) { super(repository); } @Override protected Mono doNotify(InstanceEvent event, Instance instance) { String serviceName = instance.getRegistration().getName(); String serviceUrl = instance.getRegistration().getServiceUrl(); String status = instance.getStatusInfo().getStatus(); Map 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()); }); } }