|  |  | 
 |  |  | package com.dy.common.mw.protocol4Mqtt; | 
 |  |  |  | 
 |  |  | import lombok.Data; | 
 |  |  | import lombok.EqualsAndHashCode; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @Author: liurunyu | 
 |  |  |  * @Date: 2025/6/5 11:44 | 
 |  |  |  * @Description | 
 |  |  |  */ | 
 |  |  | public abstract class MqttPubMsg { | 
 |  |  | @Data | 
 |  |  | public class MqttPubMsg { | 
 |  |  |     public String commandId ;//命令ID | 
 |  |  |  | 
 |  |  |     public String deviceId ;//设备ID | 
 |  |  |     public String cd ;//功能码 | 
 |  |  |  | 
 |  |  |     public String deviceId ;//设备ID(FBox序列号) | 
 |  |  |  | 
 |  |  |     public String mqttResultSendWebUrl ;//Mqtt返回命令结果 发向目的地web URL | 
 |  |  |  | 
 |  |  |     public String topic ;//消息主题 | 
 |  |  |     public MqttTopic topic ;//消息主题 | 
 |  |  |     public String msg ;//消息 | 
 |  |  |  | 
 |  |  |     public boolean isCacheForOffLine ;//下行命令控制,消息中间件不在线是否缓存命令 | 
 |  |  |     public boolean hasResponse ;//下行命令控制,命令是否有应答 | 
 |  |  |  | 
 |  |  |     public abstract boolean valid(); | 
 |  |  |     public boolean valid(){ | 
 |  |  |         if (topic == null || topic.isEmpty()) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         if (msg == null || msg.isEmpty()) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         return true; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |