diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..80eafa9
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..a55e7a1
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xiuosiot-backend/pom.xml b/xiuosiot-backend/pom.xml
index 8993e6e..f2abbee 100644
--- a/xiuosiot-backend/pom.xml
+++ b/xiuosiot-backend/pom.xml
@@ -113,6 +113,12 @@
spring-boot-starter-mail
+
+ org.apache.spark
+ spark-core_2.12
+ 3.3.1
+
+
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/BeanUtil.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/BeanUtil.java
new file mode 100644
index 0000000..45405ed
--- /dev/null
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/BeanUtil.java
@@ -0,0 +1,4 @@
+package com.aiit.xiuos.Utils;
+
+public class BeanUtil {
+}
diff --git a/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/CsvUtils.java b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/CsvUtils.java
new file mode 100644
index 0000000..8c4bc3c
--- /dev/null
+++ b/xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/CsvUtils.java
@@ -0,0 +1,31 @@
+package com.aiit.xiuos.Utils;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.*;
+@Slf4j
+public class CsvUtils {
+ public static StringBuffer FinsJson2CSV(JSONArray jsonArray) {
+ StringBuffer stringBuffer=new StringBuffer();
+// "value_name": "启动",
+// "value_type": 1,
+// "area_char": "W",
+// "data_type": 0,
+// "start_address": 0,
+// "bit_address": 0,
+// "data_length": 1
+ for(int i=0;i webSocketSet = new ConcurrentHashMap();
+
+ public HashMap cntofParam=new HashMap();
+
+ public HashMap numofAccount=new HashMap();
+
+ /**
+ * 与某个客户端的连接会话,需要通过它来给客户端发送数据
+ */
+ private Session session;
+
+ /**
+ * 传过来的id
+ */
+ private String name = "";
+
+ /**
+ * 连接建立成功调用的方法*/
+ @OnOpen
+ public void onOpen(@PathParam(value = "clientId") String clientId, Session session) {
+ //接收到发送消息的人员编号
+ name = clientId;
+ this.session = session;
+ /**加入set中*/
+ webSocketSet.put(clientId,this);
+ /**在线数加1*/
+ addOnlineCount();
+ log.info("有新连接"+clientId+"加入!当前在线人数为" + getOnlineCount());
+ try {
+ sendMessage(clientId+"-连接已建立-");
+ } catch (IOException e) {
+ log.error("IO异常");
+ }
+ }
+
+ /**
+ * 连接关闭调用的方法
+ */
+ @OnClose
+ public void onClose() {
+ if (name != null && name != "") {
+ /** 从set中删除 */
+ webSocketSet.remove(name);
+ /** 在线数减1 */
+ subOnlineCount();
+ log.info("有一连接"+name+"关闭!当前在线人数为" + getOnlineCount());
+ }
+ }
+
+ /**
+ * 收到客户端消息后调用的方法
+ *
+ * @param message 客户端发送过来的消息*/
+ @OnMessage
+ public void onMessage(String message, Session session) {
+ log.info("来自客户端的消息:" + message);
+ try {
+ this.sendMessage("收到!");
+ } catch (IOException e) {
+ log.error(e.getMessage());
+ }
+ }
+
+ /**
+ * 发生错误时调用
+ * **/
+ @OnError
+ public void onError(Session session, Throwable error) {
+ log.error("发生错误");
+ error.printStackTrace();
+ }
+
+
+ public void sendMessage(String message) throws IOException {
+ synchronized (session) {
+ getSession().getBasicRemote().sendText(message);
+ }
+ }
+
+ /**
+ * 给指定的人发送消息
+ * @param message
+ */
+ public void sendToMessageById(String id,String message) {
+ try {
+ if (webSocketSet.get(id) != null) {
+ webSocketSet.get(id).sendMessage(message);
+ } else {
+ System.out.println("webSocketSet中没有此key,不推送消息");
+ log.info("webSocketSet中没有此key,不推送消息");
+ }
+ } catch (IOException e) {
+ log.error(e.getMessage());
+ }
+ }
+
+ /**
+ * 群发自定义消息
+ * */
+ public static void sendInfo(String message) {
+ try {
+ for (Map.Entry entry : webSocketSet.entrySet()) {
+ String name = entry.getKey();
+ log.info("发送信息至客户端:"+name);
+ QJDQWebSocketServer value = entry.getValue();
+ value.sendMessage(message);
+ }
+ }catch(IOException e){
+ log.error(e.getMessage());
+ }
+ }
+
+ public Session getSession() {
+ return session;
+ }
+
+ public static synchronized int getOnlineCount() {
+ return onlineCount;
+ }
+
+ public static synchronized void addOnlineCount() {
+ QJDQWebSocketServer.onlineCount++;
+ }
+
+ public static synchronized void subOnlineCount() {
+ QJDQWebSocketServer.onlineCount--;
+ }
+}
diff --git a/xiuosiot-backend/src/main/resources/mappers/QjdqElectricMapper.xml b/xiuosiot-backend/src/main/resources/mappers/QjdqElectricMapper.xml
new file mode 100644
index 0000000..ee8c46b
--- /dev/null
+++ b/xiuosiot-backend/src/main/resources/mappers/QjdqElectricMapper.xml
@@ -0,0 +1,509 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, electric2, electric3, electric4, electric5, electric6, electric7, electric8,
+ electric9, electric10, electric11, electric12, electric13, electric14, electric15,
+ electric16, electric17, electric18, electric19, electric20, electric21, electric22,
+ electric23, electric24, electric25, electric26, electric27, electric28, electric29,
+ electric30, electric31, electric32, electric33, electric34, electric35, electric36,
+ electric37, electric38, electric39, electric40
+
+
+
+ delete from qjdq_electric
+ where id = #{id,jdbcType=INTEGER}
+
+
+ insert into qjdq_electric (id, electric2, electric3,
+ electric4, electric5, electric6,
+ electric7, electric8, electric9,
+ electric10, electric11, electric12,
+ electric13, electric14, electric15,
+ electric16, electric17, electric18,
+ electric19, electric20, electric21,
+ electric22, electric23, electric24,
+ electric25, electric26, electric27,
+ electric28, electric29, electric30,
+ electric31, electric32, electric33,
+ electric34, electric35, electric36,
+ electric37, electric38, electric39,
+ electric40)
+ values (#{id,jdbcType=INTEGER}, #{electric2,jdbcType=NUMERIC}, #{electric3,jdbcType=NUMERIC},
+ #{electric4,jdbcType=NUMERIC}, #{electric5,jdbcType=NUMERIC}, #{electric6,jdbcType=NUMERIC},
+ #{electric7,jdbcType=NUMERIC}, #{electric8,jdbcType=NUMERIC}, #{electric9,jdbcType=NUMERIC},
+ #{electric10,jdbcType=NUMERIC}, #{electric11,jdbcType=NUMERIC}, #{electric12,jdbcType=NUMERIC},
+ #{electric13,jdbcType=NUMERIC}, #{electric14,jdbcType=NUMERIC}, #{electric15,jdbcType=NUMERIC},
+ #{electric16,jdbcType=NUMERIC}, #{electric17,jdbcType=NUMERIC}, #{electric18,jdbcType=NUMERIC},
+ #{electric19,jdbcType=NUMERIC}, #{electric20,jdbcType=NUMERIC}, #{electric21,jdbcType=NUMERIC},
+ #{electric22,jdbcType=NUMERIC}, #{electric23,jdbcType=NUMERIC}, #{electric24,jdbcType=NUMERIC},
+ #{electric25,jdbcType=NUMERIC}, #{electric26,jdbcType=NUMERIC}, #{electric27,jdbcType=NUMERIC},
+ #{electric28,jdbcType=NUMERIC}, #{electric29,jdbcType=NUMERIC}, #{electric30,jdbcType=NUMERIC},
+ #{electric31,jdbcType=NUMERIC}, #{electric32,jdbcType=NUMERIC}, #{electric33,jdbcType=NUMERIC},
+ #{electric34,jdbcType=NUMERIC}, #{electric35,jdbcType=NUMERIC}, #{electric36,jdbcType=NUMERIC},
+ #{electric37,jdbcType=NUMERIC}, #{electric38,jdbcType=NUMERIC}, #{electric39,jdbcType=NUMERIC},
+ #{electric40,jdbcType=NUMERIC})
+
+
+ insert into qjdq_electric
+
+
+ id,
+
+
+ electric2,
+
+
+ electric3,
+
+
+ electric4,
+
+
+ electric5,
+
+
+ electric6,
+
+
+ electric7,
+
+
+ electric8,
+
+
+ electric9,
+
+
+ electric10,
+
+
+ electric11,
+
+
+ electric12,
+
+
+ electric13,
+
+
+ electric14,
+
+
+ electric15,
+
+
+ electric16,
+
+
+ electric17,
+
+
+ electric18,
+
+
+ electric19,
+
+
+ electric20,
+
+
+ electric21,
+
+
+ electric22,
+
+
+ electric23,
+
+
+ electric24,
+
+
+ electric25,
+
+
+ electric26,
+
+
+ electric27,
+
+
+ electric28,
+
+
+ electric29,
+
+
+ electric30,
+
+
+ electric31,
+
+
+ electric32,
+
+
+ electric33,
+
+
+ electric34,
+
+
+ electric35,
+
+
+ electric36,
+
+
+ electric37,
+
+
+ electric38,
+
+
+ electric39,
+
+
+ electric40,
+
+
+
+
+ #{id,jdbcType=INTEGER},
+
+
+ #{electric2,jdbcType=NUMERIC},
+
+
+ #{electric3,jdbcType=NUMERIC},
+
+
+ #{electric4,jdbcType=NUMERIC},
+
+
+ #{electric5,jdbcType=NUMERIC},
+
+
+ #{electric6,jdbcType=NUMERIC},
+
+
+ #{electric7,jdbcType=NUMERIC},
+
+
+ #{electric8,jdbcType=NUMERIC},
+
+
+ #{electric9,jdbcType=NUMERIC},
+
+
+ #{electric10,jdbcType=NUMERIC},
+
+
+ #{electric11,jdbcType=NUMERIC},
+
+
+ #{electric12,jdbcType=NUMERIC},
+
+
+ #{electric13,jdbcType=NUMERIC},
+
+
+ #{electric14,jdbcType=NUMERIC},
+
+
+ #{electric15,jdbcType=NUMERIC},
+
+
+ #{electric16,jdbcType=NUMERIC},
+
+
+ #{electric17,jdbcType=NUMERIC},
+
+
+ #{electric18,jdbcType=NUMERIC},
+
+
+ #{electric19,jdbcType=NUMERIC},
+
+
+ #{electric20,jdbcType=NUMERIC},
+
+
+ #{electric21,jdbcType=NUMERIC},
+
+
+ #{electric22,jdbcType=NUMERIC},
+
+
+ #{electric23,jdbcType=NUMERIC},
+
+
+ #{electric24,jdbcType=NUMERIC},
+
+
+ #{electric25,jdbcType=NUMERIC},
+
+
+ #{electric26,jdbcType=NUMERIC},
+
+
+ #{electric27,jdbcType=NUMERIC},
+
+
+ #{electric28,jdbcType=NUMERIC},
+
+
+ #{electric29,jdbcType=NUMERIC},
+
+
+ #{electric30,jdbcType=NUMERIC},
+
+
+ #{electric31,jdbcType=NUMERIC},
+
+
+ #{electric32,jdbcType=NUMERIC},
+
+
+ #{electric33,jdbcType=NUMERIC},
+
+
+ #{electric34,jdbcType=NUMERIC},
+
+
+ #{electric35,jdbcType=NUMERIC},
+
+
+ #{electric36,jdbcType=NUMERIC},
+
+
+ #{electric37,jdbcType=NUMERIC},
+
+
+ #{electric38,jdbcType=NUMERIC},
+
+
+ #{electric39,jdbcType=NUMERIC},
+
+
+ #{electric40,jdbcType=NUMERIC},
+
+
+
+
+ update qjdq_electric
+
+
+ electric2 = #{electric2,jdbcType=NUMERIC},
+
+
+ electric3 = #{electric3,jdbcType=NUMERIC},
+
+
+ electric4 = #{electric4,jdbcType=NUMERIC},
+
+
+ electric5 = #{electric5,jdbcType=NUMERIC},
+
+
+ electric6 = #{electric6,jdbcType=NUMERIC},
+
+
+ electric7 = #{electric7,jdbcType=NUMERIC},
+
+
+ electric8 = #{electric8,jdbcType=NUMERIC},
+
+
+ electric9 = #{electric9,jdbcType=NUMERIC},
+
+
+ electric10 = #{electric10,jdbcType=NUMERIC},
+
+
+ electric11 = #{electric11,jdbcType=NUMERIC},
+
+
+ electric12 = #{electric12,jdbcType=NUMERIC},
+
+
+ electric13 = #{electric13,jdbcType=NUMERIC},
+
+
+ electric14 = #{electric14,jdbcType=NUMERIC},
+
+
+ electric15 = #{electric15,jdbcType=NUMERIC},
+
+
+ electric16 = #{electric16,jdbcType=NUMERIC},
+
+
+ electric17 = #{electric17,jdbcType=NUMERIC},
+
+
+ electric18 = #{electric18,jdbcType=NUMERIC},
+
+
+ electric19 = #{electric19,jdbcType=NUMERIC},
+
+
+ electric20 = #{electric20,jdbcType=NUMERIC},
+
+
+ electric21 = #{electric21,jdbcType=NUMERIC},
+
+
+ electric22 = #{electric22,jdbcType=NUMERIC},
+
+
+ electric23 = #{electric23,jdbcType=NUMERIC},
+
+
+ electric24 = #{electric24,jdbcType=NUMERIC},
+
+
+ electric25 = #{electric25,jdbcType=NUMERIC},
+
+
+ electric26 = #{electric26,jdbcType=NUMERIC},
+
+
+ electric27 = #{electric27,jdbcType=NUMERIC},
+
+
+ electric28 = #{electric28,jdbcType=NUMERIC},
+
+
+ electric29 = #{electric29,jdbcType=NUMERIC},
+
+
+ electric30 = #{electric30,jdbcType=NUMERIC},
+
+
+ electric31 = #{electric31,jdbcType=NUMERIC},
+
+
+ electric32 = #{electric32,jdbcType=NUMERIC},
+
+
+ electric33 = #{electric33,jdbcType=NUMERIC},
+
+
+ electric34 = #{electric34,jdbcType=NUMERIC},
+
+
+ electric35 = #{electric35,jdbcType=NUMERIC},
+
+
+ electric36 = #{electric36,jdbcType=NUMERIC},
+
+
+ electric37 = #{electric37,jdbcType=NUMERIC},
+
+
+ electric38 = #{electric38,jdbcType=NUMERIC},
+
+
+ electric39 = #{electric39,jdbcType=NUMERIC},
+
+
+ electric40 = #{electric40,jdbcType=NUMERIC},
+
+
+ where id = #{id,jdbcType=INTEGER}
+
+
+ update qjdq_electric
+ set electric2 = #{electric2,jdbcType=NUMERIC},
+ electric3 = #{electric3,jdbcType=NUMERIC},
+ electric4 = #{electric4,jdbcType=NUMERIC},
+ electric5 = #{electric5,jdbcType=NUMERIC},
+ electric6 = #{electric6,jdbcType=NUMERIC},
+ electric7 = #{electric7,jdbcType=NUMERIC},
+ electric8 = #{electric8,jdbcType=NUMERIC},
+ electric9 = #{electric9,jdbcType=NUMERIC},
+ electric10 = #{electric10,jdbcType=NUMERIC},
+ electric11 = #{electric11,jdbcType=NUMERIC},
+ electric12 = #{electric12,jdbcType=NUMERIC},
+ electric13 = #{electric13,jdbcType=NUMERIC},
+ electric14 = #{electric14,jdbcType=NUMERIC},
+ electric15 = #{electric15,jdbcType=NUMERIC},
+ electric16 = #{electric16,jdbcType=NUMERIC},
+ electric17 = #{electric17,jdbcType=NUMERIC},
+ electric18 = #{electric18,jdbcType=NUMERIC},
+ electric19 = #{electric19,jdbcType=NUMERIC},
+ electric20 = #{electric20,jdbcType=NUMERIC},
+ electric21 = #{electric21,jdbcType=NUMERIC},
+ electric22 = #{electric22,jdbcType=NUMERIC},
+ electric23 = #{electric23,jdbcType=NUMERIC},
+ electric24 = #{electric24,jdbcType=NUMERIC},
+ electric25 = #{electric25,jdbcType=NUMERIC},
+ electric26 = #{electric26,jdbcType=NUMERIC},
+ electric27 = #{electric27,jdbcType=NUMERIC},
+ electric28 = #{electric28,jdbcType=NUMERIC},
+ electric29 = #{electric29,jdbcType=NUMERIC},
+ electric30 = #{electric30,jdbcType=NUMERIC},
+ electric31 = #{electric31,jdbcType=NUMERIC},
+ electric32 = #{electric32,jdbcType=NUMERIC},
+ electric33 = #{electric33,jdbcType=NUMERIC},
+ electric34 = #{electric34,jdbcType=NUMERIC},
+ electric35 = #{electric35,jdbcType=NUMERIC},
+ electric36 = #{electric36,jdbcType=NUMERIC},
+ electric37 = #{electric37,jdbcType=NUMERIC},
+ electric38 = #{electric38,jdbcType=NUMERIC},
+ electric39 = #{electric39,jdbcType=NUMERIC},
+ electric40 = #{electric40,jdbcType=NUMERIC}
+ where id = #{id,jdbcType=INTEGER}
+
+
\ No newline at end of file