package cn.iocoder.yudao.module.iot.gateway.service.device.message; import cn.iocoder.yudao.module.iot.core.enums.IotSerializeTypeEnum; import cn.iocoder.yudao.module.iot.core.mq.message.IotDeviceMessage; /** * IoT 设备消息 Service 接口 * * @author 芋道源码 */ public interface IotDeviceMessageService { /** * 序列化消息 * * @param message 消息 * @param productKey 产品 Key * @param deviceName 设备名称 * @return 序列化后的消息内容 */ byte[] serializeDeviceMessage(IotDeviceMessage message, String productKey, String deviceName); /** * 序列化消息 * * @param message 消息 * @param serializeType 序列化类型 * @return 序列化后的消息内容 */ byte[] serializeDeviceMessage(IotDeviceMessage message, IotSerializeTypeEnum serializeType); /** * 反序列化消息 * * @param bytes 消息内容 * @param productKey 产品 Key * @param deviceName 设备名称 * @return 反序列化后的消息内容 */ IotDeviceMessage deserializeDeviceMessage(byte[] bytes, String productKey, String deviceName); /** * 反序列化消息 * * @param bytes 消息内容 * @param serializeType 序列化类型 * @return 反序列化后的消息内容 */ IotDeviceMessage deserializeDeviceMessage(byte[] bytes, IotSerializeTypeEnum serializeType); /** * 发送消息 * * @param message 消息 * @param productKey 产品 Key * @param deviceName 设备名称 * @param serverId 设备连接的 serverId */ void sendDeviceMessage(IotDeviceMessage message, String productKey, String deviceName, String serverId); }