|
|
|
@@ -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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|