From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 09 十月 2025 11:16:43 +0800 Subject: [PATCH] 优化 --- 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 d007c15..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 boolean openLock(Locks locks) { - mqttToolService.pubMessage(locks.getName(), Constants.MqttTopic.openLock); - return true; + @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