fix(other): hide down-shelved lucky gifts
This commit is contained in:
parent
bd27726301
commit
b792e7feb2
@ -34,12 +34,14 @@ public class LuckyGiftDataQryCmd {
|
||||
private final LuckyGiftProbabilityService luckyGiftProbabilityService;
|
||||
private final LuckyGiftProbabilityDetailsService luckyGiftProbabilityDetailsService;
|
||||
|
||||
public GameLuckyGiftDataCO execute(GameLuckyGiftCmd cmd) {
|
||||
|
||||
GiftConfigDTO giftConfigCache = giftCacheService.getById(cmd.getGiftId());
|
||||
if (Objects.isNull(giftConfigCache) || Objects.isNull(giftConfigCache.getStandardId())) {
|
||||
return null;
|
||||
}
|
||||
public GameLuckyGiftDataCO execute(GameLuckyGiftCmd cmd) {
|
||||
|
||||
GiftConfigDTO giftConfigCache = giftCacheService.getById(cmd.getGiftId());
|
||||
if (Objects.isNull(giftConfigCache)
|
||||
|| Boolean.TRUE.equals(giftConfigCache.getDel())
|
||||
|| Objects.isNull(giftConfigCache.getStandardId())) {
|
||||
return null;
|
||||
}
|
||||
|
||||
LuckyGiftProbability giftProbability = getOneByStandardIdByQuantity(cmd, giftConfigCache);
|
||||
if (Objects.isNull(giftProbability)) {
|
||||
|
||||
@ -82,12 +82,14 @@ public class LuckyGiftMultipleRuleQryCmd {
|
||||
luckyGiftCounts.stream().map(GameLuckyGiftCount::getUserId).collect(Collectors.toSet())));
|
||||
}
|
||||
|
||||
private List<GameLuckyGiftMultipleCO> listMaxMultiple(Long giftId) {
|
||||
|
||||
GiftConfigDTO configCache = giftCacheService.getById(giftId);
|
||||
if (Objects.isNull(configCache)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
private List<GameLuckyGiftMultipleCO> listMaxMultiple(Long giftId) {
|
||||
|
||||
GiftConfigDTO configCache = giftCacheService.getById(giftId);
|
||||
if (Objects.isNull(configCache)
|
||||
|| Boolean.TRUE.equals(configCache.getDel())
|
||||
|| Objects.isNull(configCache.getStandardId())) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
|
||||
List<LuckyGiftProbability> giftProbabilities = listProbabilityByStandardId(configCache);
|
||||
if (CollectionUtils.isEmpty(giftProbabilities)) {
|
||||
|
||||
@ -54,13 +54,14 @@ public class LuckyGiftGiveCmdExe {
|
||||
|
||||
ResponseAssert.notNull(RoomErrorCode.ROOM_NOT_EXISTS, cmd.getRoomId());
|
||||
|
||||
GiftConfigDTO giftConfig = giftCacheService.getById(cmd.getGiftId());
|
||||
|
||||
ResponseAssert.notNull(GiftErrorCode.GIFT_NOT_FOUND, giftConfig);
|
||||
|
||||
// 判断版本号从而保证使用幸运礼物必须升级版本
|
||||
ResponseAssert.isTrue(CommonErrorCode.NOT_ACCEPT_REQUEST,
|
||||
Objects.equals(giftConfig.getGiftTab(), GiftTabEnum.LUCKY_GIFT.name()) ||
|
||||
GiftConfigDTO giftConfig = giftCacheService.getById(cmd.getGiftId());
|
||||
|
||||
ResponseAssert.notNull(GiftErrorCode.GIFT_NOT_FOUND, giftConfig);
|
||||
ResponseAssert.isFalse(GiftErrorCode.GIFT_NOT_FOUND, Boolean.TRUE.equals(giftConfig.getDel()));
|
||||
|
||||
// 判断版本号从而保证使用幸运礼物必须升级版本
|
||||
ResponseAssert.isTrue(CommonErrorCode.NOT_ACCEPT_REQUEST,
|
||||
Objects.equals(giftConfig.getGiftTab(), GiftTabEnum.LUCKY_GIFT.name()) ||
|
||||
Objects.equals(giftConfig.getGiftTab(), GiftTabEnum.MAGIC.name()));
|
||||
|
||||
// 过滤赠送人非法值
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
package com.red.circle.other.app.command.game.luckygift;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.red.circle.other.app.common.gift.GameLuckyGiftCommon;
|
||||
import com.red.circle.other.app.dto.cmd.game.GameLuckyGiftCmd;
|
||||
import com.red.circle.other.infra.database.cache.service.other.GameLuckyGiftCacheService;
|
||||
import com.red.circle.other.infra.database.cache.service.other.GiftCacheService;
|
||||
import com.red.circle.other.infra.database.rds.service.game.LuckyGiftProbabilityDetailsService;
|
||||
import com.red.circle.other.infra.database.rds.service.game.LuckyGiftProbabilityService;
|
||||
import com.red.circle.other.inner.model.dto.material.GiftConfigDTO;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class LuckyGiftDataQryCmdTest {
|
||||
|
||||
@Test
|
||||
void execute_shouldReturnNullWhenGiftIsDownShelved() {
|
||||
GiftCacheService giftCacheService = mock(GiftCacheService.class);
|
||||
GameLuckyGiftCommon gameLuckyGiftCommon = mock(GameLuckyGiftCommon.class);
|
||||
GameLuckyGiftCacheService gameLuckyGiftCacheService = mock(GameLuckyGiftCacheService.class);
|
||||
LuckyGiftProbabilityService luckyGiftProbabilityService = mock(LuckyGiftProbabilityService.class);
|
||||
LuckyGiftProbabilityDetailsService luckyGiftProbabilityDetailsService = mock(
|
||||
LuckyGiftProbabilityDetailsService.class);
|
||||
LuckyGiftDataQryCmd qryCmd = new LuckyGiftDataQryCmd(
|
||||
giftCacheService,
|
||||
gameLuckyGiftCommon,
|
||||
gameLuckyGiftCacheService,
|
||||
luckyGiftProbabilityService,
|
||||
luckyGiftProbabilityDetailsService
|
||||
);
|
||||
|
||||
when(giftCacheService.getById(11L)).thenReturn(new GiftConfigDTO()
|
||||
.setId(11L)
|
||||
.setDel(Boolean.TRUE)
|
||||
.setStandardId(99L));
|
||||
|
||||
GameLuckyGiftCmd cmd = new GameLuckyGiftCmd();
|
||||
cmd.setGiftId(11L);
|
||||
|
||||
assertNull(qryCmd.execute(cmd));
|
||||
}
|
||||
}
|
||||
@ -24,24 +24,26 @@ public class GameLuckyGiftStandardConfigServiceImpl extends
|
||||
GameLuckyGiftStandardConfigService {
|
||||
|
||||
@Override
|
||||
public List<GameLuckyGiftStandardConfig> getLuckyGiftStandard(String sysOrigin) {
|
||||
return query()
|
||||
.eq(GameLuckyGiftStandardConfig::getSysOrigin, sysOrigin)
|
||||
.last(PageConstant.formatLimit(500))
|
||||
.list();
|
||||
}
|
||||
public List<GameLuckyGiftStandardConfig> getLuckyGiftStandard(String sysOrigin) {
|
||||
return query()
|
||||
.eq(GameLuckyGiftStandardConfig::getSysOrigin, sysOrigin)
|
||||
.eq(GameLuckyGiftStandardConfig::getDel, Boolean.FALSE)
|
||||
.last(PageConstant.formatLimit(500))
|
||||
.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<GameLuckyGiftStandardConfig> getStandardConfig(
|
||||
GameLuckGiftStandardConfigQryCmd query) {
|
||||
return query()
|
||||
.eq(StringUtils.isNotBlank(query.getSysOrigin()), GameLuckyGiftStandardConfig::getSysOrigin,
|
||||
query.getSysOrigin())
|
||||
.like(StringUtils.isNotBlank(query.getRemarks()), GameLuckyGiftStandardConfig::getRemarks,
|
||||
query.getRemarks())
|
||||
.orderByDesc(GameLuckyGiftStandardConfig::getCreateTime)
|
||||
.page(query.getPageQuery());
|
||||
}
|
||||
return query()
|
||||
.eq(StringUtils.isNotBlank(query.getSysOrigin()), GameLuckyGiftStandardConfig::getSysOrigin,
|
||||
query.getSysOrigin())
|
||||
.like(StringUtils.isNotBlank(query.getRemarks()), GameLuckyGiftStandardConfig::getRemarks,
|
||||
query.getRemarks())
|
||||
.eq(GameLuckyGiftStandardConfig::getDel, Boolean.FALSE)
|
||||
.orderByDesc(GameLuckyGiftStandardConfig::getCreateTime)
|
||||
.page(query.getPageQuery());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteStandardConfig(Long id, Long userId) {
|
||||
|
||||
@ -60,13 +60,14 @@ public class LuckyGiftProbabilityDetailsServiceImpl extends
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LuckyGiftProbabilityDetails> listByProbabilityId(Long probabilityId) {
|
||||
|
||||
return query()
|
||||
.eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId)
|
||||
.last(PageConstant.formatLimit(50))
|
||||
.list();
|
||||
}
|
||||
public List<LuckyGiftProbabilityDetails> listByProbabilityId(Long probabilityId) {
|
||||
|
||||
return query()
|
||||
.eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId)
|
||||
.eq(LuckyGiftProbabilityDetails::getDel, Boolean.FALSE)
|
||||
.last(PageConstant.formatLimit(50))
|
||||
.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByProbabilityIds(Set<Long> probabilityIds) {
|
||||
@ -74,22 +75,28 @@ public class LuckyGiftProbabilityDetailsServiceImpl extends
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, List<LuckyGiftProbabilityDetails>> getLuckyGiftProbabilityDetails(
|
||||
String sysOrigin) {
|
||||
return Optional.ofNullable(
|
||||
query().eq(LuckyGiftProbabilityDetails::getSysOrigin, sysOrigin).list())
|
||||
.map(probabilityDetails ->
|
||||
probabilityDetails.stream().collect(
|
||||
Collectors.groupingBy(LuckyGiftProbabilityDetails::getProbabilityId)))
|
||||
.orElse(Maps.newHashMap());
|
||||
}
|
||||
public Map<Long, List<LuckyGiftProbabilityDetails>> getLuckyGiftProbabilityDetails(
|
||||
String sysOrigin) {
|
||||
return Optional.ofNullable(
|
||||
query()
|
||||
.eq(LuckyGiftProbabilityDetails::getSysOrigin, sysOrigin)
|
||||
.eq(LuckyGiftProbabilityDetails::getDel, Boolean.FALSE)
|
||||
.list())
|
||||
.map(probabilityDetails ->
|
||||
probabilityDetails.stream().collect(
|
||||
Collectors.groupingBy(LuckyGiftProbabilityDetails::getProbabilityId)))
|
||||
.orElse(Maps.newHashMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LuckyGiftProbabilityDetails> getDetailByProbabilityId(Long probabilityId) {
|
||||
return Optional.ofNullable(
|
||||
query().eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId).list()).orElse(
|
||||
Lists.newArrayList());
|
||||
}
|
||||
public List<LuckyGiftProbabilityDetails> getDetailByProbabilityId(Long probabilityId) {
|
||||
return Optional.ofNullable(
|
||||
query()
|
||||
.eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId)
|
||||
.eq(LuckyGiftProbabilityDetails::getDel, Boolean.FALSE)
|
||||
.list()).orElse(
|
||||
Lists.newArrayList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(Long probabilityId,
|
||||
|
||||
@ -29,37 +29,47 @@ public class LuckyGiftProbabilityServiceImpl extends
|
||||
LuckyGiftProbabilityService {
|
||||
|
||||
@Override
|
||||
public List<LuckyGiftProbability> listByStandardId(Long standardId) {
|
||||
|
||||
return query()
|
||||
.eq(LuckyGiftProbability::getStandardId, standardId)
|
||||
.last(PageConstant.formatLimit(5))
|
||||
.list();
|
||||
}
|
||||
public List<LuckyGiftProbability> listByStandardId(Long standardId) {
|
||||
|
||||
return query()
|
||||
.eq(LuckyGiftProbability::getStandardId, standardId)
|
||||
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||
.last(PageConstant.formatLimit(5))
|
||||
.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public LuckyGiftProbability getOneByStandardIdByQuantity(Long standardId, Integer quantity) {
|
||||
|
||||
return query()
|
||||
.eq(LuckyGiftProbability::getGiftQuantity, quantity)
|
||||
.eq(LuckyGiftProbability::getStandardId, standardId)
|
||||
.last(PageConstant.LIMIT_ONE)
|
||||
.getOne();
|
||||
}
|
||||
return query()
|
||||
.eq(LuckyGiftProbability::getGiftQuantity, quantity)
|
||||
.eq(LuckyGiftProbability::getStandardId, standardId)
|
||||
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||
.last(PageConstant.LIMIT_ONE)
|
||||
.getOne();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, List<LuckyGiftProbability>> getLuckyGiftProbabilityMap(Set<Long> standardIds) {
|
||||
if (Objects.isNull(standardIds) || standardIds.isEmpty()) {
|
||||
return Maps.newHashMap();
|
||||
}
|
||||
return Optional.ofNullable(query()
|
||||
.in(LuckyGiftProbability::getStandardId, standardIds)
|
||||
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||
.list())
|
||||
.map(probabilityList -> probabilityList.stream()
|
||||
.collect(Collectors.groupingBy(LuckyGiftProbability::getStandardId)))
|
||||
.orElse(Maps.newHashMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, List<LuckyGiftProbability>> getLuckyGiftProbabilityMap(Set<Long> standardIds) {
|
||||
return Optional.ofNullable(query().in(LuckyGiftProbability::getStandardId, standardIds).list())
|
||||
.map(probabilityList -> probabilityList.stream()
|
||||
.collect(Collectors.groupingBy(LuckyGiftProbability::getStandardId)))
|
||||
.orElse(Maps.newHashMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LuckyGiftProbability> getLuckyGiftProbabilityByStandardId(Long id) {
|
||||
return query()
|
||||
.eq(Objects.nonNull(id), LuckyGiftProbability::getStandardId, id).list();
|
||||
}
|
||||
public List<LuckyGiftProbability> getLuckyGiftProbabilityByStandardId(Long id) {
|
||||
return query()
|
||||
.eq(Objects.nonNull(id), LuckyGiftProbability::getStandardId, id)
|
||||
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||
.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteByStandardId(Long id) {
|
||||
@ -69,13 +79,14 @@ public class LuckyGiftProbabilityServiceImpl extends
|
||||
@Override
|
||||
public List<LuckyGiftProbability> getLuckyGiftProbabilityConfig(
|
||||
GameLuckGiftProbabilityConfigQryCmd query) {
|
||||
return query().eq(
|
||||
StringUtils.isNotBlank(query.getSysOrigin()), LuckyGiftProbability::getSysOrigin,
|
||||
query.getSysOrigin())
|
||||
.eq(Objects.nonNull(query.getStandardId()), LuckyGiftProbability::getStandardId,
|
||||
query.getStandardId())
|
||||
.orderByAsc(LuckyGiftProbability::getSort)
|
||||
.list();
|
||||
}
|
||||
|
||||
}
|
||||
return query().eq(
|
||||
StringUtils.isNotBlank(query.getSysOrigin()), LuckyGiftProbability::getSysOrigin,
|
||||
query.getSysOrigin())
|
||||
.eq(Objects.nonNull(query.getStandardId()), LuckyGiftProbability::getStandardId,
|
||||
query.getStandardId())
|
||||
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||
.orderByAsc(LuckyGiftProbability::getSort)
|
||||
.list();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -134,11 +134,13 @@ public interface GiftConfigService extends BaseService<GiftConfig> {
|
||||
|
||||
List<GiftConfig> list(String sysOrigin);
|
||||
|
||||
List<GiftConfig> getLuckyGiftByStandardId(Long id, String name);
|
||||
|
||||
/**
|
||||
* 获取平台表白礼物.
|
||||
*
|
||||
List<GiftConfig> getLuckyGiftByStandardId(Long id, String name);
|
||||
|
||||
Set<Long> listEffectiveLuckyGiftStandardIds(String sysOrigin);
|
||||
|
||||
/**
|
||||
* 获取平台表白礼物.
|
||||
*
|
||||
* @param sysOrigin 平台
|
||||
* @return list
|
||||
*/
|
||||
|
||||
@ -276,20 +276,35 @@ public class GiftConfigServiceImpl extends BaseServiceImpl<GiftConfigDAO, GiftCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GiftConfig> getLuckyGiftByStandardId(Long standardId, String giftTab) {
|
||||
return Optional.ofNullable(query()
|
||||
.eq(GiftConfig::getGiftTab, giftTab)
|
||||
.eq(GiftConfig::getStandardId, standardId)
|
||||
.eq(GiftConfig::getDel, Boolean.FALSE)
|
||||
.last(PageConstant.MAX_LIMIT)
|
||||
.list())
|
||||
.orElse(Lists.newArrayList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GiftConfig> listConfessionGifts(String sysOrigin) {
|
||||
return query()
|
||||
.eq(GiftConfig::getSysOrigin, sysOrigin)
|
||||
public List<GiftConfig> getLuckyGiftByStandardId(Long standardId, String giftTab) {
|
||||
return Optional.ofNullable(query()
|
||||
.eq(GiftConfig::getGiftTab, giftTab)
|
||||
.eq(GiftConfig::getStandardId, standardId)
|
||||
.eq(GiftConfig::getDel, Boolean.FALSE)
|
||||
.last(PageConstant.MAX_LIMIT)
|
||||
.list())
|
||||
.orElse(Lists.newArrayList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Long> listEffectiveLuckyGiftStandardIds(String sysOrigin) {
|
||||
return Optional.ofNullable(query()
|
||||
.eq(GiftConfig::getSysOrigin, sysOrigin)
|
||||
.eq(GiftConfig::getGiftTab, GiftTabEnum.LUCKY_GIFT)
|
||||
.eq(GiftConfig::getDel, Boolean.FALSE)
|
||||
.isNotNull(GiftConfig::getStandardId)
|
||||
.list())
|
||||
.map(gifts -> gifts.stream()
|
||||
.map(GiftConfig::getStandardId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toSet()))
|
||||
.orElse(CollectionUtils.newHashSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GiftConfig> listConfessionGifts(String sysOrigin) {
|
||||
return query()
|
||||
.eq(GiftConfig::getSysOrigin, sysOrigin)
|
||||
.eq(GiftConfig::getDel, Boolean.FALSE)
|
||||
.eq(GiftConfig::getExplanationGift, Boolean.TRUE)
|
||||
.orderByDesc(GiftConfig::getSort)
|
||||
|
||||
@ -81,12 +81,18 @@ public class GameLuckyGiftConfigClientServiceImpl implements GameLuckyGiftConfig
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LuckyGiftStandardMapDTO> listProbability(String sysOrigin) {
|
||||
List<GameLuckyGiftStandardConfig> luckyGiftStandards = gameLuckyGiftStandardConfigService.getLuckyGiftStandard(
|
||||
sysOrigin);
|
||||
if (CollectionUtils.isEmpty(luckyGiftStandards)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
public List<LuckyGiftStandardMapDTO> listProbability(String sysOrigin) {
|
||||
Set<Long> activeStandardIds = giftConfigService.listEffectiveLuckyGiftStandardIds(sysOrigin);
|
||||
if (CollectionUtils.isEmpty(activeStandardIds)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<GameLuckyGiftStandardConfig> luckyGiftStandards = gameLuckyGiftStandardConfigService.getLuckyGiftStandard(
|
||||
sysOrigin).stream()
|
||||
.filter(luckyGiftStandard -> activeStandardIds.contains(luckyGiftStandard.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(luckyGiftStandards)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
Map<Long, List<LuckyGiftProbability>> probabilityMap = luckyGiftProbabilityService.getLuckyGiftProbabilityMap(
|
||||
luckyGiftStandards.stream().map(GameLuckyGiftStandardConfig::getId).collect(
|
||||
Collectors.toSet()));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user