diff --git a/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java b/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java index 5fc4afef..8ffff170 100644 --- a/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java +++ b/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java @@ -181,20 +181,26 @@ public class SmsServiceImpl extends DefaultBaseService implements ISmsService { /** * 发送短信 + * 如果用户设置手机号,并且手机号格式正确,用手机号发送,如果格式错误,判断用户名 + * 如果用户名格式为手机号,用用户名发送,否则不发送短信 * * @param userDTOs */ private void sendSms(List userDTOs, SmsSendBaseVO smsSendBaseVO) { userDTOs.forEach(userDTO -> { - if (StringUtils.isBlank(userDTO.getUserPhone())) { - LOG.info("用户 {}:{} 手机号为空", userDTO.getUserId(), userDTO.getUserUsername()); + if (!StringUtils.isBlank(userDTO.getUserPhone())) { + if (RegexUtil.isPhone(userDTO.getUserPhone())) { + LOG.info("用户:{}:{} 使用手机号发送短信", userDTO.getUserId(), userDTO.getUserUsername()); + sendContentByUserIdAndPhoneAndUserName(userDTO.getUserId(), userDTO.getUserPhone(), userDTO.getUserName(), smsSendBaseVO.getContent()); + return; + } + } + if (RegexUtil.isPhone(userDTO.getUserUsername())) { + LOG.info("用户:{}:{} 使用用户名发送短信", userDTO.getUserId(), userDTO.getUserUsername()); + sendContentByUserIdAndPhoneAndUserName(userDTO.getUserId(), userDTO.getUserUsername(), userDTO.getUserName(), smsSendBaseVO.getContent()); return; } - if (!RegexUtil.isPhone(userDTO.getUserPhone())) { - LOG.info("用户 {}:{} 手机号格式错误", userDTO.getUserId(), userDTO.getUserUsername()); - return; - } - sendContentByUserIdAndPhoneAndUserName(userDTO.getUserId(), userDTO.getUserPhone(), userDTO.getUserName(), smsSendBaseVO.getContent()); + LOG.info("用户:{}:{} 手机号、用户名均不是手机号", userDTO.getUserId(), userDTO.getUserUsername()); }); }