fix(other): hide down-shelved lucky gifts
This commit is contained in:
parent
bd27726301
commit
b792e7feb2
@ -37,7 +37,9 @@ public class LuckyGiftDataQryCmd {
|
|||||||
public GameLuckyGiftDataCO execute(GameLuckyGiftCmd cmd) {
|
public GameLuckyGiftDataCO execute(GameLuckyGiftCmd cmd) {
|
||||||
|
|
||||||
GiftConfigDTO giftConfigCache = giftCacheService.getById(cmd.getGiftId());
|
GiftConfigDTO giftConfigCache = giftCacheService.getById(cmd.getGiftId());
|
||||||
if (Objects.isNull(giftConfigCache) || Objects.isNull(giftConfigCache.getStandardId())) {
|
if (Objects.isNull(giftConfigCache)
|
||||||
|
|| Boolean.TRUE.equals(giftConfigCache.getDel())
|
||||||
|
|| Objects.isNull(giftConfigCache.getStandardId())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -85,7 +85,9 @@ public class LuckyGiftMultipleRuleQryCmd {
|
|||||||
private List<GameLuckyGiftMultipleCO> listMaxMultiple(Long giftId) {
|
private List<GameLuckyGiftMultipleCO> listMaxMultiple(Long giftId) {
|
||||||
|
|
||||||
GiftConfigDTO configCache = giftCacheService.getById(giftId);
|
GiftConfigDTO configCache = giftCacheService.getById(giftId);
|
||||||
if (Objects.isNull(configCache)) {
|
if (Objects.isNull(configCache)
|
||||||
|
|| Boolean.TRUE.equals(configCache.getDel())
|
||||||
|
|| Objects.isNull(configCache.getStandardId())) {
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -57,6 +57,7 @@ public class LuckyGiftGiveCmdExe {
|
|||||||
GiftConfigDTO giftConfig = giftCacheService.getById(cmd.getGiftId());
|
GiftConfigDTO giftConfig = giftCacheService.getById(cmd.getGiftId());
|
||||||
|
|
||||||
ResponseAssert.notNull(GiftErrorCode.GIFT_NOT_FOUND, giftConfig);
|
ResponseAssert.notNull(GiftErrorCode.GIFT_NOT_FOUND, giftConfig);
|
||||||
|
ResponseAssert.isFalse(GiftErrorCode.GIFT_NOT_FOUND, Boolean.TRUE.equals(giftConfig.getDel()));
|
||||||
|
|
||||||
// 判断版本号从而保证使用幸运礼物必须升级版本
|
// 判断版本号从而保证使用幸运礼物必须升级版本
|
||||||
ResponseAssert.isTrue(CommonErrorCode.NOT_ACCEPT_REQUEST,
|
ResponseAssert.isTrue(CommonErrorCode.NOT_ACCEPT_REQUEST,
|
||||||
|
|||||||
@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -27,6 +27,7 @@ public class GameLuckyGiftStandardConfigServiceImpl extends
|
|||||||
public List<GameLuckyGiftStandardConfig> getLuckyGiftStandard(String sysOrigin) {
|
public List<GameLuckyGiftStandardConfig> getLuckyGiftStandard(String sysOrigin) {
|
||||||
return query()
|
return query()
|
||||||
.eq(GameLuckyGiftStandardConfig::getSysOrigin, sysOrigin)
|
.eq(GameLuckyGiftStandardConfig::getSysOrigin, sysOrigin)
|
||||||
|
.eq(GameLuckyGiftStandardConfig::getDel, Boolean.FALSE)
|
||||||
.last(PageConstant.formatLimit(500))
|
.last(PageConstant.formatLimit(500))
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
@ -39,6 +40,7 @@ public class GameLuckyGiftStandardConfigServiceImpl extends
|
|||||||
query.getSysOrigin())
|
query.getSysOrigin())
|
||||||
.like(StringUtils.isNotBlank(query.getRemarks()), GameLuckyGiftStandardConfig::getRemarks,
|
.like(StringUtils.isNotBlank(query.getRemarks()), GameLuckyGiftStandardConfig::getRemarks,
|
||||||
query.getRemarks())
|
query.getRemarks())
|
||||||
|
.eq(GameLuckyGiftStandardConfig::getDel, Boolean.FALSE)
|
||||||
.orderByDesc(GameLuckyGiftStandardConfig::getCreateTime)
|
.orderByDesc(GameLuckyGiftStandardConfig::getCreateTime)
|
||||||
.page(query.getPageQuery());
|
.page(query.getPageQuery());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,6 +64,7 @@ public class LuckyGiftProbabilityDetailsServiceImpl extends
|
|||||||
|
|
||||||
return query()
|
return query()
|
||||||
.eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId)
|
.eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId)
|
||||||
|
.eq(LuckyGiftProbabilityDetails::getDel, Boolean.FALSE)
|
||||||
.last(PageConstant.formatLimit(50))
|
.last(PageConstant.formatLimit(50))
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
@ -77,7 +78,10 @@ public class LuckyGiftProbabilityDetailsServiceImpl extends
|
|||||||
public Map<Long, List<LuckyGiftProbabilityDetails>> getLuckyGiftProbabilityDetails(
|
public Map<Long, List<LuckyGiftProbabilityDetails>> getLuckyGiftProbabilityDetails(
|
||||||
String sysOrigin) {
|
String sysOrigin) {
|
||||||
return Optional.ofNullable(
|
return Optional.ofNullable(
|
||||||
query().eq(LuckyGiftProbabilityDetails::getSysOrigin, sysOrigin).list())
|
query()
|
||||||
|
.eq(LuckyGiftProbabilityDetails::getSysOrigin, sysOrigin)
|
||||||
|
.eq(LuckyGiftProbabilityDetails::getDel, Boolean.FALSE)
|
||||||
|
.list())
|
||||||
.map(probabilityDetails ->
|
.map(probabilityDetails ->
|
||||||
probabilityDetails.stream().collect(
|
probabilityDetails.stream().collect(
|
||||||
Collectors.groupingBy(LuckyGiftProbabilityDetails::getProbabilityId)))
|
Collectors.groupingBy(LuckyGiftProbabilityDetails::getProbabilityId)))
|
||||||
@ -87,7 +91,10 @@ public class LuckyGiftProbabilityDetailsServiceImpl extends
|
|||||||
@Override
|
@Override
|
||||||
public List<LuckyGiftProbabilityDetails> getDetailByProbabilityId(Long probabilityId) {
|
public List<LuckyGiftProbabilityDetails> getDetailByProbabilityId(Long probabilityId) {
|
||||||
return Optional.ofNullable(
|
return Optional.ofNullable(
|
||||||
query().eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId).list()).orElse(
|
query()
|
||||||
|
.eq(LuckyGiftProbabilityDetails::getProbabilityId, probabilityId)
|
||||||
|
.eq(LuckyGiftProbabilityDetails::getDel, Boolean.FALSE)
|
||||||
|
.list()).orElse(
|
||||||
Lists.newArrayList());
|
Lists.newArrayList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,6 +33,7 @@ public class LuckyGiftProbabilityServiceImpl extends
|
|||||||
|
|
||||||
return query()
|
return query()
|
||||||
.eq(LuckyGiftProbability::getStandardId, standardId)
|
.eq(LuckyGiftProbability::getStandardId, standardId)
|
||||||
|
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||||
.last(PageConstant.formatLimit(5))
|
.last(PageConstant.formatLimit(5))
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
@ -43,13 +44,20 @@ public class LuckyGiftProbabilityServiceImpl extends
|
|||||||
return query()
|
return query()
|
||||||
.eq(LuckyGiftProbability::getGiftQuantity, quantity)
|
.eq(LuckyGiftProbability::getGiftQuantity, quantity)
|
||||||
.eq(LuckyGiftProbability::getStandardId, standardId)
|
.eq(LuckyGiftProbability::getStandardId, standardId)
|
||||||
|
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||||
.last(PageConstant.LIMIT_ONE)
|
.last(PageConstant.LIMIT_ONE)
|
||||||
.getOne();
|
.getOne();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Long, List<LuckyGiftProbability>> getLuckyGiftProbabilityMap(Set<Long> standardIds) {
|
public Map<Long, List<LuckyGiftProbability>> getLuckyGiftProbabilityMap(Set<Long> standardIds) {
|
||||||
return Optional.ofNullable(query().in(LuckyGiftProbability::getStandardId, standardIds).list())
|
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()
|
.map(probabilityList -> probabilityList.stream()
|
||||||
.collect(Collectors.groupingBy(LuckyGiftProbability::getStandardId)))
|
.collect(Collectors.groupingBy(LuckyGiftProbability::getStandardId)))
|
||||||
.orElse(Maps.newHashMap());
|
.orElse(Maps.newHashMap());
|
||||||
@ -58,7 +66,9 @@ public class LuckyGiftProbabilityServiceImpl extends
|
|||||||
@Override
|
@Override
|
||||||
public List<LuckyGiftProbability> getLuckyGiftProbabilityByStandardId(Long id) {
|
public List<LuckyGiftProbability> getLuckyGiftProbabilityByStandardId(Long id) {
|
||||||
return query()
|
return query()
|
||||||
.eq(Objects.nonNull(id), LuckyGiftProbability::getStandardId, id).list();
|
.eq(Objects.nonNull(id), LuckyGiftProbability::getStandardId, id)
|
||||||
|
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||||
|
.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -74,6 +84,7 @@ public class LuckyGiftProbabilityServiceImpl extends
|
|||||||
query.getSysOrigin())
|
query.getSysOrigin())
|
||||||
.eq(Objects.nonNull(query.getStandardId()), LuckyGiftProbability::getStandardId,
|
.eq(Objects.nonNull(query.getStandardId()), LuckyGiftProbability::getStandardId,
|
||||||
query.getStandardId())
|
query.getStandardId())
|
||||||
|
.eq(LuckyGiftProbability::getDel, Boolean.FALSE)
|
||||||
.orderByAsc(LuckyGiftProbability::getSort)
|
.orderByAsc(LuckyGiftProbability::getSort)
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -136,6 +136,8 @@ public interface GiftConfigService extends BaseService<GiftConfig> {
|
|||||||
|
|
||||||
List<GiftConfig> getLuckyGiftByStandardId(Long id, String name);
|
List<GiftConfig> getLuckyGiftByStandardId(Long id, String name);
|
||||||
|
|
||||||
|
Set<Long> listEffectiveLuckyGiftStandardIds(String sysOrigin);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取平台表白礼物.
|
* 获取平台表白礼物.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -286,6 +286,21 @@ public class GiftConfigServiceImpl extends BaseServiceImpl<GiftConfigDAO, GiftCo
|
|||||||
.orElse(Lists.newArrayList());
|
.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
|
@Override
|
||||||
public List<GiftConfig> listConfessionGifts(String sysOrigin) {
|
public List<GiftConfig> listConfessionGifts(String sysOrigin) {
|
||||||
return query()
|
return query()
|
||||||
|
|||||||
@ -82,8 +82,14 @@ public class GameLuckyGiftConfigClientServiceImpl implements GameLuckyGiftConfig
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<LuckyGiftStandardMapDTO> listProbability(String sysOrigin) {
|
public List<LuckyGiftStandardMapDTO> listProbability(String sysOrigin) {
|
||||||
|
Set<Long> activeStandardIds = giftConfigService.listEffectiveLuckyGiftStandardIds(sysOrigin);
|
||||||
|
if (CollectionUtils.isEmpty(activeStandardIds)) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
List<GameLuckyGiftStandardConfig> luckyGiftStandards = gameLuckyGiftStandardConfigService.getLuckyGiftStandard(
|
List<GameLuckyGiftStandardConfig> luckyGiftStandards = gameLuckyGiftStandardConfigService.getLuckyGiftStandard(
|
||||||
sysOrigin);
|
sysOrigin).stream()
|
||||||
|
.filter(luckyGiftStandard -> activeStandardIds.contains(luckyGiftStandard.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
if (CollectionUtils.isEmpty(luckyGiftStandards)) {
|
if (CollectionUtils.isEmpty(luckyGiftStandards)) {
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user