From 4e0844558d29a3f61ddefe6a0f70aa57efc591c1 Mon Sep 17 00:00:00 2001 From: haown <454902499@qq.com> Date: Thu, 2 Nov 2023 09:35:47 +0800 Subject: [PATCH] =?UTF-8?q?update=3D=3D=3D>:=E4=BF=AE=E6=94=B9=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=88=BF=E9=97=B4=E5=8F=B7=E6=96=B9=E6=B3=95=E5=8F=8A?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=88=BF=E9=97=B4=E5=8F=B7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VideoConsultationController.java | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/videoconsultation/VideoConsultationController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/videoconsultation/VideoConsultationController.java index 3cb2071..4734930 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/videoconsultation/VideoConsultationController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/videoconsultation/VideoConsultationController.java @@ -1,6 +1,7 @@ package com.xinelu.applet.controller.videoconsultation; -import cn.hutool.core.util.RandomUtil; +import com.xinelu.applet.dto.consultationInfo.ConsultationInfoDTO; +import com.xinelu.applet.service.consultationInfo.IConsultationInfoService; import com.xinelu.common.core.domain.R; import com.xinelu.common.core.dto.MessageTemplate; import com.xinelu.common.enums.MessageContentType; @@ -16,6 +17,8 @@ import com.xinelu.common.utils.tencentcloudapi.trtc.v20190722.models.DissolveRoo import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.Date; +import java.util.Random; +import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -41,6 +44,10 @@ public class VideoConsultationController { private final static String ENDPOINT = "trtc.tencentcloudapi.com"; private final static String REGION = "ap-beijing"; + + @Resource + private IConsultationInfoService consultationInfoService; + @ApiOperation("获取userSig") @GetMapping("getUserSig/{userId}") public R getUserSig(@PathVariable String userId) { @@ -49,19 +56,31 @@ public class VideoConsultationController { return R.ok(userSig); } - @ApiOperation("开始会诊") - @GetMapping("start/{applyId}") - public R start(@PathVariable String applyId) { - int roomId = RandomUtil.randomInt(1, 1000); + @ApiOperation("开始视频") + @GetMapping("start/{consultationInfoId}") + public R start(@PathVariable Long consultationInfoId) { + // 房间号 + Random random = new Random(); + int randomNumber = random.nextInt(900000) + 100000; // 限制范围为 100000-999999 + String roomId = String.valueOf(randomNumber); + if (roomId.length() < 6) { + roomId = "0" + roomId; // 补零 + } MessageTemplate msg = new MessageTemplate(); - msg.setMessage(String.valueOf(roomId)); - msg.setToKey(applyId); + // 根据图文咨询申请主键查询居民主键 + ConsultationInfoDTO consultationInfoDTO = consultationInfoService.selectConsultationInfoById(consultationInfoId); + if (consultationInfoDTO == null) { + return R.fail("生成房间号失败"); + } + msg.setMessage(roomId); + msg.setToKey(String.valueOf(consultationInfoDTO.getPatientId())); msg.setMsgType(MessageContentType.CONSULTATION.name()); msg.setSendTime(new Date()); - WebSocketUtils.sendMessage(applyId, msg); - return R.ok(String.valueOf(roomId)); + WebSocketUtils.sendMessage(String.valueOf(consultationInfoDTO.getPatientId()), msg); + return R.ok(roomId); } + @ApiOperation("解散房间") @GetMapping("dissolveRoom/{roomId}") public R dissolveRoom(@PathVariable String roomId) throws TencentCloudSDKException {