From 39341f6c20c61a3ead09710d651b7d43cad52bf1 Mon Sep 17 00:00:00 2001 From: republicline <1464474399@qq.com> Date: Fri, 26 Jul 2024 11:33:44 +0800 Subject: [PATCH] =?UTF-8?q?fixed:=20=E4=BF=AE=E6=AD=A3=E6=96=AD=E8=BF=9E?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rax/vital/handler/AddMedicineHandler.java | 4 +- .../vital/handler/MachineFeedbackHandler.java | 4 +- .../com/rax/vital/timer/AIMedicineTimer.java | 45 ++++++++++++++----- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java index d4f2b1a..59d2b14 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java @@ -88,13 +88,13 @@ public class AddMedicineHandler implements WebSocketHandler { if ("webResponseConnection".equals(msgType)) { String webConnectionFlag = jsonObject.getString("webConnectionFlag"); // 给unity端发送网页端拒绝连接 - aiMedicineTimer.sendConnectionResponseToUnity(databaseName, webConnectionFlag); + aiMedicineTimer.sendConnectionResponseToUnity(patientName,idNum,date,databaseName, webConnectionFlag); } // 处理web端请求或断开连接 if ("webRequestConnection".equals(msgType)) { String webRequestFlag = jsonObject.getString("webConnectionFlag"); - aiMedicineTimer.sendWebRequestConnectionMsg(databaseName, webRequestFlag); + aiMedicineTimer.sendWebRequestConnectionMsg(patientName,idNum,date,databaseName, webRequestFlag); } // 处理发送给药相关 diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java index 31218b4..0c4697f 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java @@ -71,13 +71,13 @@ public class MachineFeedbackHandler implements WebSocketHandler { if ("unityRequestConnection".equals(msgType)) { String unityConnectionFlag = jsonObject.getString("unityConnectionFlag"); // u3d端请求网页端连接或断开 - aiMedicineTimer.sendUnityRequestConnectionMsg(databaseName, unityConnectionFlag); + aiMedicineTimer.sendUnityRequestConnectionMsg(patientName, idNum, date, databaseName, unityConnectionFlag); } // u3d相应网页端的请求 if ("unityResponseConnection".equals(msgType)) { String unityConnectionFlag = jsonObject.getString("unityConnectionFlag"); - aiMedicineTimer.sendConnectionResponseToWeb(databaseName, unityConnectionFlag); + aiMedicineTimer.sendConnectionResponseToWeb(patientName, idNum, date,databaseName, unityConnectionFlag); } if (aiMedicineTimer.getWebSession(databaseName) != null) { diff --git a/upms/upms-biz/src/main/java/com/rax/vital/timer/AIMedicineTimer.java b/upms/upms-biz/src/main/java/com/rax/vital/timer/AIMedicineTimer.java index ef0eeff..3c175cd 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/timer/AIMedicineTimer.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/timer/AIMedicineTimer.java @@ -18,10 +18,10 @@ import java.util.concurrent.ConcurrentHashMap; public class AIMedicineTimer { // 存放sessionId与dbName的映射关系 - private static final Map webDbSessionMap = new ConcurrentHashMap(); + private static final Map webDbSessionMap = new ConcurrentHashMap<>(); // 存放sessionId的状态 - private static final Map webStatusMap = new ConcurrentHashMap(); + private static final Map webStatusMap = new ConcurrentHashMap<>(); // unity 端的dbname 和 sessionId 映射 private static final Map u3DDbSessionMap = new ConcurrentHashMap<>(); @@ -30,7 +30,7 @@ public class AIMedicineTimer { private static final Map u3DStatusMap = new ConcurrentHashMap<>(); // unity响应web端的信息 - public void sendConnectionResponseToWeb(String databaseName, String flag) throws IOException { + public void sendConnectionResponseToWeb(String patientName,String idNum,String date,String databaseName, String flag) throws IOException { WebSocketSession webSession = getWebSession(databaseName); if (webSession != null) { JSONObject unityMsg = new JSONObject(); @@ -39,6 +39,9 @@ public class AIMedicineTimer { setU3DStatus(databaseName, true); unityMsg.put("msgType", "unityResponseConnection"); unityMsg.put("unityConnectionFlag", "1"); + unityMsg.put("patientName", patientName); + unityMsg.put("idNum", idNum); + unityMsg.put("date", date); webSession.sendMessage(new TextMessage(unityMsg.toJSONString().getBytes())); } if ("0".equals(flag)) { @@ -48,6 +51,9 @@ public class AIMedicineTimer { unityMsg = new JSONObject(); unityMsg.put("msgType", "unityResponseConnection"); unityMsg.put("unityConnectionFlag", "0"); + unityMsg.put("patientName", patientName); + unityMsg.put("idNum", idNum); + unityMsg.put("date", date); webSession.sendMessage(new TextMessage(unityMsg.toJSONString().getBytes())); } } else { @@ -59,17 +65,22 @@ public class AIMedicineTimer { } // unity端请求网页端连接或断开连接 - public void sendUnityRequestConnectionMsg(String databaseName, String flag) throws IOException { + public void sendUnityRequestConnectionMsg(String patientName,String idNum,String date,String databaseName, String flag) throws IOException { WebSocketSession webSession = getWebSession(databaseName); - System.out.println("webSession = " + webSession); JSONObject jsonObject = new JSONObject(); if ("1".equals(flag)) { + jsonObject.put("patientName",patientName); + jsonObject.put("idNum",idNum); + jsonObject.put("date",date); jsonObject.put("msgType", "unityRequestConnection"); jsonObject.put("unityConnectionFlag", "1"); webSession.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); setU3DStatus(databaseName, true); } if ("0".equals(flag)) { + jsonObject.put("patientName",patientName); + jsonObject.put("idNum",idNum); + jsonObject.put("date",date); jsonObject.put("msgType", "unityRequestConnection"); jsonObject.put("unityConnectionFlag", "0"); webSession.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); @@ -93,37 +104,44 @@ public class AIMedicineTimer { } // web端请求unity端连接或断开连接 - public void sendWebRequestConnectionMsg(String databaseName, String flag) throws IOException { + public void sendWebRequestConnectionMsg(String patientName,String idNum, String date,String databaseName, String flag) throws IOException { WebSocketSession unitySession = getUnitySession(databaseName); - System.out.println("unitySession = " + unitySession); JSONObject jsonObject = new JSONObject(); if ("1".equals(flag)) { - System.out.println("网站端请求连接"); + jsonObject.put("patientName",patientName); + jsonObject.put("idNum",idNum); + jsonObject.put("date",date); jsonObject.put("msgType", "webRequestConnection"); jsonObject.put("webConnectionFlag", "1"); unitySession.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); setWebStatus(databaseName,true); } if ("0".equals(flag)) { + jsonObject.put("patientName",patientName); + jsonObject.put("idNum",idNum); + jsonObject.put("date",date); jsonObject.put("msgType", "webRequestConnection"); jsonObject.put("webConnectionFlag", "0"); unitySession.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); setU3DStatus(databaseName, false); - // 把网页端的sessionStatus置为false setWebStatus(databaseName, false); } } - public void sendConnectionResponseToUnity(String databaseName, String flag) throws IOException { + public void sendConnectionResponseToUnity(String patientName,String idNum,String date,String databaseName, String flag) throws IOException { WebSocketSession unitySession = getUnitySession(databaseName); if (unitySession != null) { JSONObject unityMsg = new JSONObject(); if ("1".equals(flag)) { - // 网页端同意连接 - setWebStatus(databaseName, true); unityMsg.put("msgType", "webResponseConnection"); unityMsg.put("webConnectionFlag", "1"); + unityMsg.put("patientName", patientName); + unityMsg.put("idNum", idNum); + unityMsg.put("date", date); unitySession.sendMessage(new TextMessage(unityMsg.toJSONString().getBytes())); + // 网页端同意连接 + setWebStatus(databaseName, true); + } if ("0".equals(flag)) { // 网页端拒绝连接 @@ -131,6 +149,9 @@ public class AIMedicineTimer { unityMsg = new JSONObject(); unityMsg.put("msgType", "connection refused"); unityMsg.put("webConnectionFlag", "0"); + unityMsg.put("patientName", patientName); + unityMsg.put("idNum", idNum); + unityMsg.put("date", date); unitySession.sendMessage(new TextMessage(unityMsg.toJSONString().getBytes())); // 把unity的sessionStatus置为false setU3DStatus(databaseName, false);