• 短信服务核心组件


    一、简介

    1.1 概述

    HZERO短信服务的核心组件,所有短信服务类型都需要添加的基础依赖

    1.2 组件坐标

    <dependency>
        <groupId>org.hzero.starter</groupId>
        <artifactId>hzero-starter-sms-core</artifactId>
        <version>${hzero.starter.version}</version>
    </dependency>
    

    1.3 开发指导

    1.3.2 短信服务抽象类

        /**
         * 短信发送方法
         *
         * @author shuangfei.zhu@hand-china.com 2019/12/18 16:54
         */
        public abstract class SmsService {
            /**
             * 获取服务类型
             *
             * @return 服务类型
             */
            public abstract String serverType();
        
            /**
             * 短信发送
             *
             * @param receiverAddressList 接收人地址
             * @param smsConfig           短信配置
             * @param message             消息内容
             * @param args                参数
             */
            public abstract void smsSend(List<SmsReceiver> receiverAddressList, SmsConfig smsConfig, SmsMessage message, Map<String, String> args);
        }
    

    1.4 自定义开发

    第一步

    添加HZERO短信服务核心组件依赖

    <dependency>
        <groupId>org.hzero.starter</groupId>
        <artifactId>hzero-starter-sms-core</artifactId>
        <version>${hzero.starter.version}</version>
    </dependency>
    

    添加需要添加自定义类型的SDK,例如阿里云

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
        <version>1.1.0</version>
    </dependency>
    

    第二步

    定义短信服务实现类

        /**
         * 获取服务类型
         *
         * @return 服务类型
         */
        public abstract String serverType();
    
        /**
         * 短信发送
         *
         * @param receiverAddressList 接收人地址
         * @param smsConfig           短信配置
         * @param message             消息内容
         * @param args                参数
         */
        public abstract void smsSend(List<SmsReceiver> receiverAddressList, SmsConfig smsConfig, SmsMessage message, Map<String, String> args);
    
    
        @Component
        public class AliyunSmsServiceImpl extends SmsService {
        
            @Override
            public String serverType() {
                // 自定义服务类型,与值集HMSG.SMS_SERVER_TYPE的值对应
                return "ALIYUN";
            }
        
            @Override
            public void smsSend(List<SmsReceiver> receiverAddressList, SmsConfig smsConfig, SmsMessage message, Map<String, String> args) {
               
            }
        }