房间-排麦开关

(cherry picked from commit 8864f16fa9b489a2cb064b07ccd5068b385f0c94)
This commit is contained in:
khalil
2025-01-08 14:59:58 +08:00
parent 9fbf646e8e
commit b8d8588b94
4 changed files with 41 additions and 0 deletions

View File

@@ -1384,6 +1384,8 @@ public class Constant {
public static final String ACTIVITY_TEMPLATE_CONFIG = "activity_template_config";//通用活动模板
public static final String ROOM_BOSS_MIC_UP_DAY_SEND_LIMIT = "room_bossMic_up_daySend_limit";//房间老板位上麦日贡献值最小限制
public static final String ROOM_UNIQUE_SWITCH_CONFIG = "room_unique_switch_config";
}
public static class WithDrawStatus {

View File

@@ -0,0 +1,13 @@
package com.accompany.business.dto;
import lombok.Data;
import java.util.Set;
@Data
public class RoomUniqueSwitchConfig {
private Boolean enable;
private Set<Long> whiteRoomUid;
}

View File

@@ -22,4 +22,6 @@ public class RoomLevelVo {
private Integer managerLimitNum;
private Integer currentManagerNum;
private Boolean hasUnique = Boolean.FALSE;
}

View File

@@ -1,6 +1,7 @@
package com.accompany.business.service.room;
import com.accompany.business.constant.RoomConstant;
import com.accompany.business.dto.RoomUniqueSwitchConfig;
import com.accompany.business.model.room.RoomLevelDayExp;
import com.accompany.business.model.room.RoomLevelInfo;
import com.accompany.business.model.room.RoomMicDress;
@@ -16,6 +17,9 @@ import com.accompany.common.status.BusiStatus;
import com.accompany.core.exception.ServiceException;
import com.accompany.core.model.Room;
import com.accompany.core.model.Users;
import com.accompany.core.service.SysConfService;
import com.accompany.payment.dto.ChargeFloatingConfig;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@@ -25,6 +29,7 @@ import org.redisson.api.RedissonClient;
import org.redisson.client.codec.LongCodec;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.HashMap;
@@ -57,6 +62,8 @@ public class RoomLevelService {
@Autowired
private RoomLevelDayExpService roomLevelDayExpService;
@Autowired
private SysConfService sysConfService;
public RScoredSortedSet<Long> roomExpCache(Integer partitionId) {
return redissonClient.getScoredSortedSet(RoomConstant.RedisKey.room_val.getKey(partitionId), LongCodec.INSTANCE);
@@ -122,6 +129,7 @@ public class RoomLevelService {
if (roomMicSkin != null) {
roomLevelVo.setUsedMicSkinId(roomMicSkin.getId());
}
roomLevelVo.setHasUnique(getRoomUniqueEnable(roomUid));
return BusiResult.success(roomLevelVo);
}
@@ -214,4 +222,20 @@ public class RoomLevelService {
}
}
private Boolean getRoomUniqueEnable(Long roomUid) {
RoomUniqueSwitchConfig config = getRoomUniqueSwitchConfig();
if (config.getEnable() || config.getWhiteRoomUid().contains(roomUid)){
return Boolean.TRUE;
}
return Boolean.FALSE;
}
private RoomUniqueSwitchConfig getRoomUniqueSwitchConfig(){
String configStr = sysConfService.getSysConfValueById(Constant.SysConfId.ROOM_UNIQUE_SWITCH_CONFIG);
if (!StringUtils.hasText(configStr)){
throw new ServiceException(BusiStatus.ALREADY_NOTEXISTS_CONFIG);
}
return JSON.parseObject(configStr, RoomUniqueSwitchConfig.class);
}
}