123
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.cai.chat;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.ruoyi.cai.config.CaiProperties;
|
||||
import com.ruoyi.cai.domain.Anchor;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
@@ -9,19 +10,24 @@ import com.ruoyi.cai.dto.app.query.CallReq;
|
||||
import com.ruoyi.cai.dto.app.vo.chat.CallResp;
|
||||
import com.ruoyi.cai.dto.app.vo.chat.GetRoomResp;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||
import com.ruoyi.cai.service.AnchorService;
|
||||
import com.ruoyi.cai.service.GuardTotalService;
|
||||
import com.ruoyi.cai.service.UserCallService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import com.ruoyi.cai.ws.bean.Room;
|
||||
import com.ruoyi.cai.ws.constant.RedisConstant;
|
||||
import com.ruoyi.cai.ws.dto.WsToken;
|
||||
import com.ruoyi.cai.ws.manager.WebSocketManager;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
@@ -43,6 +49,19 @@ public class ChatManager {
|
||||
private CaiProperties properties;
|
||||
@Autowired
|
||||
private GuardTotalService guardTotalService;
|
||||
@Autowired
|
||||
private StringRedisTemplate redisTemplate;
|
||||
|
||||
private String setWsToken(Long roomId,Long fromUid,Long toUid){
|
||||
String token = IdManager.nextIdStr();
|
||||
String tokenKey = String.format(RedisConstant.WS_TOKEN, token);
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("roomId",roomId);
|
||||
map.put("fromUid",fromUid);
|
||||
map.put("toUid",toUid);
|
||||
redisTemplate.opsForHash().putAll(tokenKey,map);
|
||||
return token;
|
||||
}
|
||||
|
||||
public CallResp call(CallReq callReq){
|
||||
Long userId = LoginHelper.getUserId();
|
||||
@@ -64,7 +83,9 @@ public class ChatManager {
|
||||
UserCall call = userCallService.createCall(fromUser, toUser, anchor);
|
||||
roomId = webSocketManager.createRoom(call.getId());
|
||||
}
|
||||
String weSocketUrl = String.format(properties.getWebSocketUrl(),"token",roomId);
|
||||
String wsSocketUrlFormat = systemConfigManager.getSystemConfig(SystemConfigEnum.WS_SOCKET_URL);
|
||||
String token = setWsToken(roomId, fromUser.getId(), toUser.getId());
|
||||
String weSocketUrl = String.format(wsSocketUrlFormat,token,roomId);
|
||||
Long guardPrice = systemConfigManager.getSystemConfigOfLong(SystemConfigEnum.GUARD_PRICE);
|
||||
// 获取鉴黄规则 TODO
|
||||
CallResp callResp = new CallResp();
|
||||
|
||||
Reference in New Issue
Block a user