This commit is contained in:
dute7liang
2024-01-28 13:33:25 +08:00
parent b8c801ee56
commit 050de23e28
14 changed files with 126 additions and 120 deletions

View File

@@ -3,20 +3,17 @@ package com.ruoyi.cai.ws.handler.message;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.UserCall;
import com.ruoyi.cai.notice.YunxinWsServiceV2;
import com.ruoyi.cai.service.UserCallService;
import com.ruoyi.yunxin.data.ImDataRes;
import com.ruoyi.yunxin.data.ImMsgGen;
import com.ruoyi.yunxin.Yunxin;
import com.ruoyi.cai.ws.bean.FdCtxData;
import com.ruoyi.cai.ws.bean.Room;
import com.ruoyi.cai.ws.constant.HangUpEnums;
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
import com.ruoyi.cai.ws.handler.IMessageHandler;
import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.cai.ws.dto.WsRMsgGen;
import com.ruoyi.cai.ws.handler.AbstractMessageHandle;
import com.ruoyi.cai.ws.handler.IMessageHandler;
import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.yunxin.enums.CallNoticeEnum;
import com.ruoyi.yunxin.service.YunxinWsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -30,7 +27,8 @@ public class CancelMessageHandler extends AbstractMessageHandle implements IMess
@Autowired
private RoomService roomService;
@Autowired
private Yunxin yunxin;
private YunxinWsServiceV2 yunxinWsService;
@Override
public void processOn(Room room, FdCtxData fdCtxData, JSONObject map) {
if(!fdCtxData.isCaller()){
@@ -51,13 +49,11 @@ public class CancelMessageHandler extends AbstractMessageHandle implements IMess
// IM
Long receiverId = room.getReceiverId();
Long callerId = room.getCallId();
yunxinWsService.sendToCallNotifyAsync(receiverId,callerId, CallNoticeEnum.CLOSE,0L);
yunxinWsService.sendToCallNotify(receiverId,callerId, CallNoticeEnum.CLOSE,0L);
// 更新房间状态
userCallService.update(Wrappers.lambdaUpdate(UserCall.class)
.eq(UserCall::getId,roomId)
.set(UserCall::getStatus,RoomStatusEnums.STATUS_CALLER_CANCEL.getCode()));
}
@Autowired
private YunxinWsService yunxinWsService;
}

View File

@@ -3,20 +3,17 @@ package com.ruoyi.cai.ws.handler.message;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.UserCall;
import com.ruoyi.cai.notice.YunxinWsServiceV2;
import com.ruoyi.cai.service.UserCallService;
import com.ruoyi.yunxin.data.ImDataRes;
import com.ruoyi.yunxin.data.ImMsgGen;
import com.ruoyi.yunxin.Yunxin;
import com.ruoyi.cai.ws.bean.FdCtxData;
import com.ruoyi.cai.ws.bean.Room;
import com.ruoyi.cai.ws.constant.HangUpEnums;
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
import com.ruoyi.cai.ws.handler.IMessageHandler;
import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.cai.ws.dto.WsRMsgGen;
import com.ruoyi.cai.ws.handler.AbstractMessageHandle;
import com.ruoyi.cai.ws.handler.IMessageHandler;
import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.yunxin.enums.CallNoticeEnum;
import com.ruoyi.yunxin.service.YunxinWsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -30,7 +27,7 @@ public class RefuseMessageHandler extends AbstractMessageHandle implements IMess
@Autowired
private UserCallService userCallService;
@Autowired
private YunxinWsService yunxinWsService;
private YunxinWsServiceV2 yunxinWsService;
@Override
public void processOn(Room room, FdCtxData fdCtxData, JSONObject map) {
@@ -48,7 +45,7 @@ public class RefuseMessageHandler extends AbstractMessageHandle implements IMess
//发送IM通知
Long receiverId = room.getReceiverId();
Long callerId = room.getCallId();
yunxinWsService.sendToCallNotifyAsync(callerId,receiverId, CallNoticeEnum.REFUSE,0L);
yunxinWsService.sendToCallNotify(callerId,receiverId, CallNoticeEnum.REFUSE,0L);
// 更新房间状态
userCallService.update(Wrappers.lambdaUpdate(UserCall.class)

View File

@@ -3,9 +3,8 @@ package com.ruoyi.cai.ws.job;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.UserCall;
import com.ruoyi.cai.notice.YunxinWsServiceV2;
import com.ruoyi.cai.service.UserCallService;
import com.ruoyi.yunxin.data.ImDataRes;
import com.ruoyi.yunxin.data.ImMsgGen;
import com.ruoyi.cai.ws.bean.Room;
import com.ruoyi.cai.ws.bean.UserData;
import com.ruoyi.cai.ws.cache.RoomCtxCache;
@@ -19,7 +18,6 @@ import com.ruoyi.cai.ws.service.SettleService;
import com.ruoyi.cai.ws.util.RoomWebSocketUtil;
import com.ruoyi.yunxin.Yunxin;
import com.ruoyi.yunxin.enums.CallNoticeEnum;
import com.ruoyi.yunxin.service.YunxinWsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -130,14 +128,14 @@ public class RoomCheckJobService {
nextCreateJob = settleResp.isNextRun();
}
roomService.closeAllFd(roomId);
yunxinWsService.sendToCallNotifyAsync(callUserData.getId(),receiverUserData.getId(), CallNoticeEnum.TIMEOUT,0L);
yunxinWsService.sendToCallNotify(callUserData.getId(),receiverUserData.getId(), CallNoticeEnum.TIMEOUT,0L);
return JobResp.builder().nextCreateJob(nextCreateJob).build();
}
return JobResp.builder().nextCreateJob(true).build();
}
@Autowired
private YunxinWsService yunxinWsService;
private YunxinWsServiceV2 yunxinWsService;
/**

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import com.ruoyi.cai.chat.ChatManager;
import com.ruoyi.cai.executor.ExecutorConstant;
import com.ruoyi.cai.mq.AmqpProducer;
import com.ruoyi.cai.notice.YunxinWsServiceV2;
import com.ruoyi.cai.service.AnchorService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.cai.trd.Agora;
@@ -21,7 +22,6 @@ import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.cai.ws.util.RoomWebSocketUtil;
import com.ruoyi.cai.ws.util.TimeConverter;
import com.ruoyi.cai.ws.util.WsExceptionUtil;
import com.ruoyi.yunxin.service.YunxinWsService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -54,7 +54,7 @@ public class OpenLogic {
@Autowired
private ChatManager chatManager;
@Autowired
private YunxinWsService yunxinWsService;
private YunxinWsServiceV2 yunxinWsService;
public void processOn(WebSocketSession session) {
Map<String, Object> attributes = session.getAttributes();

View File

@@ -6,9 +6,8 @@ import com.ruoyi.cai.dto.video.VideoSettleResp;
import com.ruoyi.cai.dto.video.WithholdingFeeUserResp;
import com.ruoyi.cai.manager.ConsumerManager;
import com.ruoyi.cai.manager.LockManager;
import com.ruoyi.cai.notice.YunxinWsServiceV2;
import com.ruoyi.cai.service.AccountService;
import com.ruoyi.yunxin.data.ImDataRes;
import com.ruoyi.yunxin.data.ImMsgGen;
import com.ruoyi.cai.ws.bean.Room;
import com.ruoyi.cai.ws.cache.OnlineDataCache;
import com.ruoyi.cai.ws.cache.RoomCtxCache;
@@ -17,9 +16,7 @@ import com.ruoyi.cai.ws.constant.HangUpEnums;
import com.ruoyi.cai.ws.dto.WsR;
import com.ruoyi.cai.ws.dto.WsRMsgGen;
import com.ruoyi.cai.ws.util.RoomWebSocketUtil;
import com.ruoyi.yunxin.Yunxin;
import com.ruoyi.yunxin.enums.CallNoticeEnum;
import com.ruoyi.yunxin.service.YunxinWsService;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
@@ -44,8 +41,6 @@ public class SettleService {
@Autowired
private OnlineDataCache onlineDataCache;
@Autowired
private Yunxin yunxin;
@Autowired
private RoomCtxCache roomCtxCache;
@Autowired
private RedissonClient redissonClient;
@@ -157,12 +152,12 @@ public class SettleService {
Long callId = room.getCallUserData().getId();
Long receiveId = room.getReceiverUserData().getId();
if(callTime > 0){
yunxinWsService.sendToCallNotifyAsync(callId,receiveId, CallNoticeEnum.CALL_ALREADY,callTime);
yunxinWsService.sendToCallNotify(callId,receiveId, CallNoticeEnum.CALL_ALREADY,callTime);
}
// 接收方通知
Long anchorIncome = resp.getAnchorIncome();
if(anchorIncome > 0){
yunxinWsService.sendToCallNotifyAsync(receiveId,callId,CallNoticeEnum.CALL_ALREADY,callTime);
yunxinWsService.sendToCallNotify(receiveId,callId,CallNoticeEnum.CALL_ALREADY,callTime);
// 收入通知
// ImMsgGen.videoIncome();
// yunxin.sendTo(receiveId,null,)
@@ -171,6 +166,6 @@ public class SettleService {
}
@Autowired
private YunxinWsService yunxinWsService;
private YunxinWsServiceV2 yunxinWsService;
}