From fa02450c56d09eb7026cae8f501d9a0181fe7ce3 Mon Sep 17 00:00:00 2001 From: baolin Date: Sun, 10 Aug 2025 11:04:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=85=BE=E8=AE=AF=E4=BA=91=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=B2=A1=E6=9C=89logId=20=E6=A0=B9=E6=8D=AEs?= =?UTF-8?q?erialNo=E6=9F=A5=E8=AF=A2id=E6=9D=A5=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/sms/SmsLogServiceImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceImpl.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceImpl.java index 8285f5b94..be661c995 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceImpl.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceImpl.java @@ -1,6 +1,5 @@ package cn.iocoder.yudao.module.system.service.sms; -import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsLogDO; @@ -8,11 +7,11 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO; import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsLogMapper; import cn.iocoder.yudao.module.system.enums.sms.SmsReceiveStatusEnum; import cn.iocoder.yudao.module.system.enums.sms.SmsSendStatusEnum; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; + import java.time.LocalDateTime; import java.util.Map; import java.util.Objects; @@ -69,13 +68,16 @@ public class SmsLogServiceImpl implements SmsLogService { String apiReceiveCode, String apiReceiveMsg) { SmsReceiveStatusEnum receiveStatus = Objects.equals(success, true) ? SmsReceiveStatusEnum.SUCCESS : SmsReceiveStatusEnum.FAILURE; - smsLogMapper.update(new LambdaUpdateWrapper() - .set(SmsLogDO::getReceiveStatus, receiveStatus.getStatus()) - .set(SmsLogDO::getReceiveTime, receiveTime) - .set(SmsLogDO::getApiReceiveCode, apiReceiveCode) - .set(SmsLogDO::getApiReceiveMsg, apiReceiveMsg) - .eq(id != null && id > 0, SmsLogDO::getId, id) - .eq(!StrUtil.isEmptyIfStr(serialNo), SmsLogDO::getApiSerialNo, serialNo)); + Long logId = id; + if (logId == null || logId == 0) { + SmsLogDO log = smsLogMapper.selectOne(SmsLogDO::getApiSerialNo, serialNo); + if (log == null) { // 这里查不到,有可能短信不是在本系统发送,故不抛异常 + return; + } + logId = log.getId(); + } + smsLogMapper.updateById(SmsLogDO.builder().id(logId).receiveStatus(receiveStatus.getStatus()) + .receiveTime(receiveTime).apiReceiveCode(apiReceiveCode).apiReceiveMsg(apiReceiveMsg).build()); } @Override