From 97c75a868e9fca03598dfa862bdd7ad94fd5fdcb Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期四, 09 十一月 2023 00:54:08 +0800 Subject: [PATCH] 调整MQTT --- src/main/java/com/fzzy/gateway/service/GatewayDeviceService2.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService2.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService2.java index 42f0067..c17e815 100644 --- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService2.java +++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService2.java @@ -1,10 +1,19 @@ package com.fzzy.gateway.service; import com.bstek.dorado.annotation.DataResolver; +import com.bstek.dorado.annotation.Expose; +import com.fzzy.api.data.GatewayDeviceType; import com.fzzy.api.utils.ContextUtil; import com.fzzy.gateway.GatewayUtils; +import com.fzzy.gateway.api.GatewayRemoteManager; +import com.fzzy.gateway.data.BaseResp; import com.fzzy.gateway.entity.GatewayDevice; +import com.fzzy.gateway.hx2023.ScConstant; +import com.fzzy.gateway.hx2023.data.SyncReqData; import com.fzzy.gateway.service.repository.GatewayDeviceRep; +import com.fzzy.mqtt.MqttProviderConfig; +import com.fzzy.mqtt.MqttPublishService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Component; @@ -12,11 +21,17 @@ import javax.annotation.Resource; import java.util.List; +@Slf4j @Component public class GatewayDeviceService2 { @Resource private GatewayDeviceRep gatewayDeviceRep; + + @Resource + private GatewayRemoteManager gatewayRemoteManager; + @Resource + private MqttPublishService publishService; public List<GatewayDevice> listAll() { Sort sort = new Sort(Sort.Direction.ASC, "deviceId"); @@ -59,4 +74,43 @@ } } + + /** + * 娴嬭瘯MQTT绮儏妫�娴� + * gatewayDeviceService#ajaxTestGrain2 + * 绮儏鎺ㄩ�佹祴璇� + * + * @param data + * @return + */ + @Expose + public String ajaxTestGrain2(GatewayDevice data) { + + SyncReqData reqData = new SyncReqData(); + reqData.setDevice(data); + reqData.setAutoReplay(true); + reqData.setMessageType(ScConstant.MESSAGE_TYPE_INVOKE_FUNCTION); + reqData.setMessageId(ScConstant.getMessageId()); + reqData.setFunctionId(ScConstant.FUNCTION_getTAndRHInfo); + + + if (!GatewayDeviceType.TYPE_07.getCode().equals(data.getType())) { + return "ERROR锛氬綋鍓嶈澶囬潪绮儏璁惧涓嶆敮鎸佸綋鍓嶆搷浣�"; + } + + BaseResp resp = gatewayRemoteManager.getSyncGrainService(data.getSyncProtocol()).syncGrain2(reqData); + + //鑷姩鎺ㄩ�� + if (200 == resp.getCode() && reqData.isAutoReplay()) { + String topic = ScConstant.TOPIC_REPORT; + topic = topic.replace("${productId}", data.getProductId()).replace("${deviceId}", data.getDeviceId()); + + publishService.publishMsg(topic, resp.getData()); + } + + log.info("=======鎵嬪姩娴嬭瘯绮儏鎺ㄩ��==========={}", resp.getData()); + + return "SUCCESS锛氭墽琛屽畬鎴�"; + } + } -- Gitblit v1.9.3