From 99f77c0fd2ee8ed8840be5e5f99309b184a09e9f Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期三, 18 十月 2023 11:27:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 6 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..1383d8a 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,18 @@ 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.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; +import java.util.Date; /** * 涓庣‖浠跺鎺ユ湇鍔� @@ -17,14 +23,53 @@ 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("+", 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.pub_getLockInfo.replace("+", locks.getId()); + 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); + mqttLogMapper.insert(log); + return log; } } -- Gitblit v1.9.3