package com.huimv.employment.integration.sms;

/**
 * 短信发送接口，Mock 与真实服务商实现可切换。
 * <p>
 * 实现类：
 * <ul>
 *   <li>{@link MockSmsSender} — mock-enabled=true 时使用</li>
 *   <li>{@link AliyunSmsSender} — mock-enabled=false 时使用</li>
 * </ul>
 * 由 {@link SmsAutoConfiguration} 根据配置自动注册其中一个 Bean。
 * </p>
 */
public interface SmsSender {

    /**
     * 发送登录验证码短信。
     *
     * @param mobile 接收手机号（明文，仅传递给短信通道）
     * @param code   验证码内容，由业务层生成
     * @throws com.huimv.employment.common.exception.BizException 发送失败时抛出（阿里云实现）
     */
    void sendLoginCode(String mobile, String code);
}
