Bladeren bron

sms-util 抽离

lyhzzz 3 jaren geleden
bovenliggende
commit
576c861f26

+ 6 - 0
4dkankan-center-platform/pom.xml

@@ -41,6 +41,12 @@
 
       <dependency>
           <groupId>com.fdkankan</groupId>
+          <artifactId>4dkankan-utils-sms</artifactId>
+          <version>2.0.0</version>
+      </dependency>
+
+      <dependency>
+          <groupId>com.fdkankan</groupId>
           <artifactId>4dkankan-pay</artifactId>
           <version>2.0.0</version>
       </dependency>

+ 9 - 9
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/service/impl/AgentServiceImpl.java

@@ -4,7 +4,15 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.config.RedisDefaultConfig;
+import com.fdkankan.common.constant.ConstantFilePath;
+import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.LoginType;
+import com.fdkankan.common.constant.ServerCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.JwtUtil;
+import com.fdkankan.common.util.PasswordUtils;
+import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.platform.agent.entity.Agent;
 import com.fdkankan.platform.agent.mapper.IAgentMapper;
 import com.fdkankan.platform.agent.request.RequestAgent;
@@ -14,20 +22,12 @@ import com.fdkankan.platform.agent.vo.AgentDetailTotalAmount;
 import com.fdkankan.platform.agent.vo.AgentTotalAmountVo;
 import com.fdkankan.platform.agent.vo.AgentVo;
 import com.fdkankan.platform.agent.vo.ResponseAgentCamera;
-import com.fdkankan.common.constant.ConstantFilePath;
-import com.fdkankan.common.util.PasswordUtils;
-import com.fdkankan.common.util.SsoUtil;
-import com.fdkankan.platform.common.DefaultConfig;
 import com.fdkankan.platform.goods.entity.Camera;
 import com.fdkankan.platform.goods.entity.CameraDetail;
 import com.fdkankan.platform.goods.service.ICameraDetailService;
 import com.fdkankan.platform.goods.service.ICameraService;
 import com.fdkankan.platform.order.service.IVirtualOrderService;
 import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.constant.ServerCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.util.JwtUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -83,7 +83,7 @@ public class AgentServiceImpl extends ServiceImpl<IAgentMapper, Agent> implement
         }
         String key = SsoUtil.PREFIX_CACHE_AGENT + agent.getAgentId();
         String token = JwtUtil.createJWT(-1, key, LoginType.AGENT.name());
-        redisUtil.set(key,token, DefaultConfig.USER_EXPIRE_TIME);
+        redisUtil.set(key,token, RedisDefaultConfig.USER_EXPIRE_TIME);
         JSONObject obj = new JSONObject();
         obj.put("token", token);
         return obj;

+ 0 - 28
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/common/SSOLoginHelper.java

@@ -1,28 +0,0 @@
-//package com.fdkankan.user.common;
-//
-//import com.fdkankan.user.entity.SSOUser;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Component;
-//
-//@Component
-//public class SSOLoginHelper {
-//    @Autowired
-//    private SSOLoginStore ssoLoginStore;
-//    public  SSOUser loginCheck(String sessionId) {
-//        if (sessionId != null && sessionId.trim().length() > 0) {
-//            SSOUser ssoUser = ssoLoginStore.get(sessionId);
-//            if (ssoUser != null) {
-//                return ssoUser;
-//            }
-//        }
-//        return null;
-//    }
-//
-//    public void login(String token, SSOUser ssoUser) {
-//        ssoLoginStore.put(token, ssoUser);
-//    }
-//
-//    public  void logout(String sessionId) {
-//        ssoLoginStore.remove(sessionId);
-//    }
-//}

+ 0 - 57
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/common/SSOLoginStore.java

@@ -1,57 +0,0 @@
-//package com.fdkankan.user.common;
-//
-//import com.alibaba.fastjson.JSONObject;
-//import com.fdkankan.common.util.SsoUtil;
-//import com.fdkankan.user.entity.SSOUser;
-//import org.springframework.data.redis.core.RedisTemplate;
-//import org.springframework.stereotype.Component;
-//
-//import javax.annotation.Resource;
-//import java.util.concurrent.TimeUnit;
-//
-//@Component
-//public class SSOLoginStore {
-//
-//    @Resource
-//    private RedisTemplate<String,String> redisTemplate;
-//    /**
-//     * get
-//     *
-//     * @param sessionId
-//     * @return
-//     */
-//    public  SSOUser get(String sessionId) {
-//
-//        String redisKey = redisKey(sessionId);
-//        String objectValue = redisTemplate.opsForValue().get(redisKey);
-//        if (objectValue != null) {
-//            return JSONObject.parseObject(objectValue, SSOUser.class);
-//        }
-//        return null;
-//    }
-//
-//    /**
-//     * remove
-//     *
-//     * @param sessionId
-//     */
-//    public  void remove(String sessionId) {
-//        String redisKey = redisKey(sessionId);
-//        redisTemplate.delete(redisKey);
-//    }
-//
-//    /**
-//     * put
-//     *
-//     * @param sessionId
-//     * @param ssoUser
-//     */
-//    public  void put(String sessionId, SSOUser ssoUser) {
-//        String redisKey = redisKey(sessionId);
-//        redisTemplate.opsForValue().set(redisKey, JSONObject.toJSONString(ssoUser), 216000, TimeUnit.SECONDS);
-//    }
-//
-//    private static String redisKey(String sessionId){
-//        return SsoUtil.SSO_SESSIONID.concat("#").concat(sessionId);
-//    }
-//}

+ 6 - 9
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/sso/AppService.java

@@ -1,12 +1,14 @@
 package com.fdkankan.platform.user.service.sso;
 
+import com.fdkankan.common.config.RedisDefaultConfig;
 import com.fdkankan.common.constant.*;
+import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.user.SSOUser;
+import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.common.util.RandomUtil;
 import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.common.validation.Variable;
-import com.fdkankan.platform.common.DefaultConfig;
 import com.fdkankan.platform.goods.entity.Camera;
 import com.fdkankan.platform.goods.entity.CameraDetail;
 import com.fdkankan.platform.goods.service.ICameraDetailService;
@@ -16,11 +18,6 @@ import com.fdkankan.platform.user.request.RequestUser;
 import com.fdkankan.platform.user.service.IUserService;
 import com.fdkankan.platform.user.vo.ResponseUser;
 import com.fdkankan.platform.user.vo.SSOUserVo;
-import com.fdkankan.common.constant.CameraConstant;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.constant.ServerCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.util.JwtUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -62,7 +59,7 @@ public class AppService {
         if (entity == null ){
             throw new BusinessException(AppConstant.FAILURE_CODE_4012, AppConstant.FAILURE_MSG_4012);
         }
-        redisTemplate.opsForValue().set(user.getUuid(),user.getAppUserName(), DefaultConfig.DEFAULT_EXPIRE_TIME, DefaultConfig.DEFAULT_TIME_UNIT);
+        redisTemplate.opsForValue().set(user.getUuid(),user.getAppUserName(), RedisDefaultConfig.DEFAULT_EXPIRE_TIME, RedisDefaultConfig.DEFAULT_TIME_UNIT);
         return ServerCode.SUCCESS.message();
     }
 
@@ -76,7 +73,7 @@ public class AppService {
         }
         String token = JwtUtil.createJWT(-1, cameraEntity.getChildName(), LoginType.APP.name());
         String key = SsoUtil.PREFIX_CACHE_CAMERA + cameraEntity.getChildName();
-        redisTemplate.opsForValue().set(key, token, DefaultConfig.CAMERA_EXPIRE_TIME,DefaultConfig.DEFAULT_TIME_UNIT);
+        redisTemplate.opsForValue().set(key, token, RedisDefaultConfig.CAMERA_EXPIRE_TIME,RedisDefaultConfig.DEFAULT_TIME_UNIT);
         HashMap<String,String> obj = new HashMap<>();
         obj.put("token", token);
         return obj;
@@ -108,7 +105,7 @@ public class AppService {
     private SSOUserVo setRedisToken(SSOUser ssoUser,User userEntity,Integer CameraType){
         String key = SsoUtil.PREFIX_CACHE_CAMERA + ssoUser.getUserName();
         String token = JwtUtil.createJWT(-1, ssoUser.getUserName(),LoginType.APP.name());
-        redisTemplate.opsForValue().set(key, token, DefaultConfig.USER_EXPIRE_TIME,DefaultConfig.DEFAULT_TIME_UNIT);
+        redisTemplate.opsForValue().set(key, token, RedisDefaultConfig.USER_EXPIRE_TIME,RedisDefaultConfig.DEFAULT_TIME_UNIT);
         Integer cameraType = CameraType == null ? 4 : CameraType;
         return userService.getUserInfoByUser(cameraType, userEntity, token);
     }

+ 2 - 2
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/sso/MsgService.java

@@ -1,7 +1,7 @@
 package com.fdkankan.platform.user.service.sso;
 
-import com.fdkankan.common.sms.SendMailAcceUtils;
-import com.fdkankan.common.sms.SmsService;
+import com.fdkankan.sms.SendMailAcceUtils;
+import com.fdkankan.sms.SmsService;
 import com.fdkankan.common.util.PatternUtils;
 import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.platform.user.entity.User;

+ 3 - 3
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/sso/SsoManagerService.java

@@ -2,15 +2,15 @@ package com.fdkankan.platform.user.service.sso;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.config.RedisDefaultConfig;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.LoginType;
 import com.fdkankan.common.constant.ServerCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.Base64Converter;
+import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.common.util.PasswordUtils;
 import com.fdkankan.common.util.SsoUtil;
-import com.fdkankan.common.util.JwtUtil;
-import com.fdkankan.platform.common.DefaultConfig;
 import com.fdkankan.platform.order.entity.SpaceSdk;
 import com.fdkankan.platform.order.service.ISpaceSdkService;
 import com.fdkankan.platform.user.entity.Manager;
@@ -67,7 +67,7 @@ public class SsoManagerService {
         }
         String key = SsoUtil.PREFIX_CACHE_MANAGER + managerEntity.getUserName();
         String token = JwtUtil.createJWT(-1, key, LoginType.MANAGER.name());
-        redisTemplate.opsForValue().set(key, token, DefaultConfig.USER_EXPIRE_TIME,DefaultConfig.DEFAULT_TIME_UNIT);
+        redisTemplate.opsForValue().set(key, token, RedisDefaultConfig.USER_EXPIRE_TIME,RedisDefaultConfig.DEFAULT_TIME_UNIT);
         JSONObject obj = new JSONObject();
         obj.put("token", token);
         return obj;

+ 0 - 34
4dkankan-common/pom.xml

@@ -59,27 +59,10 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.bytedeco</groupId>
-            <artifactId>javacv-platform</artifactId>
-            <version>1.4.3</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.shiro</groupId>
             <artifactId>shiro-spring</artifactId>
         </dependency>
 
-
-        <dependency>
-            <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk</artifactId>
-            <version>1.11.327</version>
-        </dependency>
-
-
         <dependency>
             <groupId>net.coobird</groupId>
             <artifactId>thumbnailator</artifactId>
@@ -93,23 +76,6 @@
         </dependency>
 
         <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
-            <version>1.1.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk</artifactId>
-            <version>1.11.327</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>javax.mail</artifactId>
-            <version>1.5.4</version>
-        </dependency>
-
-        <dependency>
             <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-utils-redis</artifactId>
             <version>2.0.0</version>

+ 2 - 2
4dkankan-center-platform/src/main/java/com/fdkankan/platform/common/DefaultConfig.java

@@ -1,8 +1,8 @@
-package com.fdkankan.platform.common;
+package com.fdkankan.common.config;
 
 import java.util.concurrent.TimeUnit;
 
-public class DefaultConfig {
+public class RedisDefaultConfig {
     public static final int DEFAULT_EXPIRE_TIME = 7200;  // redis默认过期时间,单位/秒, 60*60*2=2H, 两小时
     public static final TimeUnit DEFAULT_TIME_UNIT = TimeUnit.SECONDS; //redis默认过期时间单位
     public static final int CAMERA_EXPIRE_TIME = 604800;  // 相机登陆7天有效期

File diff suppressed because it is too large
+ 0 - 271
4dkankan-common/src/main/java/com/fdkankan/common/sms/SendMailAcceUtils.java


+ 0 - 228
4dkankan-common/src/main/java/com/fdkankan/common/sms/SmsService.java

@@ -1,228 +0,0 @@
-package com.fdkankan.common.sms;
-
-import com.alibaba.fastjson.JSONObject;
-import com.aliyuncs.DefaultAcsClient;
-import com.aliyuncs.IAcsClient;
-import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
-import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
-import com.aliyuncs.exceptions.ClientException;
-import com.aliyuncs.exceptions.ServerException;
-import com.aliyuncs.http.MethodType;
-import com.aliyuncs.profile.DefaultProfile;
-import com.aliyuncs.profile.IClientProfile;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.services.sns.AmazonSNS;
-import com.amazonaws.services.sns.AmazonSNSClientBuilder;
-import com.amazonaws.services.sns.model.MessageAttributeValue;
-import com.amazonaws.services.sns.model.PublishRequest;
-import com.amazonaws.services.sns.model.PublishResult;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@Component
-public class SmsService {
-
-    private static Logger log = LoggerFactory.getLogger("programLog");
-
-    //初始化ascClient需要的几个参数
-    private static final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
-    private static final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
-    private static final String accessKeyId = "LTAIUrvuHqj8pvry";//你的accessKeyId,参考本文档步骤2
-    private static final String accessKeySecret = "JLOVl0k8Ke0aaM8nLMMiUAZ3EiiqI4";//你的accessKeySecret,参考本文档步骤2
-
-    private static final String EN_CODE_MSG = "Your vertification code is ${code}. Thank you for using 4DKanKan, please complete your identity verification by entering this code in 5 minutes. Please ignore this message if you don't operate by yourself.";
-
-
-    @Value("${phone.sign:四维看看}")
-    private String sign;
-
-    public String sendSms(String phoneNum, String templateParam, String templateCode) throws Exception {
-        log.info("cnCode:" + templateCode);
-        log.info("templateParam:" + templateParam);
-        log.info("sign:" + sign);
-        log.info("sign:" + new String(sign.getBytes("ISO-8859-1"),"utf-8"));
-        // 可自助调整超时时间
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
-        String result = null;
-        try {
-            // 初始化acsClient,暂不支持region化
-            IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
-            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
-            IAcsClient acsClient = new DefaultAcsClient(profile);
-
-            // 组装请求对象-具体描述见控制台-文档部分内容
-            SendSmsRequest request = new SendSmsRequest();
-
-            // 必填:待发送手机号
-            request.setPhoneNumbers(phoneNum);
-            // 必填:短信签名-可在短信控制台中找到
-            request.setSignName(new String(sign.getBytes("ISO-8859-1"),"utf-8"));
-            // 必填:短信模板-可在短信控制台中找到
-            request.setTemplateCode(templateCode);
-
-            // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
-            request.setTemplateParam(templateParam);
-
-            // 选填-上行短信扩展码(无特殊需求用户请忽略此字段)
-            // request.setSmsUpExtendCode("90997");
-
-            // 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
-            // request.setOutId("yourOutId");
-
-            // hint 此处可能会抛出异常,注意catch
-            SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
-            if (sendSmsResponse != null
-                    && !StringUtils.isEmpty(sendSmsResponse.getCode())){
-
-                if("OK".equals(sendSmsResponse.getCode())){
-                    log.debug("阿里云短信发送成功");
-                }else {
-                    log.debug("阿里云短信发送失败:" + sendSmsResponse.getCode());
-                    log.debug("阿里云短信发送失败原因:" + sendSmsResponse.getMessage());
-                }
-                result = sendSmsResponse.getCode();
-            }
-        }catch (ClientException e){
-            log.error("阿里云短信发送失败:" + e);
-        }
-        return result;
-    }
-
-
-    public boolean sendBuildFailSms(String name, String scene,String userPhone) throws Exception{
-
-        //设置超时时间-可自行调整
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
-        //初始化ascClient需要的几个参数
-        final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
-        final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
-        //替换成你的AK
-        final String accessKeyId = "LTAIUrvuHqj8pvry";//你的accessKeyId,参考本文档步骤2
-        final String accessKeySecret = "JLOVl0k8Ke0aaM8nLMMiUAZ3EiiqI4";//你的accessKeySecret,参考本文档步骤2
-        //初始化ascClient,暂时不支持多region
-        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
-                accessKeySecret);
-        try {
-            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
-        } catch (ClientException e1) {
-            // TODO Auto-generated catch block
-            e1.printStackTrace();
-        }
-        IAcsClient acsClient = new DefaultAcsClient(profile);
-        //组装请求对象
-        SendSmsRequest request = new SendSmsRequest();
-        //使用post提交
-        request.setMethod(MethodType.POST);
-        //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
-        request.setPhoneNumbers(userPhone);
-        //必填:短信签名-可在短信控制台中找到
-        request.setSignName(new String(sign.getBytes("ISO-8859-1"),"utf-8"));
-        //必填:短信模板-可在短信控制台中找到
-        request.setTemplateCode("SMS_199808901");
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("name", name);
-        jsonObject.put("scene", scene);
-        request.setTemplateParam(jsonObject.toJSONString());
-
-        SendSmsResponse sendSmsResponse = null;
-        try {
-            sendSmsResponse = acsClient.getAcsResponse(request);
-        } catch (ServerException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        } catch (ClientException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-            //System.out.println("向阿里请求发短信失败");
-            log.error("sendSms:向阿里请求发短信失败");
-        }
-        if(sendSmsResponse == null)
-        {
-            log.error("sendSms:向阿里请求发短信失败");
-        }
-        if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
-            //请求成功
-            //System.out.println("向阿里请求发短信成功");
-            log.info("sendSms:向阿里请求发短信成功");
-            return true;
-
-        }else {
-            log.debug("阿里云短信发送失败:" + sendSmsResponse.getCode());
-            log.debug("阿里云短信发送失败原因:" + sendSmsResponse.getMessage());
-        }
-        return false;
-    }
-
-
-    //aws短信
-    private Map<String, MessageAttributeValue> smsAttributes;
-
-
-    public Map<String, MessageAttributeValue> getDefaultSMSAttributes() {
-        if (smsAttributes == null) {
-            smsAttributes = new HashMap<>();
-            smsAttributes.put("AWS.SNS.SMS.SenderID", new MessageAttributeValue()
-                    .withStringValue("4dkankan")
-                    .withDataType("String"));
-            smsAttributes.put("AWS.SNS.SMS.MaxPrice", new MessageAttributeValue()
-                    .withStringValue("1.05")
-                    .withDataType("Number"));
-            smsAttributes.put("AWS.SNS.SMS.SMSType", new MessageAttributeValue()
-                    .withStringValue("Transactional")
-                    .withDataType("String"));
-        }
-        return smsAttributes;
-    }
-
-    public PublishResult sendSMSMessage(String phoneNumber, String message) {
-        return sendSMSMessage(phoneNumber, message, getDefaultSMSAttributes());
-    }
-
-    public PublishResult sendSMSMessage(String phoneNumber, String message, Map<String, MessageAttributeValue> smsAttributes) {
-        AWSCredentials awsCredentials = new AWSCredentials() {
-            @Override
-            public String getAWSAccessKeyId() {
-                return "AKIAWCV5QFZ3ZQS7LBNL"; // 带有发短信权限的 IAM 的 ACCESS_KEY
-            }
-
-            @Override
-            public String getAWSSecretKey() {
-                return "NDzNp/5tqypSxxyPkkoixeJntn5W6dq0cLYV2FUH"; // 带有发短信权限的 IAM 的 SECRET_KEY
-            }
-        };
-        AWSCredentialsProvider provider = new AWSCredentialsProvider() {
-            @Override
-            public AWSCredentials getCredentials() {
-                return awsCredentials;
-            }
-
-            @Override
-            public void refresh() {
-            }
-        };
-        AmazonSNS amazonSNS = null;
-        try {
-            amazonSNS = AmazonSNSClientBuilder.standard().withCredentials(provider).withRegion("eu-central-1").build();
-        } catch (Exception e) {
-
-        }
-        return amazonSNS.publish(
-                new PublishRequest()
-                        .withMessage(EN_CODE_MSG.replace("${code}", message))
-                        .withPhoneNumber(phoneNumber)
-                        .withMessageAttributes(smsAttributes)
-        );
-    }
-
-
-
-}