123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /**
- * Copyright (c) 2018 业主系统 All rights reserved.
- *
- * https://www.yezhu.io
- *
- * 版权所有,侵权必究!
- */
- package com.kioor.common.sms;
- import cn.hutool.core.map.MapUtil;
- import com.github.qcloudsms.SmsSingleSender;
- import com.github.qcloudsms.SmsSingleSenderResult;
- import com.kioor.common.constant.Constant;
- import com.kioor.common.exception.ErrorCode;
- import com.kioor.common.exception.RenException;
- import com.kioor.common.service.SysSmsLogService;
- import com.kioor.common.utils.SpringContextUtils;
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- /**
- * 腾讯云短信服务
- *
- * @author Mark sunlightcs@gmail.com
- */
- public class QcloudSmsService extends AbstractSmsService {
- public QcloudSmsService(SmsConfig config){
- this.config = config;
- }
- @Override
- public void sendSms(String smsCode, String mobile, LinkedHashMap<String, String> params) {
- this.sendSms(smsCode, mobile, params, config.getQcloudSignName(), config.getQcloudTemplateId());
- }
- @Override
- public void sendSms(String smsCode, String mobile, LinkedHashMap<String, String> params, String signName, String template) {
- SmsSingleSender sender = new SmsSingleSender(config.getQcloudAppId(), config.getQcloudAppKey());
- //短信参数
- ArrayList<String> paramsList = new ArrayList<>();
- if(MapUtil.isNotEmpty(params)){
- for(String value : params.values()){
- paramsList.add(value);
- }
- }
- SmsSingleSenderResult result;
- try {
- result = sender.sendWithParam("86", mobile, Integer.parseInt(template), paramsList, signName, null, null);
- } catch (Exception e) {
- throw new RenException(ErrorCode.SEND_SMS_ERROR, e, "");
- }
- int status = Constant.SUCCESS;
- if(result.result != 0){
- status = Constant.FAIL;
- }
- //保存短信记录
- SysSmsLogService sysSmsLogService = SpringContextUtils.getBean(SysSmsLogService.class);
- sysSmsLogService.save(smsCode, Constant.SmsService.QCLOUD.getValue(), mobile, params, status);
- if(status == Constant.FAIL){
- throw new RenException(ErrorCode.SEND_SMS_ERROR, result.errMsg);
- }
- }
- }
|