阿里云短信api和pom.xml添加依赖,发送短信验证码增加验证码接口

pull/1/head
ljt 2 years ago
parent ce85f7540f
commit 06c63d0caf

@ -55,6 +55,18 @@
<artifactId>jyjz-framework-security</artifactId>
</dependency>
<!-- 阿里云短信依赖 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.16</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.1.0</version>
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>

@ -2,7 +2,6 @@ package cn.jyjz.xiaoyao.framework.security.service.impl;
import cn.hutool.core.util.RandomUtil;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
import cn.jyjz.xiaoyao.common.base.constant.RequestParameterConstans;
import cn.jyjz.xiaoyao.common.base.service.UserTokenOnlineService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.validator.PhoneNumberValidator;
@ -14,10 +13,10 @@ import cn.jyjz.xiaoyao.common.redis.cache.constants.CacheConstants;
import cn.jyjz.xiaoyao.framework.security.authentication.sms.SmsProvider;
import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel;
import cn.jyjz.xiaoyao.framework.security.service.SmsLoginService;
import cn.jyjz.xiaoyao.framework.security.sms.MsmService;
import cn.jyjz.xiaoyao.framework.security.utils.JwtUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
@ -26,6 +25,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.regex.Matcher;
@ -46,6 +47,9 @@ public class SmsLoginServiceImpl implements SmsLoginService {
private SmsProvider smsProvider;
@Resource
private XiaoyaoConfig xiaoyaoConfig;
@Resource
private MsmService msmservice;
@Override
public ResultVo sendCode(String phone) {
//校验手机号
@ -55,8 +59,12 @@ public class SmsLoginServiceImpl implements SmsLoginService {
}
//生成验证码
String code = RandomUtil.randomNumbers(6);
//TODO 发送短信
Map<String,Object> map=new HashMap<>();
map.put("code",code);
msmservice.send(map,phone);
//用户登录信息写入缓存
iCacheManager.put(CacheConstants.USER_PHONE_MODEL_NAME,phone,code,CacheConstants.CACHE_TIME);

@ -0,0 +1,8 @@
package cn.jyjz.xiaoyao.framework.security.sms;
import java.util.Map;
public interface MsmService {
//发送验证码
boolean send(Map<String, Object> param, String phone);
}

@ -0,0 +1,46 @@
package cn.jyjz.xiaoyao.framework.security.sms;
import cn.jyjz.xiaoyao.common.base.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.profile.DefaultProfile;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class MsmServiceImpl implements MsmService{
@Override
public boolean send(Map<String, Object> param, String phone) {
if(StringUtils.isEmpty(phone)) return false;
//default 地域节点, 后面是 阿里云的 id和秘钥
DefaultProfile profile = DefaultProfile.getProfile("default", "LTAI5t764kWdwYXDGYzDnRuJ", "iI2HiElIzbNiyGw1h4UdRE6Fw8159f");
IAcsClient client = new DefaultAcsClient(profile);
//这里不能修改
CommonRequest request = new CommonRequest();
//request.setProtocol(ProtocolType.HTTPS);
// request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("PhoneNumbers", phone); //手机号
request.putQueryParameter("SignName", "北京码城科技"); //申请阿里云 签名名称(用的也是阿里云和模板配套的服务器配置好)
request.putQueryParameter("TemplateCode", "SMS_465342327"); //申请阿里云 模板code用的也是阿里云和签名配套的服务器配置好
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response.getHttpResponse().isSuccess();
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}

@ -6,16 +6,19 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import cn.jyjz.xiaoyao.framework.security.sms.MsmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
* ocr
*
* @author
* AI
* @Date 2024-03-17 19:53:30
*/
@CrossOrigin
@ -44,6 +47,9 @@ public class OcrAiApprovalTools {
return ResultVoUtil.success(toolscount);
}
/*
ai
*/
@RequestMapping(value = "/aiApprovaltools", method = RequestMethod.GET)
public ResultVo aiApprovaltools(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));

Loading…
Cancel
Save