From 697775ce76037e4ec4a2f7de59395fc873070c71 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 12 十月 2023 17:35:25 +0800 Subject: [PATCH] 修改 --- server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 48 insertions(+), 3 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 0bc1c72..bae593e 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,12 +1,17 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSONObject; import com.doumee.core.constants.Constants; +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.stereotype.Service; import javax.annotation.PostConstruct; +import java.util.Date; /** * 涓庣‖浠跺鎺ユ湇鍔� @@ -17,14 +22,54 @@ public class DeviceServiceImpl implements DeviceService { @Autowired private MqttToolService mqttToolService; + @Autowired + private MqttLogMapper mqttLogMapper; + @Autowired + private MqttConfig mqttConfig; @Override @PostConstruct public void startSubcribe() { mqttToolService.subscribe(new String[]{ Constants.MqttTopic.openLock, Constants.MqttTopic.closeLock}); } + + /** + * 鍙戣捣寮�閿佹寚浠� + * @param locks + * @return + */ @Override - public boolean openLock(Locks locks) { - mqttToolService.pubMessage(locks.getName(), Constants.MqttTopic.openLock); - return true; + public MqttLog openLock(Locks locks) { + String topic = Constants.MqttTopic.openLock.replace("+", locks.getId()); + 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.getLockInfo.replace("+", locks.getId()); + int result = mqttToolService.pubMessage("{}",topic); + MqttLog mqttLog = createPushLog(topic,result,"瀹炴椂鏌ヨ閿佷俊鎭痏"+locks.getId()); + return mqttLog; + } + + 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); + mqttLogMapper.insert(log); + return log; } } -- Gitblit v1.9.3