package com.mydreamjob.auth.sms; import com.mydreamjob.common.exception.BusinessException; import com.mydreamjob.common.exception.ErrorCode; /** * 不可用短信发送实现。 * *

由 {@link SmsSenderConfiguration} 在 {@code app.sms.mock.enabled} 为 false、缺失、 * 空值、仅空白或其他非法值时装配(不再使用条件注解,以保证任何取值下恰好一个 Bean)。

* *

未显式启用真实短信网关或 Mock 时,本实现安全失败: * 抛出既有的“服务不可用”业务异常,绝不返回虚假的“发送成功”。 * 异常消息为固定安全文本,不含手机号、验证码或任何配置细节。

*/ public class UnavailableSmsCodeSender implements SmsCodeSender { /** 固定安全文本:不含手机号、验证码、Token、内网地址或配置项。 */ static final String SAFE_MESSAGE = "sms sender unavailable"; @Override public void sendVerificationCode(String phone, String purpose, String code) { throw new BusinessException(ErrorCode.SERVICE_UNAVAILABLE, SAFE_MESSAGE); } }