|
@@ -4,19 +4,20 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.ym.common.ApiException;
|
|
|
-import com.ym.common.BaseResponse;
|
|
|
import com.ym.common.DisplayEnum;
|
|
|
import com.ym.common.ErrorEnum;
|
|
|
import com.ym.config.IMProperties;
|
|
|
import com.ym.config.RoomProperties;
|
|
|
-import com.ym.dao.*;
|
|
|
import com.ym.job.ScheduleManager;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentMusicScoreDao;
|
|
|
import com.ym.mec.biz.dal.dto.BasicUserDto;
|
|
|
import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
|
|
|
+import com.ym.mec.biz.dal.entity.Room;
|
|
|
+import com.ym.mec.biz.dal.entity.RoomMember;
|
|
|
+import com.ym.mec.biz.dal.entity.UserInfo;
|
|
|
+import com.ym.mec.biz.dal.entity.Whiteboard;
|
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.GroupType;
|
|
|
import com.ym.mec.biz.dal.enums.TeachModeEnum;
|
|
@@ -123,13 +124,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public RoomResult joinRoom(String roomId) throws Exception {
|
|
|
- CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
-
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = sysUser.getId().toString();
|
|
|
log.info("joinRoom: roomId={}, userId={}", roomId, userId);
|
|
|
|
|
|
- Teacher teacher = teacherDao.get(Integer.parseInt(userId));
|
|
|
CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId));
|
|
|
if(courseSchedule.getTeachMode() == TeachModeEnum.OFFLINE){
|
|
|
throw new ApiException(ErrorEnum.JOIN_ROOM_ERROR);
|
|
@@ -171,49 +169,44 @@ public class RoomServiceImpl implements RoomService {
|
|
|
Date curTime = DateTimeUtils.currentUTC();
|
|
|
|
|
|
RoleEnum roleEnum;
|
|
|
-
|
|
|
+ String userName;
|
|
|
+ if(sysUser.getId().equals(courseSchedule.getActualTeacherId())){
|
|
|
+ roleEnum = RoleTeacher;
|
|
|
+ userName = sysUser.getRealName();
|
|
|
+ }else {
|
|
|
+ roleEnum = RoleStudent;
|
|
|
+ userName = sysUser.getUsername();
|
|
|
+ }
|
|
|
|
|
|
RoomResult.MemberResult userResult = new RoomResult.MemberResult();
|
|
|
- RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- String userName;
|
|
|
- if (member == null) {
|
|
|
- int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
+ if (roomMember == null) {
|
|
|
+ int count = roomMemberDao.countRoomMember(roomId);
|
|
|
if (count == roomProperties.getMaxCount()) {
|
|
|
log.info("join error Over max count: roomId = {}, userId = {}", roomId,userId);
|
|
|
throw new ApiException(ErrorEnum.ERR_OVER_MAX_COUNT);
|
|
|
}
|
|
|
- if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
|
|
|
- roleEnum = RoleTeacher;
|
|
|
- userName = sysUser.getRealName();
|
|
|
- }else {
|
|
|
- roleEnum = RoleStudent;
|
|
|
- userName = sysUser.getUsername();
|
|
|
- }
|
|
|
userResult.setMicrophone(true);
|
|
|
userResult.setCamera(true);
|
|
|
userResult.setHandUpOn(false);
|
|
|
userResult.setJoinTime(curTime);
|
|
|
saveRoomMember(userId,sysUser.getAvatar(), userName, roomId, roleEnum.getValue(), curTime);
|
|
|
} else {
|
|
|
- roleEnum = RoleEnum.getEnumByValue(member.getRole());
|
|
|
if(roleEnum == RoleTeacher){
|
|
|
courseScheduleStudentPaymentDao.adjustPlayMidi(courseId,null,null);
|
|
|
}
|
|
|
- userName = member.getName();
|
|
|
- userResult.setCamera(member.isCamera());
|
|
|
- userResult.setHandUpOn(member.isHand());
|
|
|
- userResult.setJoinTime(member.getJoinDt());
|
|
|
+ userResult.setCamera(roomMember.isCamera());
|
|
|
+ userResult.setHandUpOn(roomMember.isHand());
|
|
|
+ userResult.setJoinTime(roomMember.getJoinDt());
|
|
|
}
|
|
|
imHelper.joinGroup(new String[]{userId}, roomId, roomId);
|
|
|
|
|
|
List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, courseId,null, null, null);
|
|
|
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
String display = "";
|
|
|
if (roleEnum == RoleTeacher) {
|
|
|
display = "display://type=1?userId=" + userId + "?uri=";
|
|
|
- } else if (roleEnum == RoleEnum.RoleAssistant && display.isEmpty()) {
|
|
|
- display = "display://type=0?userId=" + userId + "?uri=";
|
|
|
}else {
|
|
|
ExamSongDownloadData examSongDownloadData;
|
|
|
String json = courseScheduleStudentPaymentDao.getExamJsonByCourseIdAndUserId(courseId, sysUser.getId());
|
|
@@ -224,9 +217,11 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
//获取学员曲目下载状态
|
|
|
userResult.setExamSongDownloadJson(examSongDownloadData);
|
|
|
- if (room != null) {
|
|
|
- display = room.getDisplay();
|
|
|
- }
|
|
|
+ }
|
|
|
+ if(room != null){
|
|
|
+ display = room.getDisplay();
|
|
|
+ }else {
|
|
|
+ room = saveRoom(roomId,roomId,curTime,display);
|
|
|
}
|
|
|
//已下载的伴奏列表
|
|
|
if(scheduleStudentMusicScores != null && scheduleStudentMusicScores.size() > 0){
|
|
@@ -252,14 +247,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomResult.setDisplay(display);
|
|
|
roomResult.setRoomId(roomId);
|
|
|
|
|
|
- List<RoomMember> roomMemberList = roomMemberDao.findByRid(roomId);
|
|
|
+ List<RoomMember> roomMemberList = roomMemberDao.queryRoomMember(roomId,null,null);
|
|
|
if(roomMemberList != null && roomMemberList.size() > 0){
|
|
|
Set<String> userIds = roomMemberList.stream().map(e -> e.getUid()).collect(Collectors.toSet());
|
|
|
Map<Integer,String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds,courseId.toString()));
|
|
|
Map<Integer,String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds,courseId.toString()));
|
|
|
roomResult.setMembers(roomMemberList,midiMap,examSongMap,scheduleStudentMusicScores);
|
|
|
}
|
|
|
- roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
|
|
|
+ roomResult.setWhiteboards(whiteboardDao.queryWhiteboard(roomId,null,null));
|
|
|
if (room != null) {
|
|
|
roomResult.setSoundVolume(room.getSoundVolume());
|
|
|
}
|
|
@@ -276,7 +271,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
Date curTime = DateTimeUtils.currentUTC();
|
|
|
|
|
|
RoleEnum roleEnum;
|
|
|
- RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ RoomMember member = roomMemberDao.findOne(roomId, userId);
|
|
|
String userName;
|
|
|
if (member == null) {
|
|
|
if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
|
|
@@ -295,20 +290,20 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void joinRoomFailure(String roomId, String userId) {
|
|
|
- RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if(roomMember == null){
|
|
|
return ;
|
|
|
}
|
|
|
log.info("joinRoomFailure : roomId={}, userId={}", roomId, userId);
|
|
|
//如果加入失败,删除该用户数据
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId,userId);
|
|
|
+ roomMemberDao.deleteRoomMember(roomId, userId);
|
|
|
}
|
|
|
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void joinRoomSuccess(String roomId,String userId,String deviceNum) throws Exception {
|
|
|
log.info("joinRoomSuccess: roomId={}, userId={}, deviceNum={}", roomId,userId,deviceNum);
|
|
|
- RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if(roomMember == null){
|
|
|
roomMember = saveRoomMember(roomId,userId);
|
|
|
}
|
|
@@ -335,7 +330,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
display = "display://type=0?userId=" + userId + "?uri=";
|
|
|
}
|
|
|
Date curTime = DateTimeUtils.currentUTC();
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
if (room == null) {
|
|
|
saveRoom(roomId, roomId, curTime, display);
|
|
|
IMApiResultInfo resultInfo = imHelper.createGroup(new String[]{userId}, roomId, roomId);
|
|
@@ -349,14 +344,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- UserInfo userInfo = userDao.findByUid(userId);
|
|
|
+ UserInfo userInfo = userDao.findOne(userId);
|
|
|
if (userInfo == null) {
|
|
|
userInfo = new UserInfo();
|
|
|
userInfo.setUid(userId);
|
|
|
userInfo.setName(roomMember.getName());
|
|
|
userInfo.setCreateDt(curTime);
|
|
|
userInfo.setUpdateDt(curTime);
|
|
|
- userDao.save(userInfo);
|
|
|
+ userDao.insert(userInfo);
|
|
|
}
|
|
|
MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Join, userId, roleEnum.getValue());
|
|
|
msg.setTimestamp(curTime);
|
|
@@ -412,14 +407,15 @@ public class RoomServiceImpl implements RoomService {
|
|
|
redisTemplate.delete(roomId + userId);
|
|
|
}
|
|
|
|
|
|
- public void saveRoom(String roomId, String roomName, Date createTime, String display) {
|
|
|
+ public Room saveRoom(String roomId, String roomName, Date createTime, String display) {
|
|
|
Room room = new Room();
|
|
|
room.setRid(roomId);
|
|
|
room.setName(roomName);
|
|
|
room.setCreateDt(createTime);
|
|
|
room.setDisplay(display);
|
|
|
room.setWhiteboardNameIndex(0);
|
|
|
- roomDao.save(room);
|
|
|
+ roomDao.insert(room);
|
|
|
+ return room;
|
|
|
}
|
|
|
|
|
|
public RoomMember saveRoomMember(String userId, String headUrl, String userName, String roomId, int role, Date joinTime) {
|
|
@@ -432,7 +428,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomMember.setJoinDt(joinTime);
|
|
|
roomMember.setMusicMode(false);
|
|
|
roomMember.setHeadUrl(headUrl);
|
|
|
- roomMemberDao.save(roomMember);
|
|
|
+ roomMemberDao.insert(roomMember);
|
|
|
return roomMember;
|
|
|
}
|
|
|
|
|
@@ -477,37 +473,37 @@ public class RoomServiceImpl implements RoomService {
|
|
|
username = sysUser.getUsername();
|
|
|
studentAttendanceService.addStudentAttendanceSignOut(firstCourseId.longValue(),parseInt);
|
|
|
}
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
if (room == null) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId, userId);
|
|
|
- userDao.deleteByUid(userId);
|
|
|
+ roomMemberDao.deleteRoomMember(roomId, userId);
|
|
|
+ userDao.deleteUser(userId);
|
|
|
return;
|
|
|
}
|
|
|
if (roleEnum != RoleStudent && isUserDisplay(room, userId)) {
|
|
|
updateDisplay(roomId, userId, "", 0);
|
|
|
}
|
|
|
- if (roomMemberDao.countByRid(roomId) <= 1) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId, userId);
|
|
|
- roomDao.deleteByRid(roomId);
|
|
|
+ if (roomMemberDao.countRoomMember(roomId) <= 1) {
|
|
|
+ roomMemberDao.deleteRoomMember(roomId, userId);
|
|
|
+ roomDao.deleteRoom(roomId);
|
|
|
deleteWhiteboardByUser(roomId, userId);
|
|
|
imHelper.dismiss(userId, roomId);
|
|
|
courseScheduleStudentMusicScoreDao.closePlayStatus(courseSchedule.getId(),null,null);
|
|
|
log.info("leaveRoomSuccess dismiss the room: {},userId: {}", roomId,userId);
|
|
|
} else {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId, userId);
|
|
|
+ roomMemberDao.deleteRoomMember(roomId, userId);
|
|
|
MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, roleEnum.getValue());
|
|
|
msg.setUserName(username);
|
|
|
imHelper.publishMessage(userId, roomId, msg);
|
|
|
imHelper.quit(new String[]{userId}, roomId);
|
|
|
log.info("leaveRoomSuccess quit group: roomId={},userId: {}", roomId,userId);
|
|
|
}
|
|
|
- userDao.deleteByUid(userId);
|
|
|
+ userDao.deleteUser(userId);
|
|
|
}
|
|
|
|
|
|
public void deleteWhiteboardByUser(String roomId, String userId) throws Exception {
|
|
|
- List<Whiteboard> whiteboardList = whiteboardDao.findByRidAndCreator(roomId, userId);
|
|
|
+ List<Whiteboard> whiteboardList = whiteboardDao.queryWhiteboard(roomId, userId,null);
|
|
|
if (!whiteboardList.isEmpty()) {
|
|
|
- whiteboardDao.deleteByRidAndCreator(roomId, userId);
|
|
|
+ whiteboardDao.deleteWhiteboard(roomId, userId,null);
|
|
|
for (Whiteboard wb : whiteboardList) {
|
|
|
whiteBoardHelper.destroy(wb.getWbRoom());
|
|
|
}
|
|
@@ -517,10 +513,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void destroyRoom(String roomId) {
|
|
|
- whiteboardDao.deleteByRid(roomId);
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ whiteboardDao.deleteWhiteboard(roomId,null,null);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
if (room == null) {
|
|
|
- List<RoomMember> list = roomMemberDao.findByRid(roomId);
|
|
|
+ List<RoomMember> list = roomMemberDao.queryRoomMember(roomId,null,null);
|
|
|
if (!list.isEmpty()) {
|
|
|
try {
|
|
|
imHelper.dismiss(list.get(0).getUid(), roomId);
|
|
@@ -529,7 +525,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
- roomMemberDao.deleteByRid(roomId);
|
|
|
+ roomMemberDao.deleteRoomMember(roomId,null);
|
|
|
log.info("destroyRoom: {}", roomId);
|
|
|
}
|
|
|
}
|
|
@@ -541,7 +537,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(users.size() > 0, "the changed user list must't be null");
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
if (room == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_ROOM_NOT_EXIST);
|
|
|
}
|
|
@@ -555,12 +551,12 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.error("can not change self role: {}, {}, {}", roomId, userId, changedRole);
|
|
|
throw new ApiException(ErrorEnum.ERR_CHANGE_SELF_ROLE);
|
|
|
} else {
|
|
|
- RoomMember oldUser = roomMemberDao.findByRidAndUid(roomId, changedUserId);
|
|
|
+ RoomMember oldUser = roomMemberDao.findOne(roomId, changedUserId);
|
|
|
if (oldUser != null) {
|
|
|
if (changedRole.equals(RoleEnum.RoleAudience)) {
|
|
|
- int r = roomMemberDao.updateRoleByRidAndUid(roomId, changedUserId, changedRole.getValue());
|
|
|
+ int r = roomMemberDao.updateByRidAndUid(roomId, changedUserId, changedRole.getValue());
|
|
|
RoleChangedMessage.ChangedUser u = new RoleChangedMessage.ChangedUser(changedUserId, changedRole.getValue());
|
|
|
- UserInfo userInfo = userDao.findByUid(changedUserId);
|
|
|
+ UserInfo userInfo = userDao.findOne(changedUserId);
|
|
|
if (userInfo != null) {
|
|
|
u.setUserName(userInfo.getName());
|
|
|
}
|
|
@@ -594,7 +590,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(userId != null, "userId must't be null");
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
log.info("kickMember: roomId={}, userId={}", roomId, userId);
|
|
|
- RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if(roomMember == null){
|
|
|
return true;
|
|
|
}
|
|
@@ -604,13 +600,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
imHelper.publishMessage(userId, roomId, msg, 1);
|
|
|
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
if (roomMember.getRole() == RoleTeacher.getValue() && isUserDisplay(room, userId)) {
|
|
|
updateDisplay(roomId, userId, "", 1);
|
|
|
}
|
|
|
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId, userId);
|
|
|
- userDao.deleteByUid(userId);
|
|
|
+ roomMemberDao.deleteRoomMember(roomId, userId);
|
|
|
+ userDao.deleteUser(userId);
|
|
|
|
|
|
IMApiResultInfo apiResultInfo = imHelper.quit(new String[]{userId}, roomId);
|
|
|
if (!apiResultInfo.isSuccess()) {
|
|
@@ -630,7 +626,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
DisplayEnum displayEnum = DisplayEnum.values()[type];
|
|
|
|
|
|
if (displayEnum.equals(DisplayEnum.None)) {
|
|
|
- roomDao.updateDisplayByRid(roomId, "");
|
|
|
+ roomDao.updateRoom(roomId, "",null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage("");
|
|
|
IMApiResultInfo apiResultInfo = imHelper.publishMessage(userId, roomId, displayMessage);
|
|
|
if (apiResultInfo.isSuccess()) {
|
|
@@ -642,36 +638,36 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
String display = "display://type=" + type;
|
|
|
if (displayEnum.equals(DisplayEnum.Teacher)) {
|
|
|
- List<RoomMember> teachers = roomMemberDao.findByRidAndRole(roomId, RoleTeacher.getValue());
|
|
|
+ List<RoomMember> teachers = roomMemberDao.queryRoomMember(roomId,null, RoleTeacher.getValue());
|
|
|
if (teachers.isEmpty()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_TEACHER_NOT_EXIST_IN_ROOM);
|
|
|
} else {
|
|
|
display += "?userId=" + teachers.get(0).getUid() + "?uri=";
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage);
|
|
|
log.info("change display to teacher: roomId={}, display={}", roomId, display);
|
|
|
}
|
|
|
} else if (displayEnum.equals(DisplayEnum.Assistant)) {
|
|
|
- List<RoomMember> assistants = roomMemberDao.findByRidAndRole(roomId, RoleEnum.RoleAssistant.getValue());
|
|
|
+ List<RoomMember> assistants = roomMemberDao.queryRoomMember(roomId,null, RoleEnum.RoleAssistant.getValue());
|
|
|
if (assistants.isEmpty()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_ASSISTANT_NOT_EXIST_IN_ROOM);
|
|
|
} else {
|
|
|
display += "?userId=" + assistants.get(0).getUid() + "?uri=";
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage);
|
|
|
log.info("change display to assistant: roomId={}, display={}", roomId, display);
|
|
|
}
|
|
|
} else if (displayEnum.equals(DisplayEnum.Screen)) {
|
|
|
display += "?userId=" + userId + "?uri=";
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage);
|
|
|
log.info("change display to screen: roomId={}, display={}", roomId, display);
|
|
|
} else if (displayEnum.equals(DisplayEnum.STUDENT)) {
|
|
|
display += "?userId=" + targetUserId + "?uri=" + uri;
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage);
|
|
|
log.info("change display to screen: roomId={}, display={}", roomId, display);
|
|
@@ -679,7 +675,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
display += "?userId=" + userId + "?uri=" + uri;
|
|
|
// CheckUtils.checkArgument(uri != null, "uri must't be null");
|
|
|
// CheckUtils.checkArgument(whiteboardDao.findByRidAndWbid(roomId, uri).size() > 0, "whiteboard not exist");
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage);
|
|
|
}
|
|
@@ -701,10 +697,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
if (resultInfo.isSuccess()) {
|
|
|
String wbId = resultInfo.getData();
|
|
|
Date date = DateTimeUtils.currentUTC();
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
int whiteboardNameIndex = room.getWhiteboardNameIndex() + 1;
|
|
|
String name = "白板" + whiteboardNameIndex;
|
|
|
- roomDao.updateWhiteboardNameIndexByRid(roomId, whiteboardNameIndex);
|
|
|
+ roomDao.updateRoom(roomId,null,null, whiteboardNameIndex);
|
|
|
Whiteboard wb = new Whiteboard();
|
|
|
wb.setRid(roomId);
|
|
|
wb.setWbRoom(wbRoom);
|
|
@@ -713,13 +709,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
wb.setCreator(userId);
|
|
|
wb.setCreateDt(date);
|
|
|
wb.setCurPg(0);
|
|
|
- whiteboardDao.save(wb);
|
|
|
+ whiteboardDao.insert(wb);
|
|
|
WhiteboardMessage wbmsg = new WhiteboardMessage(WhiteboardMessage.Create);
|
|
|
wbmsg.setWhiteboardId(wbId);
|
|
|
wbmsg.setWhiteboardName(name);
|
|
|
imHelper.publishMessage(userId, roomId, wbmsg);
|
|
|
String display = "display://type=2?userId=" + userId + "?uri=" + wbId;
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage, 1);
|
|
|
|
|
@@ -737,17 +733,17 @@ public class RoomServiceImpl implements RoomService {
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
|
|
|
- List<Whiteboard> whiteboardList = whiteboardDao.findByRidAndWbid(roomId, whiteBoardId);
|
|
|
+ List<Whiteboard> whiteboardList = whiteboardDao.queryWhiteboard(roomId,null, whiteBoardId);
|
|
|
CheckUtils.checkArgument(whiteboardList.size() > 0, "whiteboard not exist");
|
|
|
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
CheckUtils.checkArgument(room != null, "room not exist");
|
|
|
|
|
|
log.info("deleteWhiteboard: room={}, whiteBoardId={}", room, whiteBoardId);
|
|
|
|
|
|
String display = room.getDisplay();
|
|
|
if (display.contains("uri=" + whiteBoardId)) {
|
|
|
- int result = roomDao.updateDisplayByRid(roomId, "");
|
|
|
+ int result = roomDao.updateRoom(roomId, "",null,null);
|
|
|
log.info("clear room display, room: {}, result: {}", roomId, result);
|
|
|
DisplayMessage displayMessage = new DisplayMessage("");
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage, 1);
|
|
@@ -758,7 +754,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
String wbRoom = whiteboardList.get(0).getWbRoom();
|
|
|
WhiteBoardApiResultInfo resultInfo = whiteBoardHelper.destroy(wbRoom);
|
|
|
if (resultInfo.isSuccess()) {
|
|
|
- int result = whiteboardDao.deleteByWbid(whiteBoardId);
|
|
|
+ int result = whiteboardDao.deleteWhiteboard(null,null,whiteBoardId);
|
|
|
log.info("delete whiteboard: roomId = {}, whiteBoardId = {}, result = {}", roomId, whiteBoardId, result);
|
|
|
WhiteboardMessage wbmsg = new WhiteboardMessage(WhiteboardMessage.Delete);
|
|
|
wbmsg.setWhiteboardId(whiteBoardId);
|
|
@@ -773,9 +769,12 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public List<RoomResult.WhiteboardResult> getWhiteboard(String roomId) throws Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
- CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
|
|
|
- List<Whiteboard> whiteboards = whiteboardDao.findByRid(roomId);
|
|
|
+ List<Whiteboard> whiteboards = whiteboardDao.queryWhiteboard(roomId,null,null);
|
|
|
List<RoomResult.WhiteboardResult> result = new ArrayList<>();
|
|
|
for (Whiteboard wb : whiteboards) {
|
|
|
RoomResult.WhiteboardResult r = new RoomResult.WhiteboardResult();
|
|
@@ -794,7 +793,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(whiteBoardId != null, "whiteBoardId must't be null");
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
CheckUtils.checkArgument(room != null, "room not exist");
|
|
|
|
|
|
int result = whiteboardDao.updatePageByRidAndWbid(roomId, whiteBoardId, page);
|
|
@@ -832,14 +831,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
enable = data.getMusicScoreOn();
|
|
|
if(enable){
|
|
|
//保存伴奏音量
|
|
|
- roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
|
|
|
+ roomDao.updateRoom(roomId,null,data.getSoundVolume(),null);
|
|
|
}
|
|
|
}else if (data.getAccompanimentOn() != null) {
|
|
|
typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
|
|
|
enable = data.getAccompanimentOn();
|
|
|
if(enable){
|
|
|
//保存伴奏音量
|
|
|
- roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
|
|
|
+ roomDao.updateRoom(roomId,null,data.getSoundVolume(),null);
|
|
|
}
|
|
|
} else {
|
|
|
throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);
|
|
@@ -901,12 +900,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
|
|
|
}
|
|
|
} else {
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if (typeEnum.equals(DeviceTypeEnum.Camera)) {
|
|
|
- roomMemberDao.updateCameraByRidAndUid(roomId, userId, false);
|
|
|
+ roomMember.setCamera(false);
|
|
|
} else if (typeEnum.equals(DeviceTypeEnum.Microphone)){
|
|
|
- roomMemberDao.updateMicByRidAndUid(roomId, userId, false);
|
|
|
+ roomMember.setMic(false);
|
|
|
} else if (typeEnum.equals(DeviceTypeEnum.HandUp)){
|
|
|
- roomMemberDao.updateHandByRidAndUid(roomId, userId, false);
|
|
|
+ roomMember.setHand(false);
|
|
|
} else if (typeEnum.equals(DeviceTypeEnum.ExamSong)){
|
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
|
ExamSongDownloadData msg;
|
|
@@ -927,11 +927,12 @@ public class RoomServiceImpl implements RoomService {
|
|
|
//关闭所有曲目播放
|
|
|
courseScheduleStudentMusicScoreDao.closePlayStatus(scheduleId,Integer.parseInt(userId),null);
|
|
|
}else {
|
|
|
- roomMemberDao.updateMusicByRidAndUid(roomId, userId, false);
|
|
|
+ roomMember.setMusicMode(false);
|
|
|
}
|
|
|
+ roomMemberDao.update(roomMember);
|
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), false);
|
|
|
deviceResourceMessage.setUserId(userId);
|
|
|
- UserInfo userInfo = userDao.findByUid(userId);
|
|
|
+ UserInfo userInfo = userDao.findOne(userId);
|
|
|
if (userInfo != null) {
|
|
|
deviceResourceMessage.setUserName(userInfo.getName());
|
|
|
}
|
|
@@ -959,7 +960,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomMembers.add(new RoomMember(split[i]));
|
|
|
}
|
|
|
}else {
|
|
|
- roomMembers = roomMemberDao.findByRidAndRole(data.getRoomId(), RoleStudent.getValue());
|
|
|
+ roomMembers = roomMemberDao.queryRoomMember(data.getRoomId(),null, RoleStudent.getValue());
|
|
|
}
|
|
|
if(roomMembers.size() == 0){
|
|
|
return false;
|
|
@@ -981,8 +982,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
String userId = authUser.getId().toString();
|
|
|
log.info("approveControlDevice: ticket={}", ticket);
|
|
|
ControlDeviceTaskInfo taskInfo = (ControlDeviceTaskInfo) scheduleManager.executeTask(ticket);
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if (taskInfo.getTypeEnum().equals(DeviceTypeEnum.Camera)) {
|
|
|
- roomMemberDao.updateCameraByRidAndUid(roomId, userId, taskInfo.isOnOff());
|
|
|
+ roomMember.setCamera(taskInfo.isOnOff());
|
|
|
}else if (taskInfo.getTypeEnum().equals(DeviceTypeEnum.ExamSong)) {
|
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
|
ExamSongDownloadData msg;
|
|
@@ -995,8 +997,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
courseScheduleStudentPaymentDao.adjustExamSong(scheduleId,authUser.getId(),JSON.toJSONString(msg));
|
|
|
}else {
|
|
|
- roomMemberDao.updateMicByRidAndUid(roomId, userId, taskInfo.isOnOff());
|
|
|
+ roomMember.setMic(taskInfo.isOnOff());
|
|
|
}
|
|
|
+ roomMemberDao.update(roomMember);
|
|
|
ControlDeviceNotifyMessage msg = new ControlDeviceNotifyMessage(ActionEnum.Approve.ordinal());
|
|
|
msg.setType(taskInfo.getTypeEnum().ordinal());
|
|
|
msg.setOpUserId(userId);
|
|
@@ -1054,12 +1057,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
String userId = authUser.getId().toString();
|
|
|
|
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
|
|
|
+
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if (type.equals(DeviceTypeEnum.Camera)) {
|
|
|
- roomMemberDao.updateCameraByRidAndUid(roomId, userId, enable);
|
|
|
+ roomMember.setCamera(enable);
|
|
|
} else if (type.equals(DeviceTypeEnum.Microphone)){
|
|
|
- roomMemberDao.updateMicByRidAndUid(roomId, userId, enable);
|
|
|
+ roomMember.setMic(enable);
|
|
|
} else if (type.equals(DeviceTypeEnum.HandUp)){
|
|
|
- roomMemberDao.updateHandByRidAndUid(roomId, userId, enable);
|
|
|
+ roomMember.setHand(enable);
|
|
|
} else if (type.equals(DeviceTypeEnum.ExamSong)){
|
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
|
ExamSongDownloadData msg;
|
|
@@ -1072,9 +1077,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
courseScheduleStudentPaymentDao.adjustExamSong(scheduleId,authUser.getId(),JSON.toJSONString(msg));
|
|
|
}else {
|
|
|
- roomMemberDao.updateMusicByRidAndUid(roomId, userId, enable);
|
|
|
+ roomMember.setMusicMode(enable);
|
|
|
}
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ roomMemberDao.update(roomMember);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
deviceResourceMessage.setSoundVolume(room.getSoundVolume());
|
|
|
deviceResourceMessage.setUserId(userId);
|
|
|
imHelper.publishMessage(userId, roomId, deviceResourceMessage, 1);
|
|
@@ -1086,7 +1092,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public List<RoomResult.MemberResult> getMembers(String roomId) throws Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
- List<RoomMember> roomMemberList = roomMemberDao.findByRid(roomId);
|
|
|
+ List<RoomMember> roomMemberList = roomMemberDao.queryRoomMember(roomId,null,null);
|
|
|
if(roomMemberList != null && roomMemberList.size() > 0){
|
|
|
List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, Long.parseLong(roomId.substring(1)), null, null, null);
|
|
|
RoomResult roomResult = new RoomResult();
|
|
@@ -1103,10 +1109,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean applySpeech(String roomId) throws Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
- CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
- List<RoomMember> assistants = roomMemberDao.findByRidAndRole(roomId, RoleEnum.RoleAssistant.getValue());
|
|
|
+ List<RoomMember> assistants = roomMemberDao.queryRoomMember(roomId,null, RoleEnum.RoleAssistant.getValue());
|
|
|
if (assistants.isEmpty()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_ASSISTANT_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
@@ -1138,11 +1147,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean approveSpeech(String roomId, String ticket) throws Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
- CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
|
|
|
- int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
+ int count = roomMemberDao.countRoomMember(roomId);
|
|
|
if (count == roomProperties.getMaxCount()) {
|
|
|
log.error("approveSpeech error: roomId = {}, ticket={}", roomId, ticket);
|
|
|
throw new ApiException(ErrorEnum.ERR_OVER_MAX_COUNT);
|
|
@@ -1150,10 +1162,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
ScheduledTaskInfo taskInfo = scheduleManager.executeTask(ticket);
|
|
|
log.info("approveSpeech: task = {}", taskInfo);
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, taskInfo.getApplyUserId(), RoleStudent.getValue());
|
|
|
+ roomMemberDao.updateByRidAndUid(roomId, taskInfo.getApplyUserId(), RoleStudent.getValue());
|
|
|
|
|
|
SpeechResultMessage msg = new SpeechResultMessage(SpeechResultMessage.Action_Approve);
|
|
|
- UserInfo userInfo = userDao.findByUid(taskInfo.getApplyUserId());
|
|
|
+ UserInfo userInfo = userDao.findOne(taskInfo.getApplyUserId());
|
|
|
msg.setOpUserId(userId);
|
|
|
msg.setOpUserName(authUser.getUsername());
|
|
|
msg.setReqUserId(taskInfo.getApplyUserId());
|
|
@@ -1183,7 +1195,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean rejectSpeech(String roomId, String ticket) throws Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
- CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
ScheduledTaskInfo taskInfo = scheduleManager.executeTask(ticket);
|
|
@@ -1203,7 +1218,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
public void checkOverMax(String roomId, RoomMember targetUser, int targetRole) {
|
|
|
if (RoleEnum.getEnumByValue(targetUser.getRole()).equals(RoleEnum.RoleAudience)) {
|
|
|
- int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
+ int count = roomMemberDao.countRoomMember(roomId);
|
|
|
if (count == roomProperties.getMaxCount()) {
|
|
|
log.error("assign error: roomId = {}, userId = {}, role = {}", roomId, targetUser.getRid(), targetUser.getRole());
|
|
|
throw new ApiException(ErrorEnum.ERR_OVER_MAX_COUNT);
|
|
@@ -1221,13 +1236,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(!userId.equals(userId), "can't set self role");
|
|
|
|
|
|
log.info("transfer: roomId = {}, userId = {}", roomId, userId);
|
|
|
- RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, userId);
|
|
|
if (roomMember == null) {
|
|
|
log.error("assistant transfer error: {} toUser = {}, opUser={}", roomId, userId, userId);
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
|
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
if (room == null) {
|
|
|
log.error("assistant transfer error: {} toUser = {}, opUser={}", roomId, userId, userId);
|
|
|
throw new ApiException(ErrorEnum.ERR_ROOM_NOT_EXIST);
|
|
@@ -1239,8 +1254,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.info("don't update display: room={}", room);
|
|
|
}
|
|
|
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleStudent.getValue());
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleEnum.RoleAssistant.getValue());
|
|
|
+// roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleStudent.getValue());
|
|
|
+// roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleEnum.RoleAssistant.getValue());
|
|
|
|
|
|
AssistantTransferMessage msg = new AssistantTransferMessage();
|
|
|
msg.setOpUserId(userId);
|
|
@@ -1258,12 +1273,15 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean inviteUpgradeRole(String roomId, String targetUserId, int targetRole) throws Exception {
|
|
|
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");
|
|
|
+ RoomMember roomMember = roomMemberDao.findOne(roomId, targetUserId);
|
|
|
+ if(roomMember == null){
|
|
|
+ throw new BizException("用户不在房间");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
log.info("inviteUpgradeRole roomId = {}, targetUserId = {}, targetRole = {}", roomId, targetUserId, targetRole);
|
|
|
|
|
|
- RoomMember targetUser = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
+ RoomMember targetUser = roomMemberDao.findOne(roomId, targetUserId);
|
|
|
if (targetUser == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
@@ -1298,13 +1316,16 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean approveUpgradeRole(String roomId, String ticket) throws Exception {
|
|
|
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");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
UpgradeRoleTaskInfo taskInfo = (UpgradeRoleTaskInfo) scheduleManager.executeTask(ticket);
|
|
|
log.info("approveUpgradeRole roomId = {}, task={}", roomId, taskInfo);
|
|
|
|
|
|
- RoomMember targetUser = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ RoomMember targetUser = roomMemberDao.findOne(roomId, userId);
|
|
|
if (targetUser == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
@@ -1313,7 +1334,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
checkOverMax(roomId, targetUser, taskInfo.getRole().getValue());
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, userId, taskInfo.getRole().getValue());
|
|
|
+ roomMemberDao.updateByRidAndUid(roomId, userId, taskInfo.getRole().getValue());
|
|
|
|
|
|
UpgradeRoleMessage msg = new UpgradeRoleMessage(ActionEnum.Approve.ordinal());
|
|
|
|
|
@@ -1341,7 +1362,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
public Boolean rejectUpgradeRole(String roomId, String ticket) throws Exception {
|
|
|
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");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
UpgradeRoleTaskInfo taskInfo = (UpgradeRoleTaskInfo) scheduleManager.executeTask(ticket);
|
|
@@ -1363,13 +1387,18 @@ 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(roomDao.existsByRid(roomId), "room not exist");
|
|
|
+ Room room = roomDao.findOne(roomId);
|
|
|
+ if(room == null){
|
|
|
+ throw new BizException("房间信息不存在");
|
|
|
+ }
|
|
|
CheckUtils.checkArgument(RoleEnum.getEnumByValue(targetRole).equals(RoleTeacher), "only set to teacher");
|
|
|
- CheckUtils.checkArgument(roomMemberDao.existsByRidAndUid(roomId, targetUserId), "room member not exist");
|
|
|
+ RoomMember targetUser = roomMemberDao.findOne(roomId, targetUserId);
|
|
|
+ if(targetUser == null){
|
|
|
+ throw new BizException("用户不在房间");
|
|
|
+ }
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
|
|
|
- RoomMember targetUser = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
if (targetUser == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
} else {
|
|
@@ -1383,11 +1412,11 @@ public class RoomServiceImpl implements RoomService {
|
|
|
List<RoleChangedMessage.ChangedUser> changedUserList = new ArrayList<>();
|
|
|
RoleChangedMessage msg = new RoleChangedMessage(userId);
|
|
|
|
|
|
- List<RoomMember> teachers = roomMemberDao.findByRidAndRole(roomId, RoleTeacher.getValue());
|
|
|
+ List<RoomMember> teachers = roomMemberDao.queryRoomMember(roomId,null, RoleTeacher.getValue());
|
|
|
if (!teachers.isEmpty()) {
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, teachers.get(0).getUid(), RoleStudent.getValue());
|
|
|
+ roomMemberDao.updateByRidAndUid(roomId, teachers.get(0).getUid(), RoleStudent.getValue());
|
|
|
RoleChangedMessage.ChangedUser user = new RoleChangedMessage.ChangedUser(teachers.get(0).getUid(), RoleStudent.getValue());
|
|
|
- UserInfo userInfo = userDao.findByUid(teachers.get(0).getUid());
|
|
|
+ UserInfo userInfo = userDao.findOne(teachers.get(0).getUid());
|
|
|
if (userInfo != null) {
|
|
|
user.setUserName(userInfo.getName());
|
|
|
}
|
|
@@ -1396,9 +1425,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.info("change directly cause no teacher exist in room, roomId={}", roomId);
|
|
|
}
|
|
|
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, targetUserId, targetRole);
|
|
|
+ roomMemberDao.updateByRidAndUid(roomId, targetUserId, targetRole);
|
|
|
RoleChangedMessage.ChangedUser user = new RoleChangedMessage.ChangedUser(targetUserId, targetRole);
|
|
|
- UserInfo userInfo = userDao.findByUid(targetUserId);
|
|
|
+ UserInfo userInfo = userDao.findOne(targetUserId);
|
|
|
if (userInfo != null) {
|
|
|
user.setUserName(userInfo.getName());
|
|
|
}
|
|
@@ -1408,10 +1437,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
String display = "display://type=1?userId=" + targetUserId + "?uri=";
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
imHelper.publishMessage(userId, roomId, displayMessage, 1);
|
|
|
log.info("changeRole, display changed: roomId={}, {}, targetUserId={}", roomId, display, targetUserId);
|
|
|
-
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -1432,7 +1460,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.info("memberOnlineStatus, userId={}, status={}", userId, status);
|
|
|
//1:offline 离线; 0: online 在线
|
|
|
if (s == 1) {
|
|
|
- List<RoomMember> members = roomMemberDao.findByUid(userId);
|
|
|
+ List<RoomMember> members = roomMemberDao.queryRoomMember(null,userId,null);
|
|
|
if (!members.isEmpty()) {
|
|
|
scheduleManager.userIMOffline(userId);
|
|
|
}
|
|
@@ -1447,13 +1475,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void userIMOfflineKick(String userId) {
|
|
|
- List<RoomMember> members = roomMemberDao.findByUid(userId);
|
|
|
+ List<RoomMember> members = roomMemberDao.queryRoomMember(null,userId,null);
|
|
|
for (RoomMember member : members) {
|
|
|
int userRole = member.getRole();
|
|
|
log.info("userIMOfflineKick: roomId={}, {}, role={}", member.getRid(), userId, RoleEnum.getEnumByValue(userRole));
|
|
|
try {
|
|
|
if (userRole == RoleTeacher.getValue() || userRole == RoleEnum.RoleAssistant.getValue()) {
|
|
|
- Room room = roomDao.findByRid(member.getRid());
|
|
|
+ Room room = roomDao.findOne(member.getRid());
|
|
|
if (room == null) {
|
|
|
break;
|
|
|
}
|
|
@@ -1462,12 +1490,12 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.info("memberOnlineStatus offline: roomId={}, {}", member.getRid(), member.getUid());
|
|
|
}
|
|
|
}
|
|
|
- if (roomMemberDao.countByRid(member.getRid()) == 1) {
|
|
|
+ if (roomMemberDao.countRoomMember(member.getRid()) == 1) {
|
|
|
IMApiResultInfo apiResultInfo = null;
|
|
|
apiResultInfo = imHelper.dismiss(member.getUid(), member.getRid());
|
|
|
if (apiResultInfo.getCode() == 200) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
|
|
|
- roomDao.deleteByRid(member.getRid());
|
|
|
+ roomMemberDao.deleteRoomMember(member.getRid(), member.getUid());
|
|
|
+ roomDao.deleteRoom(member.getRid());
|
|
|
deleteWhiteboardByUser(member.getRid(), member.getUid());
|
|
|
log.info("dismiss the room: {},userId: {}", member.getRid(),userId);
|
|
|
} else {
|
|
@@ -1477,7 +1505,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
IMApiResultInfo apiResultInfo = null;
|
|
|
apiResultInfo = imHelper.quit(new String[]{member.getUid()}, member.getRid());
|
|
|
if (apiResultInfo.isSuccess()) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
|
|
|
+ roomMemberDao.deleteRoomMember(member.getRid(), member.getUid());
|
|
|
MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, member.getUid(), userRole);
|
|
|
msg.setUserName(member.getName());
|
|
|
imHelper.publishMessage(member.getUid(), member.getRid(), msg);
|
|
@@ -1487,7 +1515,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.error("{} exit {} room error: {}", member.getUid(), member.getRid(), apiResultInfo.getErrorMessage());
|
|
|
}
|
|
|
}
|
|
|
- userDao.deleteByUid(member.getUid());
|
|
|
+ userDao.deleteUser(member.getUid());
|
|
|
} catch (Exception e) {
|
|
|
log.error("userIMOfflineKick error: userId={}", userId);
|
|
|
}
|
|
@@ -1639,7 +1667,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
public void updateDisplay(String roomId, String senderId, String display, Integer isIncludeSender) throws Exception {
|
|
|
- roomDao.updateDisplayByRid(roomId, display);
|
|
|
+ roomDao.updateRoom(roomId, display,null,null);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|
|
|
imHelper.publishMessage(senderId, roomId, displayMessage, isIncludeSender);
|
|
|
}
|