This commit is contained in:
dute7liang
2023-12-31 00:00:30 +08:00
parent 6c856eebfb
commit d89b912d64
261 changed files with 911 additions and 929 deletions

View File

@@ -1,9 +1,9 @@
package com.ruoyi.cai.chat;
import com.ruoyi.cai.config.CaiProperties;
import com.ruoyi.cai.domain.CaiAnchor;
import com.ruoyi.cai.domain.CaiUser;
import com.ruoyi.cai.domain.CaiUserCall;
import com.ruoyi.cai.domain.Anchor;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserCall;
import com.ruoyi.cai.dto.app.dto.GuardNum;
import com.ruoyi.cai.dto.app.query.CallReq;
import com.ruoyi.cai.dto.app.vo.chat.CallResp;
@@ -18,7 +18,6 @@ import com.ruoyi.cai.ws.bean.Room;
import com.ruoyi.cai.ws.manager.WebSocketManager;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -47,22 +46,22 @@ public class ChatManager {
public CallResp call(CallReq callReq){
Long userId = LoginHelper.getUserId();
CaiUser fromUser = userService.getById(userId);
CaiUser toUser = userService.getById(callReq.getToUid());
User fromUser = userService.getById(userId);
User toUser = userService.getById(callReq.getToUid());
if(toUser.getIsAnchor() != 1){
throw new ServiceException("对方未通过女神认证,不能接听视频");
}
if(fromUser.getGender() == 1 && toUser.getGender() == 1){
throw new ServiceException("主播和主播之间,不可以拨打视频哦~");
}
CaiAnchor anchor = anchorService.getByUserId(toUser.getId());
Anchor anchor = anchorService.getByUserId(toUser.getId());
if(anchor == null){
throw new ServiceException("主播技能不存在");
}
Long roomId = null;
Room room = webSocketManager.checkOnlineRoom(fromUser.getId(), toUser.getId());
if(room == null){
CaiUserCall call = userCallService.createCall(fromUser, toUser, anchor);
UserCall call = userCallService.createCall(fromUser, toUser, anchor);
roomId = webSocketManager.createRoom(call.getId());
}
String weSocketUrl = String.format(properties.getWebSocketUrl(),"token",roomId);
@@ -89,7 +88,7 @@ public class ChatManager {
public GetRoomResp getRoom(String roomId){
Long userId = LoginHelper.getUserId();
CaiUserCall userCall = userCallService.getById(roomId);
UserCall userCall = userCallService.getById(roomId);
if(userCall == null){
throw new ServiceException("房间不存在");
}
@@ -100,11 +99,11 @@ public class ChatManager {
if (room == null) {
throw new ServiceException("'对方已取消通话'");
}
List<CaiUser> userList = userService.listByIds(Arrays.asList(userCall.getFromUid(), userCall.getToUid()));
Map<Long, CaiUser> userMap = userList.stream().collect(Collectors.toMap(CaiUser::getId, Function.identity()));
CaiUser fromUser = userMap.get(userCall.getFromUid());
CaiUser toUser = userMap.get(userCall.getToUid());
CaiAnchor anchor = anchorService.getByUserId(toUser.getId());
List<User> userList = userService.listByIds(Arrays.asList(userCall.getFromUid(), userCall.getToUid()));
Map<Long, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
User fromUser = userMap.get(userCall.getFromUid());
User toUser = userMap.get(userCall.getToUid());
Anchor anchor = anchorService.getByUserId(toUser.getId());
String weSocketUrl = String.format(properties.getWebSocketUrl(),"token",roomId);
GetRoomResp getRoomResp = new GetRoomResp();
getRoomResp.setRoomId(userCall.getId()+"");