diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/sys/impl/BannerConfigServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/sys/impl/BannerConfigServiceImpl.java index fa4c061..7e513f7 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/sys/impl/BannerConfigServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/sys/impl/BannerConfigServiceImpl.java @@ -29,20 +29,20 @@ public class BannerConfigServiceImpl extends BaseServiceImpl implements BannerConfigService { @Override - public List listEffective(String sysOrigin, String platform, String countryCode, List 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 listEffective(String sysOrigin, String platform, String countryCode, List 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