|
@@ -41,6 +41,7 @@ import com.ym.mec.biz.dal.enums.EOnOffStatus;
|
|
|
import com.ym.mec.biz.dal.enums.MessageTypeEnum;
|
|
|
import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
|
|
|
import com.ym.mec.biz.dal.vo.*;
|
|
|
+import com.ym.mec.biz.redisson.RedissonMessageService;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.entity.ImRoomMessage;
|
|
|
import com.ym.mec.common.entity.ImUserState;
|
|
@@ -62,6 +63,7 @@ import org.joda.time.DateTime;
|
|
|
import org.redisson.api.RBucket;
|
|
|
import org.redisson.api.RLock;
|
|
|
import org.redisson.api.RMap;
|
|
|
+import org.redisson.api.RScoredSortedSet;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -118,6 +120,8 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
private ImLiveRoomVideoService imLiveRoomVideoService;
|
|
|
@Autowired
|
|
|
private LivePluginContext livePluginContext;
|
|
|
+ @Autowired
|
|
|
+ private RedissonMessageService redissonMessageService;
|
|
|
|
|
|
@Autowired
|
|
|
private ImFeignService imFeignService;
|
|
@@ -1079,6 +1083,15 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
// 直播间统计数据
|
|
|
getRoomData(roomVo);
|
|
|
|
|
|
+ // 缓存JoinRoom用户信息到redis
|
|
|
+ RScoredSortedSet<String> sortedSet = redissonClient.getScoredSortedSet(RedissonMessageService.LIVE_ROOM_MEMBER);
|
|
|
+ sortedSet.add(System.currentTimeMillis(), roomUid);
|
|
|
+ // 设置缓存失效时间, 30分钟
|
|
|
+ redissonClient.getKeys().expire(RedissonMessageService.LIVE_ROOM_MEMBER, 30, TimeUnit.MINUTES);
|
|
|
+
|
|
|
+ // 发布删除缓存消息
|
|
|
+ redissonMessageService.publish(RedissonMessageService.TOPIC_MESSAGE, DateTime.now().toString());
|
|
|
+
|
|
|
// 设置群组属性
|
|
|
setGroupDefinedData(roomVo,EGroupDefinedDataType.MEMBER_ONLINE,roomVo.getLookNum().toString());
|
|
|
setGroupDefinedData(roomVo,EGroupDefinedDataType.MEMBER_TOTAL,roomVo.getTotalLookNum().toString());
|