From b2938a17bf2436e7cb77dda0d20017cf729c23f7 Mon Sep 17 00:00:00 2001 From: ZuoZuo <68836346+Mrz-sakura@users.noreply.github.com> Date: Wed, 15 Apr 2026 12:27:53 +0800 Subject: [PATCH] fix banner country matching --- .../sys/impl/BannerConfigServiceImpl.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) 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