From 1c61b4dac872e479e27615d3e0a175eb0369d212 Mon Sep 17 00:00:00 2001 From: xm Date: Sun, 21 Nov 2021 15:43:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86websocket=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=96=B9=E5=BC=8F=E6=94=B9=E4=B8=BA=E4=BA=86=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E7=89=B9=E5=AE=9A=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/manage/controller/FontController.java | 39 +++++++++++++------ .../manage/controller/LoginController.java | 3 ++ .../manage/service/webSocket/WebServer.java | 2 +- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/power-admin/src/main/java/com/manage/controller/FontController.java b/power-admin/src/main/java/com/manage/controller/FontController.java index 3103be2..ceba053 100644 --- a/power-admin/src/main/java/com/manage/controller/FontController.java +++ b/power-admin/src/main/java/com/manage/controller/FontController.java @@ -10,12 +10,14 @@ import com.manage.service.*; import com.manage.service.cache.Cache; import com.manage.service.cache.CacheManager; import com.manage.service.ipml.Power_NoticeServiceImpl; +import com.manage.service.webSocket.WebServer; import com.manage.service.webSocket.WsPool; import com.manage.util.DateUtils; import com.manage.util.ExceptionPrintUtil; import com.manage.util.Msg; import com.manage.vo.*; import org.apache.commons.lang3.StringUtils; +import org.java_websocket.WebSocket; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -534,9 +536,9 @@ public class FontController { /** * 根据病案deptcode,查询出所有符合的科主任,数据:用户id,用户名称,科室名称 */ - @RequestMapping("/getUserInfoByDeptCodeForChief") + @RequestMapping(value = "/getUserInfoByDeptCodeForChief",produces = "text/plain;charset=UTF-8") @ResponseBody - public String getUserInfoByDeptCodeForChief(String DeptCode) throws Exception{ + public String getUserInfoByDeptCodeForChief(String DeptCode){ List power_users = power_userMapper.selectAllForChief(DeptCode); String result = ""; for (int i = 0; i < power_users.size(); i++) { @@ -548,9 +550,9 @@ public class FontController { /** * 根据病案deptcode,查询出所有符合的病案室用户,需要用户id,用户名称,科室名称 */ - @RequestMapping("/getUserInfoByDeptCodeForRecordRoom") + @RequestMapping(value = "/getUserInfoByDeptCodeForRecordRoom",produces = "text/plain;charset=UTF-8") @ResponseBody - public String getUserInfoByDeptCodeForRecordRoom(String DeptCode) throws Exception{ + public String getUserInfoByDeptCodeForRecordRoom(String DeptCode){ List power_users = power_userMapper.selectAllForRecordRoom(DeptCode); String result = ""; for (int i = 0; i < power_users.size(); i++) { @@ -566,8 +568,7 @@ public class FontController { */ @RequestMapping(value = "/getDoctorNameAndDoctorRoom",produces = "text/plain;charset=UTF-8") @ResponseBody - public String getDoctorNameAndDoctorRoom(String userId,String deptcode) throws Exception{ - System.out.println(userId+"userId"+deptcode+"deptcode"); + public String getDoctorNameAndDoctorRoom(String userId,String deptcode){ String name = power_userMapper.selectForDoctorName(userId); String room= power_userMapper.selectForDoctorRoom(deptcode); String result = room+","+name; @@ -579,7 +580,7 @@ public class FontController { */ @RequestMapping("/getDoctorDeptcode") @ResponseBody - public String getDoctorDeptcode(Integer userId) throws Exception{ + public String getDoctorDeptcode(Integer userId){ //获取deptId String deptId = power_userMapper.selectForDeptId(userId); //获取deptcode @@ -608,10 +609,6 @@ public class FontController { * @Version: * * 从高明更新至湛江,2021/11/20 - * 修改为向特定用户发送信息 - * 特定用户科主任,病案室 - * 科主任需要判定是否和病案的科室相符, - * 病案室直接发送未审核数量 */ @RequestMapping("sendMessage") @ResponseBody @@ -632,5 +629,25 @@ public class FontController { return Msg.success(); } + /** + * 从高明更新至湛江,2021/11/20 + * 修改为向特定用户发送信息 + * 特定用户科主任,病案室 + * 科主任需要判定是否和病案的科室相符, + * 病案室直接发送未审核数量 + */ + @RequestMapping("sendMessageToOne") + @ResponseBody + public Msg sendMessageToOne(Message message) throws Exception{ + if(null == message.getUserId()){ + return Msg.fail("消息用户id不能为空"); + } + if(StringUtils.isBlank(message.getContent())){ + return Msg.fail("消息内容不能为空"); + } + WebSocket wsByUser = WsPool.getWsByUser(message.getUserId().toString()); + WsPool.sendMessageToUser(wsByUser,message.getContent()); + return Msg.success(); + } } diff --git a/power-admin/src/main/java/com/manage/controller/LoginController.java b/power-admin/src/main/java/com/manage/controller/LoginController.java index d111991..ed9fbb9 100644 --- a/power-admin/src/main/java/com/manage/controller/LoginController.java +++ b/power-admin/src/main/java/com/manage/controller/LoginController.java @@ -8,9 +8,11 @@ import com.manage.entity.*; import com.manage.service.*; import com.manage.service.cache.Cache; import com.manage.service.cache.CacheManager; +import com.manage.service.webSocket.WsPool; import com.manage.util.*; import com.manage.vo.*; import org.apache.commons.lang3.StringUtils; +import org.java_websocket.WebSocket; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -58,6 +60,7 @@ public class LoginController { public String login(Power_User powerUser,HttpServletResponse response, HttpServletRequest request,Model model) throws Exception { //同一浏览器打开login,直接触发注销登录session loginService.removeOldUserOnLogin(request); +// WsPool.addUser(,conn); try { Power_UserVo user = powerUserService.findPowerUserByUserNameAndUserPwd(powerUser); //添加进操作日志 diff --git a/power-service/src/main/java/com/manage/service/webSocket/WebServer.java b/power-service/src/main/java/com/manage/service/webSocket/WebServer.java index e344f6b..77ce328 100644 --- a/power-service/src/main/java/com/manage/service/webSocket/WebServer.java +++ b/power-service/src/main/java/com/manage/service/webSocket/WebServer.java @@ -23,7 +23,7 @@ public class WebServer extends WebSocketServer { // ws连接的时候触发的代码,onOpen中我们不做任何操作 } public void sendMessage(String message) throws IOException { - this.session.getBasicRemote().sendText("2"); + this.session.getBasicRemote().sendText(message); } @Override