房间等级5
This commit is contained in:
@@ -483,6 +483,8 @@ public class RoomVo implements Comparable<RoomVo> {
|
||||
@ApiModelProperty("房间右下角icon1、2入口配置")
|
||||
private RoomRightBottomIconVo rightBottomIconConfig;
|
||||
|
||||
private String roomLevelIcon;//房间等级图标
|
||||
|
||||
|
||||
@Override
|
||||
public int compareTo(RoomVo roomVo) {
|
||||
|
@@ -34,4 +34,5 @@ public class HomeRoomVo extends PlayRoomVo {
|
||||
private boolean roomBoom;
|
||||
private String roomBoomPic;
|
||||
private String roomBoomVapUrl;
|
||||
private String roomLevelIcon;//房间等级图标
|
||||
}
|
||||
|
@@ -6,11 +6,13 @@ import com.accompany.business.service.homeV2.filter.HomeRoomFilterEnum;
|
||||
import com.accompany.business.service.homeV2.filter.HomeRoomFilterService;
|
||||
import com.accompany.business.service.homeV2.sort.HomeRoomSortService;
|
||||
import com.accompany.business.service.room.RoomBoomBizService;
|
||||
import com.accompany.business.service.room.RoomLevelService;
|
||||
import com.accompany.business.service.roomtab.RoomTabMapService;
|
||||
import com.accompany.business.service.roomtab.RoomTabService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.home.HomeRoomVo;
|
||||
import com.accompany.business.vo.home.PlayRoomVo;
|
||||
import com.accompany.business.vo.home.SimplePlayRoomVo;
|
||||
import com.accompany.business.vo.roomtab.HomeRoomTabVo;
|
||||
import com.accompany.common.constant.ApplicationConstant;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -61,6 +63,8 @@ public class HomeV2Service {
|
||||
private RegionInfoService regionInfoService;
|
||||
@Autowired
|
||||
private RedissonClient redissonClient;
|
||||
@Autowired
|
||||
private RoomLevelService roomLevelService;
|
||||
|
||||
public List<HomeRoomTabVo> listTab(Long uid) {
|
||||
Users u = usersService.getNotNullUsersByUid(uid);
|
||||
@@ -244,7 +248,7 @@ public class HomeV2Service {
|
||||
ZonedDateTime dateTimeByZoneId = DateTimeUtil.convertWithZoneId(new Date(), partitionInfo.getZoneId());
|
||||
// 获取本轮boom玩法的当天日期
|
||||
String cycleDate = DateTimeUtil.formatDate(dateTimeByZoneId);
|
||||
|
||||
Map<Long, String> roomLeveIconMap = roomLevelService.getRoomLeveIconMap(roomUidPage.stream().map(SimplePlayRoomVo::getUid).collect(Collectors.toList()), partitionId);
|
||||
roomUidPage.parallelStream().forEach(vo -> {
|
||||
Users u = usersMap.get(vo.getUid());
|
||||
if (null != u){
|
||||
@@ -266,6 +270,7 @@ public class HomeV2Service {
|
||||
!CollectionUtils.isEmpty(pkRoomUidStrSet) && pkRoomUidStrSet.contains(vo.getUid().toString()));
|
||||
|
||||
roomBoomBizService.filterRoomBoom(vo, cycleDate);
|
||||
vo.setRoomLevelIcon(roomLeveIconMap.get(vo.getUid()));
|
||||
});
|
||||
return roomUidPage;
|
||||
}
|
||||
|
@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
@@ -115,4 +116,34 @@ public class RoomLevelService {
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
public Map<Long, String> getRoomLeveIconMap(List<Long> roomUids, Integer partitionId) {
|
||||
Map<Long, String> resultMap = null;
|
||||
try {
|
||||
resultMap = new HashMap<>();
|
||||
if (CollectionUtils.isEmpty(roomUids)) {
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
List<Double> scores = roomExpCache(partitionId).getScore(roomUids);
|
||||
int size = roomUids.size();
|
||||
TreeMap<BigDecimal, RoomLevelInfo> levelInfoTreeMap = roomLevelInfoService.getLevelInfoTreeMap();
|
||||
if (levelInfoTreeMap.isEmpty()) {
|
||||
return resultMap;
|
||||
}
|
||||
for (int i = 0; i < size; i++) {
|
||||
Long roomUid = roomUids.get(i);
|
||||
Double score = scores.get(i);
|
||||
score = score == null ? 0D : score;
|
||||
Map.Entry<BigDecimal, RoomLevelInfo> levelInfoEntry = levelInfoTreeMap.headMap(BigDecimal.valueOf(score), true).lastEntry();
|
||||
if (levelInfoEntry == null) {
|
||||
continue;
|
||||
}
|
||||
resultMap.put(roomUid, levelInfoEntry.getValue().getLevelIcon());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("RoomLevelService.getRoomLeveIconMap:partitionId{},roomUids:{},e:{}", partitionId, JSONObject.toJSONString(roomUids), e.getMessage(), e);
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ package com.accompany.business.controller.room;
|
||||
import com.accompany.business.common.BaseController;
|
||||
import com.accompany.business.constant.LimitTypeEnum;
|
||||
import com.accompany.business.constant.RoomTypeEnum;
|
||||
import com.accompany.business.model.room.RoomLevelInfo;
|
||||
import com.accompany.business.param.RoomAdminParam;
|
||||
import com.accompany.business.param.RoomParam;
|
||||
import com.accompany.business.sensitvienew.SensitiveFilterUtil;
|
||||
@@ -82,6 +83,8 @@ public class RoomController extends BaseController {
|
||||
private RoomManageService roomManageService;
|
||||
@Autowired
|
||||
private RoomRightBottomIconService roomRightBottomIconService;
|
||||
@Autowired
|
||||
private RoomLevelService roomLevelService;
|
||||
|
||||
private RateLimiter roomGetLimiter = RateLimiter.create(1000);
|
||||
|
||||
@@ -227,6 +230,10 @@ public class RoomController extends BaseController {
|
||||
roomVo.setHasRoomAlbum(roomAlbumService.hasRoomAlbum(uid, pubUid));
|
||||
roomVo.setSeizeTreasureSwitchVo(seizeTreasureShardService.getConfig());
|
||||
roomVo.setRightBottomIconConfig(roomRightBottomIconService.getConfig(uid));
|
||||
RoomLevelInfo roomLevelInfo = roomLevelService.getRoomLevelByRoomUid(roomVo.getPartitionId(), roomVo.getUid());
|
||||
if (roomLevelInfo != null) {
|
||||
roomVo.setRoomLevelIcon(roomLevelInfo.getLevelIcon());
|
||||
}
|
||||
return BusiResult.success(roomVo);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user