From e4d0c4cb3326c0a073ec9d263f2bbffe58463082 Mon Sep 17 00:00:00 2001 From: wty <419034340@qq.com> Date: Wed, 30 Nov 2022 17:44:41 +0800 Subject: [PATCH] add qjdq data websocket --- .idea/codeStyles/Project.xml | 25 + .idea/codeStyles/codeStyleConfig.xml | 5 + xiuosiot-backend/pom.xml | 6 + .../java/com/aiit/xiuos/Utils/BeanUtil.java | 4 + .../java/com/aiit/xiuos/Utils/CsvUtils.java | 31 ++ .../java/com/aiit/xiuos/Utils/DingUtil.java | 4 + .../xiuos/dao/mappers/QjdqElectricMapper.java | 17 + .../com/aiit/xiuos/model/QjdqElectric.java | 136 +++++ .../com/aiit/xiuos/redis/RedisConfig.java | 4 + .../java/com/aiit/xiuos/redis/RedisUtil.java | 4 + .../xiuos/service/QjdqElectricService.java | 8 + .../service/impl/QjdqElectricServiceImpl.java | 22 + .../xiuos/socket/QJDQWebSocketServer.java | 153 ++++++ .../resources/mappers/QjdqElectricMapper.xml | 509 ++++++++++++++++++ 14 files changed, 928 insertions(+) create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/BeanUtil.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/CsvUtils.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/Utils/DingUtil.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/dao/mappers/QjdqElectricMapper.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/model/QjdqElectric.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/redis/RedisConfig.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/redis/RedisUtil.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/service/QjdqElectricService.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/service/impl/QjdqElectricServiceImpl.java create mode 100644 xiuosiot-backend/src/main/java/com/aiit/xiuos/socket/QJDQWebSocketServer.java create mode 100644 xiuosiot-backend/src/main/resources/mappers/QjdqElectricMapper.xml 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