浏览代码

网络教室

zouxuan 3 年之前
父节点
当前提交
14e13b57b6

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/RoomMemberDao.java

@@ -12,7 +12,7 @@ public interface RoomMemberDao extends BaseDAO<Integer, RoomMember> {
 
     RoomMember findOne(@Param("roomId") String roomId, @Param("userId") String userId);
 
-    int countRoomMember(@Param("roomId") String roomId, @Param("excludeRole") Integer excludeRole);
+    int countRoomMember(@Param("roomId") String roomId);
 
     int deleteRoomMember(@Param("roomId") String roomId, @Param("userId") String userId);
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/RoomMember.java

@@ -25,6 +25,16 @@ public class RoomMember {
 
     private boolean hand = false;
 
+    private Boolean onlineFlag = true;
+
+    public Boolean getOnlineFlag() {
+        return onlineFlag;
+    }
+
+    public void setOnlineFlag(Boolean onlineFlag) {
+        this.onlineFlag = onlineFlag;
+    }
+
     public long getId() {
         return id;
     }

+ 0 - 3
mec-biz/src/main/resources/config/mybatis/RoomMemberMapper.xml

@@ -114,8 +114,5 @@
 	</select>
 	<select id="countRoomMember" resultType="java.lang.Integer">
 		SELECT COUNT(id) FROM rongyun_room_member WHERE rid = #{roomId}
-		<if test="excludeRole != null">
-			AND role != #{excludeRole}
-		</if>
 	</select>
 </mapper>

+ 0 - 11
mec-im/src/main/java/com/ym/dao/HereWhiteDao.java

@@ -1,11 +0,0 @@
-package com.ym.dao;
-
-import com.ym.pojo.HereWhite;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface HereWhiteDao extends JpaRepository<HereWhite, Long> {
-
-    HereWhite findByCourseScheduleId(Integer id);
-}

+ 0 - 40
mec-im/src/main/java/com/ym/dao/RoomDao.java

@@ -1,40 +0,0 @@
-package com.ym.dao;
-
-import com.ym.pojo.Room;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Lock;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.persistence.LockModeType;
-import java.util.List;
-
-/**
- * Created by weiqinxiao on 2019/2/25.
- */
-@Repository
-public interface RoomDao extends JpaRepository<Room, Long> {
-    Room findByRid(String rid);
-
-    @Query(value = "select * from rongyun_room where rid=?1 FOR UPDATE", nativeQuery = true)
-    Room findByLockRid(String rid);
-
-    @Modifying
-    int deleteByRid(String rid);
-
-    boolean existsByRid(String rid);
-
-    @Modifying
-    @Query(value = "update rongyun_room set display=?2 where rid=?1", nativeQuery = true)
-    int updateDisplayByRid(String rid, String display);
-
-    @Modifying
-    @Query(value = "update rongyun_room set sound_volume=?2 where rid=?1", nativeQuery = true)
-    int updateSoundVolumeById(String rid, Integer soundVolume);
-
-    @Modifying
-    @Query(value = "update rongyun_room set whiteboard_name_index=?2 where rid=?1", nativeQuery = true)
-    int updateWhiteboardNameIndexByRid(String rid, int whiteboardNameIndex);
-}

+ 0 - 61
mec-im/src/main/java/com/ym/dao/RoomMemberDao.java

@@ -1,61 +0,0 @@
-package com.ym.dao;
-
-import com.ym.pojo.RoomMember;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Lock;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-
-import javax.persistence.LockModeType;
-import java.util.List;
-
-/**
- * Created by weiqinxiao on 2019/2/25.
- */
-@Repository
-public interface RoomMemberDao extends JpaRepository<RoomMember, Long> {
-    List<RoomMember> findByRid(String rid);
-
-    @Lock(value = LockModeType.PESSIMISTIC_WRITE)
-    RoomMember findByRidAndUid(String rid, String uid);
-
-    List<RoomMember> findByRidAndRole(String rid, int role);
-
-    List<RoomMember> findByUid(String uid);
-
-    @Modifying
-    int deleteByRid(String roomId);
-
-    @Query(value = "select count(*) from rongyun_room_member where rid=?1", nativeQuery = true)
-    int countByRid(String roomId);
-
-    @Query(value = "select count(*) from rongyun_room_member where rid=?1 and role!=?2", nativeQuery = true)
-    int countByRidAndExcludeRole(String roomId, int excludeRole);
-
-    @Modifying
-    @Query(value = "delete from rongyun_room_member where rid=?1 and uid=?2", nativeQuery = true)
-    int deleteUserByRidAndUid(String rid, String uid);
-
-    @Modifying
-    @Query(value = "update rongyun_room_member set role=?3 where rid=?1 and uid=?2", nativeQuery = true)
-    int updateRoleByRidAndUid(String rid, String uid, int role);
-
-    @Modifying
-    @Query(value = "update rongyun_room_member set camera=?3 where rid=?1 and uid=?2", nativeQuery = true)
-    int updateCameraByRidAndUid(String rid, String uid, boolean camera);
-
-    @Modifying
-    @Query(value = "update rongyun_room_member set mic=?3 where rid=?1 and uid=?2", nativeQuery = true)
-    int updateMicByRidAndUid(String rid, String uid, boolean mic);
-
-    @Modifying
-    @Query(value = "update rongyun_room_member set hand=?3 where rid=?1 and uid=?2", nativeQuery = true)
-    int updateHandByRidAndUid(String rid, String uid, boolean hand);
-
-    @Modifying
-    @Query(value = "update rongyun_room_member set music_mode=?3 where rid=?1 and uid=?2", nativeQuery = true)
-    int updateMusicByRidAndUid(String rid, String uid, boolean musicMode);
-
-    boolean existsByRidAndUid(String rid, String uid);
-}

+ 0 - 21
mec-im/src/main/java/com/ym/dao/UserDao.java

@@ -1,21 +0,0 @@
-package com.ym.dao;
-
-import com.ym.pojo.UserInfo;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-/**
- * Created by weiqinxiao on 2019/2/25.
- */
-@Repository
-public interface UserDao extends JpaRepository<UserInfo, Long> {
-
-    UserInfo findByUid(String uid);
-
-    @Modifying
-    int deleteByUid(String uid);
-}

+ 0 - 35
mec-im/src/main/java/com/ym/dao/WhiteboardDao.java

@@ -1,35 +0,0 @@
-package com.ym.dao;
-
-import com.ym.pojo.Whiteboard;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-/**
- * Created by weiqinxiao on 2019/2/25.
- */
-@Repository
-public interface WhiteboardDao extends JpaRepository<Whiteboard, Long> {
-    List<Whiteboard> findByRid(String rid);
-
-    List<Whiteboard> findByRidAndCreator(String rid, String creator);
-
-    List<Whiteboard> findByRidAndWbid(String rid, String wbid);
-
-    int deleteByRid(String rid);
-
-    @Modifying
-    int deleteByWbid(String wbid);
-
-    @Modifying
-    @Query(value = "delete from rongyun_whiteboard where rid=?1 and creator=?2", nativeQuery = true)
-    int deleteByRidAndCreator(String rid, String creator);
-
-    @Modifying
-    @Query(value = "update rongyun_whiteboard set cur_pg=?3 where wbid=?2 and rid=?1", nativeQuery = true)
-    int updatePageByRidAndWbid(String rid, String wbid, int page);
-}

+ 0 - 48
mec-im/src/main/java/com/ym/pojo/HereWhite.java

@@ -1,48 +0,0 @@
-package com.ym.pojo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * Created by weiqinxiao on 2019/2/28.
- */
-@Entity
-@Table(name = "rongyun_here_white")
-public class HereWhite implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "id_")
-    private Integer id;
-
-    @Column(name = "course_schedule_id_")
-    private @Getter @Setter int courseScheduleId;
-    @Column(name = "name_")
-    private @Getter @Setter String name;
-    @Column(name = "limit_")
-    private @Getter @Setter int limit;
-    @Column(name = "team_id_")
-    private @Getter @Setter int teamId;
-    @Column(name = "admin_id_")
-    private @Getter @Setter int adminId;
-    @Column(name = "mode_")
-    private @Getter @Setter String mode;
-    @Column(name = "template_")
-    private @Getter @Setter String template;
-    @Column(name = "region_")
-    private @Getter @Setter String region;
-    @Column(name = "uuid_")
-    private @Getter @Setter String uuid;
-    @Column(name = "room_token_")
-    private @Getter @Setter String roomToken;
-    @Column(name = "updated_at_")
-    private @Getter @Setter Date updatedAt;
-    @Column(name = "created_at_")
-    private @Getter @Setter Date createdAt;
-
-}

+ 0 - 42
mec-im/src/main/java/com/ym/pojo/Room.java

@@ -1,42 +0,0 @@
-package com.ym.pojo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * Created by weiqinxiao on 2019/2/28.
- */
-@Entity
-@Table(name = "rongyun_room")
-public class Room implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private long id;
-
-    private @Getter @Setter String rid;
-    private @Getter @Setter String name;
-    private @Getter @Setter String portrait;
-    private @Getter @Setter Date createDt;
-    private @Getter @Setter String display;
-    private @Getter @Setter int whiteboardNameIndex;
-    private @Getter @Setter int soundVolume = 100;
-
-    @Override
-    public String toString() {
-        return "Room{" +
-                "rid='" + rid + '\'' +
-                ", name='" + name + '\'' +
-                ", portrait='" + portrait + '\'' +
-                ", createDt=" + createDt +
-                ", display='" + display + '\'' +
-                ", soundVolume='" + soundVolume + '\'' +
-                ", whiteboardNameIndex='" + whiteboardNameIndex + '\'' +
-                '}';
-    }
-}

+ 0 - 59
mec-im/src/main/java/com/ym/pojo/RoomMember.java

@@ -1,59 +0,0 @@
-package com.ym.pojo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.persistence.*;
-import java.util.Date;
-
-/**
- * Created by weiqinxiao on 2019/2/28.
- */
-@Entity
-@Table(name = "rongyun_room_member")
-public class RoomMember {
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private long id;
-
-    private @Getter @Setter String uid;
-    private @Getter @Setter String rid;
-    private @Getter @Setter String headUrl;
-    private @Getter @Setter int role;
-    private @Getter @Setter Date joinDt;
-    private @Getter @Setter String name;
-    private @Getter @Setter boolean camera = true;
-    private @Getter @Setter boolean musicMode = true;
-    private @Getter @Setter boolean mic = true;
-    private @Getter @Setter boolean hand = false;
-
-    public RoomMember() {
-    }
-
-    public RoomMember(String uid, String rid) {
-        this.uid = uid;
-        this.rid = rid;
-    }
-
-    public RoomMember(String uid) {
-        this.uid = uid;
-    }
-
-    @Override
-    public String toString() {
-        return "RoomMember{" +
-                "uid='" + uid + '\'' +
-                ", rid='" + rid + '\'' +
-                ", role=" + role +
-                ", joinDt=" + joinDt +
-                ", name='" + name + '\'' +
-                ", camera=" + camera +
-                ", musicMode=" + musicMode +
-                ", mic=" + mic +
-                '}';
-    }
-//
-//    @ManyToOne(fetch = FetchType.LAZY)
-//    @JoinColumn(name = "room_id", referencedColumnName = "rid")
-//    private @Getter @Setter Room room;
-}

+ 0 - 21
mec-im/src/main/java/com/ym/pojo/UserInfo.java

@@ -1,21 +0,0 @@
-package com.ym.pojo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.persistence.*;
-import java.util.Date;
-
-@Entity
-@Table(name = "rongyun_user")
-public class UserInfo {
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    private @Getter @Setter String uid;
-    private @Getter @Setter String name;
-    private @Getter @Setter String portrait;
-    private @Getter @Setter Date createDt;
-    private @Getter @Setter Date updateDt;
-}

+ 0 - 30
mec-im/src/main/java/com/ym/pojo/Whiteboard.java

@@ -1,30 +0,0 @@
-package com.ym.pojo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * Created by weiqinxiao on 2019/2/28.
- */
-@Entity
-@Table(name = "rongyun_whiteboard")
-public class Whiteboard implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private @Getter long id;
-
-    private @Getter @Setter String rid;
-    private @Getter @Setter String wbid;
-    private @Getter @Setter String wbRoom;
-    private @Getter @Setter String name;
-    private @Getter @Setter String creator;
-    private @Getter @Setter Date createDt;
-    private @Getter @Setter int pgCount;
-    private @Getter @Setter int curPg;
-}

+ 0 - 1
mec-im/src/main/java/com/ym/service/Impl/HereWhiteServiceImpl.java

@@ -12,7 +12,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
-
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;

+ 39 - 40
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -4,28 +4,21 @@ 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.dao.RoomDao;
-import com.ym.mec.biz.dal.dao.RoomMemberDao;
-import com.ym.mec.biz.dal.dao.UserDao;
-import com.ym.mec.biz.dal.dao.WhiteboardDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
-import com.ym.mec.biz.dal.entity.*;
 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;
 import com.ym.mec.biz.service.StudentAttendanceService;
@@ -131,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);
@@ -180,17 +170,16 @@ public class RoomServiceImpl implements RoomService {
 
         RoleEnum roleEnum;
 
-
         RoomResult.MemberResult userResult = new RoomResult.MemberResult();
         RoomMember member = roomMemberDao.findOne(roomId, userId);
         String userName;
         if (member == null) {
-            int count = roomMemberDao.countRoomMember(roomId, RoleEnum.RoleAudience.getValue());
+            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())){
+            if(sysUser.getId().equals(courseSchedule.getActualTeacherId())){
                 roleEnum = RoleTeacher;
                 userName = sysUser.getRealName();
             }else {
@@ -494,7 +483,7 @@ public class RoomServiceImpl implements RoomService {
         if (roleEnum != RoleStudent && isUserDisplay(room, userId)) {
             updateDisplay(roomId, userId, "", 0);
         }
-        if (roomMemberDao.countRoomMember(roomId,null) <= 1) {
+        if (roomMemberDao.countRoomMember(roomId) <= 1) {
             roomMemberDao.deleteRoomMember(roomId, userId);
             roomDao.deleteRoom(roomId);
             deleteWhiteboardByUser(roomId, userId);
@@ -1166,7 +1155,7 @@ public class RoomServiceImpl implements RoomService {
         SysUser authUser = sysUserFeignService.queryUserInfo();
         String userId = authUser.getId().toString();
 
-        int count = roomMemberDao.countRoomMember(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);
@@ -1230,7 +1219,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.countRoomMember(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);
@@ -1328,13 +1317,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);
         }
@@ -1343,7 +1335,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());
 
@@ -1371,7 +1363,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);
@@ -1393,13 +1388,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 {
@@ -1413,11 +1413,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());
             }
@@ -1426,9 +1426,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());
         }
@@ -1438,10 +1438,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;
     }
 
@@ -1462,7 +1461,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);
                 }
@@ -1477,13 +1476,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;
                     }
@@ -1492,12 +1491,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 {
@@ -1507,7 +1506,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);
@@ -1517,7 +1516,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);
             }
@@ -1669,7 +1668,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);
     }