diff --git a/xiuosiot-backend/pom.xml b/xiuosiot-backend/pom.xml
index dc0ebe6..c0b2ecf 100644
--- a/xiuosiot-backend/pom.xml
+++ b/xiuosiot-backend/pom.xml
@@ -181,6 +181,7 @@
org.springframework.boot
spring-boot-maven-plugin
+ com.aiit.xiuos.XiuosApplication
org.projectlombok
@@ -189,6 +190,15 @@
+
+
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+ true
+
+
org.mybatis.generator
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/DingUtil.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/DingUtil.java
index 5301ed9..1a1ba8d 100644
--- a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/DingUtil.java
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/DingUtil.java
@@ -1,5 +1,5 @@
package com.aiit.xiuos.Utils;
-import com.alibaba.fastjson.JSON;
+
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/EmqxApiUtil.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/EmqxApiUtil.java
new file mode 100644
index 0000000..ae3f1e7
--- /dev/null
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/EmqxApiUtil.java
@@ -0,0 +1,39 @@
+package com.aiit.xiuos.Utils;
+
+import com.aiit.xiuos.mqtt.MqttConfiguration;
+import com.alibaba.fastjson.JSONObject;
+
+import okhttp3.Credentials;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+@Component
+public class EmqxApiUtil {
+ @Autowired
+ MqttConfiguration mqttConfiguration;
+
+
+ public String getClientInfo(String clientId){
+ try {
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder()
+ .url(mqttConfiguration.getApiurl()+"/api/v5/clients/"+clientId)
+ .header("Content-Type", "application/json")
+ .header("Authorization", Credentials.basic(mqttConfiguration.getApikey(), mqttConfiguration.getSecretkey()))
+ .build();
+
+ Response response = client.newCall(request).execute();
+ return response.body().string();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+}
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/HexUtil.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/HexUtil.java
index a145ae5..294962e 100644
--- a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/HexUtil.java
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/HexUtil.java
@@ -2,6 +2,7 @@ package com.aiit.xiuos.Utils;
import com.alibaba.fastjson.JSONObject;
+import java.io.RandomAccessFile;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.BitSet;
@@ -168,6 +169,7 @@ public class HexUtil {
bit = bs[i] & 0x0f; // 低四位, 与操作 0000 1111
sb.append(chars[bit]);
sb.append(' ');//每个Byte之间空格分隔
+
}
return sb.toString().trim();
}
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/OTAFileUtil.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/OTAFileUtil.java
new file mode 100644
index 0000000..cf1782e
--- /dev/null
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/OTAFileUtil.java
@@ -0,0 +1,56 @@
+package com.aiit.xiuos.Utils;
+
+import cn.hutool.core.io.FileUtil;
+
+import java.io.*;
+import java.util.ArrayList;
+
+public class OTAFileUtil {
+ public static byte[] getFile(String fileName, int offset,int size) {
+ byte[] buffer = new byte[size];
+ File file = new File(System.getProperty("user.dir") + "/otafiles/" + fileName);
+ byte[] chunk;
+ RandomAccessFile randomAccessFile =null;
+ try {
+ randomAccessFile = new RandomAccessFile(file, "r");
+ int bytesRead;
+ randomAccessFile.seek(offset);
+ if ((bytesRead = randomAccessFile.read(buffer)) != -1) {
+ if (bytesRead < size) {
+ chunk = new byte[bytesRead];
+ System.arraycopy(buffer, 0, chunk, 0, bytesRead);
+ } else {
+ chunk = new byte[size];
+ System.arraycopy(buffer, 0, chunk, 0, size);
+ }
+ return chunk;
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if(randomAccessFile!=null){
+ try{
+ randomAccessFile.close();
+ System.out.println("文件流关闭"+"offset="+offset);
+ }catch (IOException e){
+ e.printStackTrace();
+ }
+ }
+ }
+ return null;
+ }
+
+ public static void main(String rgs[]) {
+
+ byte[] chunk = OTAFileUtil.getFile("2_ota_refresh.svg", 0,1024);
+ System.out.println();
+ String filePath = System.getProperty("user.dir") + "/otafiles/" + "2_ota_refresh.svg";
+
+ FileUtil.del(filePath);
+
+
+
+
+ }
+
+}
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/XiuosApplication.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/XiuosApplication.java
index 6025855..4e734b1 100644
--- a/xiuosiot-backend/src/main/java/com/aiit/xiuos/XiuosApplication.java
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/XiuosApplication.java
@@ -15,7 +15,11 @@ import org.springframework.scheduling.annotation.EnableScheduling;
public class XiuosApplication {
public static void main(String[] args) {
- SpringApplication.run(XiuosApplication.class, args);
+ try {
+ SpringApplication.run(XiuosApplication.class, args);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
}
}
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/controller/DeviceController.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/controller/DeviceController.java
index 469ba01..f2d3e71 100644
--- a/xiuosiot-backend/src/main/java/com/aiit/xiuos/controller/DeviceController.java
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/controller/DeviceController.java
@@ -87,7 +87,7 @@ public class DeviceController {
@GetMapping("/getRunStatusCount")
public ResultRespons getRunStatusCount(HttpServletRequest request){
UserInfo userInfo =(UserInfo) request.getSession().getAttribute("user");
- List