From ab2050c3493afa22619e5bb9c0bfb7b48990f96c Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 17 二月 2025 15:18:38 +0800
Subject: [PATCH] 111
---
server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java | 61 +++++++++++++++++++++++++-----
1 files changed, 51 insertions(+), 10 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index 64cf5ed..c923d9e 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -1,14 +1,18 @@
package com.doumee.service.business.impl;
+import com.alibaba.fastjson.JSONObject;
import com.doumee.core.constants.Constants;
-import com.doumee.core.mqtt.service.MqttPushCallback;
+import com.doumee.core.mqtt.config.MqttConfig;
import com.doumee.core.mqtt.service.MqttToolService;
+import com.doumee.dao.business.MqttLogMapper;
import com.doumee.dao.business.model.Locks;
+import com.doumee.dao.business.model.MqttLog;
import com.doumee.service.business.DeviceService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
-
import javax.annotation.PostConstruct;
+import java.util.Date;
/**
* 涓庣‖浠跺鎺ユ湇鍔�
@@ -17,19 +21,56 @@
*/
@Service
public class DeviceServiceImpl implements DeviceService {
-
@Autowired
private MqttToolService mqttToolService;
-
+ @Autowired
+ private MqttLogMapper mqttLogMapper;
+ @Autowired
+ private MqttConfig mqttConfig;
+ /**
+ * 鍙戣捣寮�閿佹寚浠�
+ * @param locks
+ * @return
+ */
@Override
- @PostConstruct
- public void startSubcribe() {
- mqttToolService.subscribe(new String[]{ Constants.MqttTopic.openLock, Constants.MqttTopic.closeLock});
+ public MqttLog openLock(Locks locks) {
+ String topic = Constants.MqttTopic.pub_openLock.replace("{siteId}", locks.getSiteId()).replace("{lockId}", locks.getCode()+"");
+ int result = mqttToolService.pubMessage("{}",topic);
+ MqttLog mqttLog = createPushLog(topic,result,"璇锋眰寮�閿乢"+locks.getId());
+ return mqttLog;
+ }
+ /**
+ * 瀹炴椂鏌ヨ閿佷俊鎭�
+ * @param locks
+ * @return
+ */
+ @Override
+ public MqttLog getLockInfo(Locks locks) {
+ String topic = Constants.MqttTopic.pub_getLockInfo.replace("{siteId}", locks.getSiteId()).replace("{lockId}", locks.getCode()+"");
+ int result = mqttToolService.pubMessage("{}",topic);
+ MqttLog mqttLog = createPushLog(topic,result,"瀹炴椂鏌ヨ閿佷俊鎭痏"+locks.getId());
+ return mqttLog;
}
@Override
- public String openLock(Locks locks) {
- mqttToolService.pubMessage(locks.getName(), Constants.MqttTopic.openLock);
- return null;
+ @Async
+ public void testPush(String topic, String json){
+ int result = mqttToolService.pubMessage(json,topic);
}
+ private MqttLog createPushLog(String topic, int result,String info) {
+ MqttLog log = new MqttLog();
+ log.setId(Constants.getUUID());
+ log.setCreateDate(new Date());
+ log.setResult(result);
+ log.setTopic(topic);
+ log.setClientid(mqttConfig.getClientid());
+ log.setHostInfo(mqttConfig.getHost());
+ log.setInfo(JSONObject.toJSONString(mqttConfig));
+ log.setType(Constants.ONE);
+ log.setMsg("");
+ log.setInfo(info);
+ log.setIsdeleted(Constants.ZERO);
+ mqttLogMapper.insert(log);
+ return log;
+ }
}
--
Gitblit v1.9.3