fix banner country matching

This commit is contained in:
ZuoZuo 2026-04-15 12:27:53 +08:00
parent 73bde889a4
commit b2938a17bf

View File

@ -29,20 +29,20 @@ public class BannerConfigServiceImpl extends
BaseServiceImpl<BannerConfigDAO, BannerConfig> implements BannerConfigService {
@Override
public List<BannerConfig> listEffective(String sysOrigin, String platform, String countryCode, List<String> types) {
return query()
.eq(BannerConfig::getSysOrigin, sysOrigin)
.in(CollectionUtils.isNotEmpty(types),BannerConfig::getType, types)
.and(StringUtils.isNotBlank(platform), wrapper ->
wrapper.in(BannerConfig::getPlatform, "", platform)
)
.and(StringUtils.isNotBlank(countryCode), wrapper ->
wrapper.in(BannerConfig::getCountryCode, "", countryCode)
)
.gt(BannerConfig::getExpiredTime, LocalDateTime.now())
.eq(BannerConfig::getShowcase, Boolean.TRUE)
.orderByDesc(BannerConfig::getSort)
.last(PageConstant.MAX_LIMIT).list();
public List<BannerConfig> listEffective(String sysOrigin, String platform, String countryCode, List<String> types) {
return query()
.eq(BannerConfig::getSysOrigin, sysOrigin)
.in(CollectionUtils.isNotEmpty(types),BannerConfig::getType, types)
.and(StringUtils.isNotBlank(platform), wrapper ->
wrapper.in(BannerConfig::getPlatform, "", platform)
)
.and(StringUtils.isNotBlank(countryCode), wrapper ->
wrapper.apply("(country_code = '' OR FIND_IN_SET({0}, country_code))", countryCode)
)
.gt(BannerConfig::getExpiredTime, LocalDateTime.now())
.eq(BannerConfig::getShowcase, Boolean.TRUE)
.orderByDesc(BannerConfig::getSort)
.last(PageConstant.MAX_LIMIT).list();
}
@Override