|
@@ -1,6 +1,5 @@
|
|
|
package com.ym.service.Impl;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.ym.common.ApiException;
|
|
|
import com.ym.common.DisplayEnum;
|
|
|
import com.ym.common.ErrorEnum;
|
|
@@ -13,7 +12,8 @@ import com.ym.dao.WhiteboardDao;
|
|
|
import com.ym.im.IMHelper;
|
|
|
import com.ym.im.message.*;
|
|
|
import com.ym.job.ScheduleManager;
|
|
|
-import com.ym.mec.common.security.AuthUser;
|
|
|
+import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
+import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.common.security.SecurityUtils;
|
|
|
import com.ym.pojo.*;
|
|
|
import com.ym.service.RoomService;
|
|
@@ -23,9 +23,7 @@ import com.ym.utils.DateTimeUtils;
|
|
|
import com.ym.utils.IdentifierUtils;
|
|
|
import com.ym.whiteboard.WhiteBoardHelper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.commons.collections.MapUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -67,22 +65,26 @@ public class RoomServiceImpl implements RoomService {
|
|
|
private IMProperties imProperties;
|
|
|
|
|
|
@Autowired
|
|
|
- private RedisTemplate<String,String> redisTemplate;
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
|
|
|
- private AuthUser getUser(){
|
|
|
+ /*private AuthUser getUser(){
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
String principal = SecurityUtils.getPrincipal().toString();
|
|
|
String json = redisTemplate.opsForValue().get(principal);
|
|
|
return JSON.parseObject(json,AuthUser.class);
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera) throws ApiException, Exception {
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+
|
|
|
CheckUtils.checkArgument(userName != null, "userName must't be null");
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
|
|
|
log.info("joinRoom: roomId={}, userName={}, isAudience={}, isDisableCamera={}", roomId, userName, isAudience, isDisableCamera);
|
|
|
- String userId = getUser().getUserId().toString();
|
|
|
+// String userId = getUser().getUserId().toString();
|
|
|
+ String userId = sysUserFeignService.queryUserInfo(token).getId().toString();
|
|
|
|
|
|
String display = "";
|
|
|
Date curTime = DateTimeUtils.currentUTC();
|
|
@@ -218,11 +220,12 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Boolean leaveRoom(String roomId) throws Exception {
|
|
|
- AuthUser user = getUser();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = user.getId().toString();
|
|
|
|
|
|
CheckUtils.checkArgument(user != null, "user must't be null");
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
- String userId = user.getUserId().toString();
|
|
|
List<Room> roomList = roomDao.findByRid(roomId);
|
|
|
if (roomList.size() == 0) {
|
|
|
log.error("room : {} not exist ", roomId);
|
|
@@ -322,10 +325,11 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Boolean downgrade(String roomId, List<ReqChangeUserRoleData.ChangedUser> users) throws ApiException, Exception {
|
|
|
- AuthUser authUser = getUser();
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(users.size() > 0, "the changed user list must't be null");
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
List<Room> roomList = roomDao.findByRid(roomId);
|
|
|
if (roomList.isEmpty()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_ROOM_NOT_EXIST);
|
|
@@ -472,8 +476,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public String createWhiteBoard(String roomId) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
CheckUtils.checkArgument(roomMemberDao.existsByRidAndUid(roomId, userId), "room member not exist");
|
|
|
|
|
|
log.info("createWhiteBoard: roomId = {}", roomId);
|
|
@@ -515,8 +520,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean deleteWhiteboard(String roomId, String whiteBoardId) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(whiteBoardId != null, "whiteBoardId must't be null");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
|
|
|
List<Whiteboard> whiteboardList = whiteboardDao.findByRidAndWbid(roomId, whiteBoardId);
|
|
|
CheckUtils.checkArgument(whiteboardList.size() > 0, "whiteboard not exist");
|
|
@@ -571,8 +577,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean turnWhiteBoardPage(String roomId, String whiteBoardId, int page) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(whiteBoardId != null, "whiteBoardId must't be null");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
List<Room> roomList = roomDao.findByRid(roomId);
|
|
|
CheckUtils.checkArgument(!roomList.isEmpty(), "room not exist");
|
|
|
|
|
@@ -590,7 +597,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(userId != null, "userId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
CheckUtils.checkArgument(roomMemberDao.existsByRidAndUid(roomId, userId), "room member not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
|
|
|
log.info("controlDevice: userId={}, typeEnum={}, onOff={}", userId, typeEnum, enable);
|
|
|
|
|
@@ -630,8 +638,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Override
|
|
|
public Boolean approveControlDevice(String roomId, String ticket) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(ticket != null, "ticket must't be null");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
log.info("approveControlDevice: ticket={}", ticket);
|
|
|
ControlDeviceTaskInfo taskInfo = (ControlDeviceTaskInfo) scheduleManager.executeTask(ticket);
|
|
|
if (taskInfo.getTypeEnum().equals(DeviceTypeEnum.Camera)) {
|
|
@@ -654,8 +663,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Override
|
|
|
public Boolean rejectControlDevice(String roomId, String ticket) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(ticket != null, "ticket must't be null");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
|
|
|
log.info("rejectControlDevice: ticket={}", ticket);
|
|
|
ControlDeviceTaskInfo taskInfo = (ControlDeviceTaskInfo) scheduleManager.executeTask(ticket);
|
|
@@ -671,8 +681,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean syncDeviceState(String roomId, DeviceTypeEnum type, boolean enable) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
|
|
|
int result;
|
|
|
DeviceStateChangedMessage deviceResourceMessage;
|
|
@@ -703,8 +714,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean applySpeech(String roomId) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
List<RoomMember> assistants = roomMemberDao.findByRidAndRole(roomId, RoleEnum.RoleAssistant.getValue());
|
|
|
if (assistants.isEmpty()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_ASSISTANT_NOT_EXIST_IN_ROOM);
|
|
@@ -737,8 +749,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean approveSpeech(String roomId, String ticket) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
|
|
|
int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
if (count == roomProperties.getMaxCount()) {
|
|
@@ -781,8 +794,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean rejectSpeech(String roomId, String ticket) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
ScheduledTaskInfo taskInfo = scheduleManager.executeTask(ticket);
|
|
|
|
|
|
log.info("rejectSpeech: task = {}", taskInfo);
|
|
@@ -854,8 +868,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(targetUserId != null, "userId must't be null");
|
|
|
CheckUtils.checkArgument(roomMemberDao.existsByRidAndUid(roomId, targetUserId), "room member not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
log.info("inviteUpgradeRole roomId = {}, targetUserId = {}, targetRole = {}", roomId, targetUserId, targetRole);
|
|
|
|
|
|
List<RoomMember> targetUser = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
@@ -893,8 +908,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(ticket != null, "ticket must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
UpgradeRoleTaskInfo taskInfo = (UpgradeRoleTaskInfo) scheduleManager.executeTask(ticket);
|
|
|
log.info("approveUpgradeRole roomId = {}, task={}", roomId, taskInfo);
|
|
|
|
|
@@ -935,8 +951,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(ticket != null, "ticket must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
UpgradeRoleTaskInfo taskInfo = (UpgradeRoleTaskInfo) scheduleManager.executeTask(ticket);
|
|
|
UpgradeRoleMessage msg = new UpgradeRoleMessage(ActionEnum.Reject.ordinal());
|
|
|
msg.setOpUserName(authUser.getUsername());
|
|
@@ -957,8 +974,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
CheckUtils.checkArgument(RoleEnum.getEnumByValue(targetRole).equals(RoleEnum.RoleTeacher), "only set to teacher");
|
|
|
CheckUtils.checkArgument(roomMemberDao.existsByRidAndUid(roomId, targetUserId), "room member not exist");
|
|
|
- AuthUser authUser = getUser();
|
|
|
- String userId = authUser.getUserId().toString();
|
|
|
+ String token = SecurityUtils.getToken();
|
|
|
+ SysUser authUser = sysUserFeignService.queryUserInfo(token);
|
|
|
+ String userId = authUser.getId().toString();
|
|
|
|
|
|
List<RoomMember> targetUser = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
if (targetUser.isEmpty()) {
|