From 1585ca80e549c77d158c3c3f44d9fe449daff3ef Mon Sep 17 00:00:00 2001 From: republicline <1464474399@qq.com> Date: Mon, 19 Aug 2024 16:44:42 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E7=9F=AD=E4=BF=A1=E7=99=BB=E9=99=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysMobileServiceImpl.java | 4 +++- .../rax/vital/handler/AddMedicineHandler.java | 21 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMobileServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMobileServiceImpl.java index 1f1c3b0..9735b37 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMobileServiceImpl.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMobileServiceImpl.java @@ -40,7 +40,7 @@ public class SysMobileServiceImpl implements SysMobileService { private SmsClient smsClient; /** - * 发送手机验证码 TODO: 调用短信网关发送验证码,测试返回前端 + * 发送手机验证码 * @param mobile mobile * @return code */ @@ -63,7 +63,9 @@ public class SysMobileServiceImpl implements SysMobileService { String code = RandomUtil.randomNumbers(Integer.parseInt(SecurityConstants.CODE_SIZE)); log.debug("手机号生成验证码成功:{},{}", mobile, code); + // 调用短信服务发送验证码 smsClient.sendCode(code, mobile); + // 保存验证码到redis, 有效期60s redisTemplate.opsForValue() .set(CacheConstants.DEFAULT_CODE_KEY + mobile, code, SecurityConstants.CODE_TIME, TimeUnit.SECONDS); return R.ok(Boolean.TRUE, code); 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 a490bdc..20c0d41 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 @@ -4,11 +4,15 @@ import com.alibaba.fastjson.JSONObject; import com.rax.vital.timer.AIMedicineTimer; import com.rax.vital.timer.VitalSignTimerWS; import com.rax.vital.util.DatabaseNameUtil; +import com.rax.vital.util.GetHttpParamUtil; import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.oauth2.server.authorization.OAuth2Authorization; import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService; +import org.springframework.security.oauth2.server.authorization.OAuth2TokenType; import org.springframework.web.socket.*; +import java.net.URLDecoder; import java.util.Date; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -42,11 +46,11 @@ public class AddMedicineHandler implements WebSocketHandler { @Override public void handleMessage(WebSocketSession session, WebSocketMessage message) throws Exception { -// String decode = URLDecoder.decode(session.getUri().getQuery()); -// Map params = GetHttpParamUtil.getParams(decode); -// String token = (String) params.get("token"); -// OAuth2Authorization authorization = authorizationService.findByToken(token, OAuth2TokenType.ACCESS_TOKEN); -// String username = authorization.getPrincipalName(); + String decode = URLDecoder.decode(session.getUri().getQuery()); + Map params = GetHttpParamUtil.getParams(decode); + String token = (String) params.get("token"); + OAuth2Authorization authorization = authorizationService.findByToken(token, OAuth2TokenType.ACCESS_TOKEN); + String username = authorization.getPrincipalName(); JSONObject jsonObject = JSONObject.parseObject((String) message.getPayload()); String msgType = jsonObject.getString("msgType"); @@ -68,13 +72,13 @@ public class AddMedicineHandler implements WebSocketHandler { if ("webResponseConnection".equals(msgType)) { String webConnectionFlag = jsonObject.getString("webConnectionFlag"); // 给unity端发送网页端拒绝连接 - aiMedicineTimer.sendConnectionResponseToUnity(patientName,idNum,date,databaseName, webConnectionFlag); + aiMedicineTimer.sendConnectionResponseToUnity(patientName, idNum, date, databaseName, webConnectionFlag); } // 处理web端请求或断开连接 if ("webRequestConnection".equals(msgType)) { String webRequestFlag = jsonObject.getString("webConnectionFlag"); - aiMedicineTimer.sendWebRequestConnectionMsg(patientName,idNum,date,databaseName, webRequestFlag); + aiMedicineTimer.sendWebRequestConnectionMsg(patientName, idNum, date, databaseName, webRequestFlag); } if (aiMedicineTimer.getUnitySession(databaseName) != null) { @@ -105,7 +109,7 @@ public class AddMedicineHandler implements WebSocketHandler { && aiMedicineTimer.isReady(databaseName)) { // todo 注意修改 // flag 0 代表人工给药, 1代表AI给药 - vitalSignTimerWS.changeWSAIFlag(databaseName, "admin", session, jsonObject.getString("flag"), + vitalSignTimerWS.changeWSAIFlag(databaseName, username, session, jsonObject.getString("flag"), jsonObject.getString("medicine"), jsonObject.getString("value")); } @@ -121,7 +125,6 @@ public class AddMedicineHandler implements WebSocketHandler { session.sendMessage(new TextMessage(result.toJSONString().getBytes())); } - } }