package com.qxueyou.scc.teach.live.dao; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.alibaba.druid.util.StringUtils; import com.qxueyou.scc.base.service.impl.RedisCacheBean; import com.qxueyou.scc.base.util.UUIDUtils; @Repository public class MediaLiveDAO { @Autowired RedisCacheBean cache; public void saveLiveClasses(String liveId,List classIds) { List origNoticeClasses = cache.lstAll("LiveClasses_"+liveId); for(String classId:origNoticeClasses) { cache.lstRemove("ClassLives_"+classId, liveId); } cache.lstTrim("LiveClasses_"+liveId, 1, 0); cache.lstRightPushAll("LiveClasses_"+liveId, classIds); for(String classId:classIds) { cache.lstRightPush("ClassLives_"+classId, liveId); } } public List getLiveClasses(String liveId) { return cache.lstAll("LiveClasses_"+liveId); } public List getClassLives(String classId) { return cache.lstAll("ClassLives_"+classId); } public String getChatRoomId(String liveId) { String chatRoomId = cache.get(liveId); if(StringUtils.isEmpty(chatRoomId)){ chatRoomId = UUIDUtils.UUID(); if(!cache.setIfAbsent(liveId,chatRoomId)){ return this.getChatRoomId(liveId); } } return chatRoomId; } }