From ecae82b5071e34074298281366466bb62ae890b6 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 4 Sep 2025 16:45:12 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=B9=BF=E5=91=8A=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=B9=BF=E5=91=8A=E4=BD=8D=E7=BD=AE=E7=BB=84?= =?UTF-8?q?=E5=90=88=E6=9F=A5=E8=AF=A2=E4=BF=AE=E5=A4=8D=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E7=9F=AD=E4=BF=A1ip/=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E9=99=90=E5=88=B6zset=E8=AE=BE=E7=BD=AEttl=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../funds/advertisement/AdvertisementMapper.java | 13 +++++++------ .../system/service/sms/SmsCodeServiceImpl.java | 3 +++ .../funds/advertisement/AdvertisementMapper.xml | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java index dbacd87eb..b12341624 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/advertisement/AdvertisementMapper.java @@ -25,17 +25,18 @@ public interface AdvertisementMapper extends BaseMapperX { default PageResult selectPage(AdvertisementPageReqVO reqVO) { - List adPosition = reqVO.getAdPosition(); - String adPositionStr = null; - if(CollUtil.isNotEmpty(adPosition)) { - adPositionStr = CollUtil.join(adPosition.stream().sorted().distinct().toList(), ","); - } LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX() .likeIfPresent(AdvertisementDO::getAdName, reqVO.getAdName()) - .likeIfPresent(AdvertisementDO::getAdPosition, adPositionStr) .eqIfPresent(AdvertisementDO::getStatus, reqVO.getStatus()) .eqIfPresent(AdvertisementDO::getDeleted, false); + List adPosition = reqVO.getAdPosition(); + if (CollUtil.isNotEmpty(adPosition)) { + queryWrapper.and(wrapper -> { + adPosition.stream().distinct().forEach(pos -> wrapper.or().apply("FIND_IN_SET({0}, ad_position)", pos)); + }); + } + return selectPage(reqVO, queryWrapper); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsCodeServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsCodeServiceImpl.java index ee4f666bb..a7911b1ef 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsCodeServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsCodeServiceImpl.java @@ -29,6 +29,7 @@ import jakarta.annotation.Resource; import java.time.Duration; import java.time.LocalDateTime; import java.util.HashMap; +import java.util.concurrent.TimeUnit; import static cn.hutool.core.util.RandomUtil.randomInt; @@ -163,6 +164,8 @@ public class SmsCodeServiceImpl implements SmsCodeService { // 窗口足够添加当前请求的时间戳 redisTemplate.opsForZSet().add(key, currentTime, currentTime); + // 设置过期时间 = 窗口大小 + 30分钟缓冲 + redisTemplate.expire(key, winSizeMin + 30, TimeUnit.MINUTES); return true; } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/advertisement/AdvertisementMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/advertisement/AdvertisementMapper.xml index 9100a097d..b87e10537 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/advertisement/AdvertisementMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/advertisement/AdvertisementMapper.xml @@ -35,7 +35,7 @@ ad_redirect_url from advertisement where deleted = false - and ad_position like concat('%', #{adPosition},'%') + and find_in_set (#{adPosition}, ad_position) and status = #{status} and start_time <= #{now} and end_time >= #{now}