package com.ruoyi.jarvis.service; import com.ruoyi.jarvis.domain.JDOrder; /** * 物流信息服务接口 */ public interface ILogisticsService { /** * 获取物流信息并推送(如果获取到运单号) * @param order 订单信息 * @return 是否成功获取并推送 */ boolean fetchLogisticsAndPush(JDOrder order); /** * 检查订单是否已处理过(Redis中是否有运单号) * @param orderId 订单ID * @return 如果已处理返回true,否则返回false */ boolean isOrderProcessed(Long orderId); /** * 检查物流服务健康状态 * @return 健康状态信息,包含是否健康、状态描述等 */ HealthCheckResult checkHealth(); /** * 健康检测结果 */ class HealthCheckResult { private boolean healthy; private String status; private String message; private String serviceUrl; public HealthCheckResult(boolean healthy, String status, String message, String serviceUrl) { this.healthy = healthy; this.status = status; this.message = message; this.serviceUrl = serviceUrl; } public boolean isHealthy() { return healthy; } public void setHealthy(boolean healthy) { this.healthy = healthy; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getServiceUrl() { return serviceUrl; } public void setServiceUrl(String serviceUrl) { this.serviceUrl = serviceUrl; } } }