Revert "房间信息返回token"

This reverts commit f52947aec1.
This commit is contained in:
hunan 2022-08-03 16:03:08 +08:00
parent f52947aec1
commit 96ac3d5b8d
6 changed files with 17 additions and 52 deletions

View File

@ -1,5 +1,7 @@
package com.zhangshu.chat.demo.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.zhangshu.chat.demo.config.AgoraProperties;
import com.zhangshu.chat.demo.constant.ERoomUserType;
import com.zhangshu.chat.demo.dto.AgoraChannelEventDto;
@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.Objects;
@Service
@ -24,6 +27,10 @@ public class EventServiceImpl implements EventService {
@Autowired
UserMapper userMapper;
<T> T mapToBean(Map<String, Object> map, Class<T> targetClass) {
return BeanUtil.mapToBean(map, targetClass, false, CopyOptions.create());
}
@Override
public void agora(AgoraEventDto dto) {
switch (dto.getEventType()) {

View File

@ -27,8 +27,7 @@ public class LoginServiceImpl implements LoginService {
JwtProvider jwtProvider;
@Autowired
AuthenticationManager authenticationManager;
@Autowired
RoomCache roomCache;
@Override
public LoginVo login(LoginDto dto) {
@ -54,22 +53,12 @@ public class LoginServiceImpl implements LoginService {
public LoginVo agoraToken(Authentication authentication, String channelName, int role) {
RtcTokenBuilder2.Role role2 = role == 1 ? RtcTokenBuilder2.Role.ROLE_PUBLISHER : RtcTokenBuilder2.Role.ROLE_SUBSCRIBER;
UserDetailsImpl userInfo = (UserDetailsImpl) authentication.getPrincipal();
String token = new RtcTokenBuilder2().buildTokenWithUid(
agoraProperties.getAppId(),
agoraProperties.getAppCertificate(),
channelName,
userInfo.getId().intValue(),
role2,
agoraProperties.getTokenExpiration(),
agoraProperties.getPrivilegeExpiration()
);
// cache roomId and it's token
roomCache.tokenMapping(channelName, token);
return LoginVo.builder().token(token).build();
RtcTokenBuilder2 token = new RtcTokenBuilder2();
String result = token.buildTokenWithUid(agoraProperties.getAppId(), agoraProperties.getAppCertificate(),
channelName, userInfo.getId().intValue(), role2,
agoraProperties.getTokenExpiration(), agoraProperties.getPrivilegeExpiration());
return LoginVo.builder()
.token(result).build();
}

View File

@ -19,19 +19,6 @@ public class RoomCache {
* 正在创建
*/
private final Cache<String, Room> roomCreatingCache = CacheUtil.newFIFOCache(4);
/**
* roomId -> agoraToken 映射
*/
private final Cache<String, String> roomTokenCache = CacheUtil.newFIFOCache(4);
public void tokenMapping(String roomId, String token) {
roomTokenCache.put(roomId, token);
}
public String tokenMapping(String roomId) {
return roomTokenCache.get(roomId);
}
public List<Room> list() {
List<Room> resp = new ArrayList<>(roomCache.size());

View File

@ -11,32 +11,21 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
@Slf4j
@Service
public class RoomServiceImpl implements RoomService {
@Autowired
RoomCache roomCache;
@Override
public CommonPageResult<RoomVo> page(PageDto pageDto) {
List<RoomVo> page = RoomConvert.INSTANCE.convert(roomCache.list());
for (RoomVo roomVo : page) {
setToken(roomVo.getId(), roomVo::setToken);
}
return CommonPageResult.of(page);
return CommonPageResult.of(RoomConvert.INSTANCE.convert(roomCache.list()));
}
@Override
public RoomDetailVo detail(String id) {
RoomDetailVo vo = RoomConvert.INSTANCE.convertDetail(roomCache.get(id));
setToken(vo.getId(), vo::setToken);
return vo;
return RoomConvert.INSTANCE.convertDetail(roomCache.get(id));
}
@Override
@ -50,8 +39,4 @@ public class RoomServiceImpl implements RoomService {
return roomCache.createSuccess(roomId);
}
private void setToken(String id, Consumer<String> setter) {
String token = roomCache.tokenMapping(id);
setter.accept(token);
}
}

View File

@ -9,6 +9,5 @@ import java.util.List;
public class RoomDetailVo {
private String id;
private String name;
private String token;
private List<RoomUserVo> userList;
}

View File

@ -6,6 +6,4 @@ import lombok.Data;
public class RoomVo {
private String id;
private String name;
private String token;
}