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