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