Explorar o código

双十一活动

zouxuan %!s(int64=3) %!d(string=hai) anos
pai
achega
656aa8010b

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

@@ -8,7 +8,10 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 public interface RoomMemberDao extends BaseDAO<Integer, RoomMember> {
-    List<RoomMember> queryRoomMember(@Param("roomId") String roomId, @Param("userId") String userId, @Param("role") Integer role);
+    List<RoomMember> queryRoomMember(@Param("roomId") String roomId,
+                                     @Param("userId") String userId,
+                                     @Param("role") Integer role,
+                                     @Param("onlineFlag") Boolean onlineFlag);
 
     RoomMember findOne(@Param("roomId") String roomId, @Param("userId") String userId);
 

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

@@ -104,6 +104,9 @@
 		<if test="userId != null">
 			AND uid = #{userId}
 		</if>
+		<if test="onlineFlag != null">
+			AND online_flag_ = #{onlineFlag}
+		</if>
 	</select>
 	<select id="findOne" resultMap="RoomMember">
 		SELECT * FROM rongyun_room_member WHERE rid = #{roomId}

+ 9 - 7
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -200,6 +200,7 @@ public class RoomServiceImpl implements RoomService {
                 roomMember.setJoinDt(curTime);
                 roomMember.setMusicMode(false);
                 roomMember.setOnlineFlag(true);
+                roomMemberDao.update(roomMember);
             }
             if(roleEnum == RoleTeacher){
                 courseScheduleStudentPaymentDao.adjustPlayMidi(courseId,null,null);
@@ -216,8 +217,6 @@ public class RoomServiceImpl implements RoomService {
         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());
@@ -228,9 +227,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){
@@ -256,7 +257,7 @@ public class RoomServiceImpl implements RoomService {
         roomResult.setDisplay(display);
         roomResult.setRoomId(roomId);
 
-        List<RoomMember> roomMemberList = roomMemberDao.queryRoomMember(roomId,null,null);
+        List<RoomMember> roomMemberList = roomMemberDao.queryRoomMember(roomId,null,null,true);
         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()));
@@ -417,7 +418,7 @@ 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);
@@ -425,6 +426,7 @@ public class RoomServiceImpl implements RoomService {
         room.setDisplay(display);
         room.setWhiteboardNameIndex(0);
         roomDao.insert(room);
+        return room;
     }
 
     public RoomMember saveRoomMember(String userId, String headUrl, String userName, String roomId, int role, Date joinTime) {