1.添加对接

master
862857010@qq.com 1 year ago
parent 1f091c61cb
commit e3be18710e
  1. 6
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
  2. 4
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
  3. 15
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
  4. 92
      ruoyi-system/src/main/java/com/ruoyi/system/util/sms/YueXinSmsFacade.java

@ -259,8 +259,7 @@ public class SysUserController extends BaseController
@GetMapping("/getVerificationCode")
public AjaxResult getVerificationCode(String phoneNumber)
{
public AjaxResult getVerificationCode(String phoneNumber) throws Exception {
int res= userService.getVerificationCode(phoneNumber);
if(res==1){
return success("发送成功");
@ -281,8 +280,7 @@ public class SysUserController extends BaseController
* @return
*/
@GetMapping("/getforgetThePasswordVerificationCode")
public AjaxResult getforgetThePasswordVerificationCode(String phoneNumber)
{
public AjaxResult getforgetThePasswordVerificationCode(String phoneNumber) throws Exception {
int res= userService.getforgetThePasswordVerificationCode(phoneNumber);
if(res==1){
return success("发送成功");

@ -210,13 +210,13 @@ public interface ISysUserService
* @param phoneNumber
* @return
*/
Integer getVerificationCode(String phoneNumber);
Integer getVerificationCode(String phoneNumber) throws Exception;
/**
* 忘记密码获取短信验证码
* @param phoneNumber
* @return
*/
Integer getforgetThePasswordVerificationCode(String phoneNumber);
Integer getforgetThePasswordVerificationCode(String phoneNumber) throws Exception;
/**
* 忘记密码

@ -11,6 +11,7 @@ import javax.validation.Validator;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.system.domain.vo.ForgetThePasswordVO;
import com.ruoyi.system.util.sms.YueXinSmsFacade;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -74,6 +75,8 @@ public class SysUserServiceImpl implements ISysUserService
protected Validator validator;
@Autowired
private RedisCache redisCache;
/**
* 根据条件分页查询用户列表
*
@ -573,7 +576,7 @@ public class SysUserServiceImpl implements ISysUserService
* @return
*/
@Override
public Integer getVerificationCode(String phoneNumber) {
public Integer getVerificationCode(String phoneNumber) throws Exception {
if(userMapper.getUserCoutByPhoneNumber(phoneNumber) !=0){
return -4;
}
@ -581,11 +584,11 @@ public class SysUserServiceImpl implements ISysUserService
return -3;
}
String verifyCode = String.valueOf((new Random()).nextInt(899999) + 100000);
String message="【】验证码:"+verifyCode+",此验证码只用于注册验证,15分钟内有效。如非本人操作,请忽略。";
String message="【创巨圆】验证码:"+verifyCode+",此验证码只用于注册验证,15分钟内有效。如非本人操作,请忽略。";
if(Integer.parseInt(redisCache.getCacheObject(phoneNumber+"_number"))>29){
return -2;
}else {
if(1==1){
if(YueXinSmsFacade.sendSms(phoneNumber,message)=="success"){
//如果发送成功 将验证码存到redis中
LocalDateTime now = LocalDateTime.now();
LocalDateTime tomorrow = now.plusDays(1).with(LocalTime.MIN);
@ -609,7 +612,7 @@ public class SysUserServiceImpl implements ISysUserService
* @return
*/
@Override
public Integer getforgetThePasswordVerificationCode(String phoneNumber) {
public Integer getforgetThePasswordVerificationCode(String phoneNumber) throws Exception {
if(userMapper.getUserCoutByPhoneNumber(phoneNumber)==0){
return -4;
}
@ -617,11 +620,11 @@ public class SysUserServiceImpl implements ISysUserService
return -3;
}
String verifyCode = String.valueOf((new Random()).nextInt(899999) + 100000);
String message="【】验证码:"+verifyCode+",此验证码只用于找回密码,15分钟内有效。如非本人操作,请忽略。";
String message="【创巨圆】验证码:"+verifyCode+",此验证码只用于找回密码,15分钟内有效。如非本人操作,请忽略。";
if(Integer.parseInt(redisCache.getCacheObject(phoneNumber+"_forgetThePassword"+"_number"))>29){
return -2;
}else {
if(1==1){
if(YueXinSmsFacade.sendSms(phoneNumber,message) =="success"){
//如果发送成功 将验证码存到redis中
LocalDateTime now = LocalDateTime.now();
LocalDateTime tomorrow = now.plusDays(1).with(LocalTime.MIN);

@ -0,0 +1,92 @@
package com.ruoyi.system.util.sms;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SmsContent;
import com.ruoyi.system.mapper.SmsContentMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @program: feiyi
* @ClassName YueXinSmsFacade
* @description: yuexinsms短信接口
* @author: 清风煮酒QaQ
* @create: 2024-07-24 15:21
* @Version 1.0
**/
@Component
public class YueXinSmsFacade {
private static final Logger log = LoggerFactory.getLogger(YueXinSmsFacade.class);
private static SmsContentMapper staticSmsContentMapper;
@Autowired
private SmsContentMapper smsContentMapper;
@PostConstruct
public void init() {
staticSmsContentMapper = smsContentMapper;
}
private static String yueXinUrl = "http://106.14.55.160:9000/HttpSmsMt";
private static String yueXinUser = "hbjcy";
private static String yueXinPWD = "de0a83a6b2d0d0133cbef7fd3cf722b2";
public static String sendSms(String phone, String content) throws Exception {
String res = "false";
if (StringUtils.isNotBlank(content) && StringUtils.isNotBlank(phone)) {
SmsContent sms = new SmsContent();
Date date = new Date();
String formatTime = new SimpleDateFormat("yyyyMMddhhmmss")
.format(date);
sms.setCreateTime(date);
Map<String, Object> param = null;
try {
param = new HashMap<>();
// 账号(必选)
param.put("name", yueXinUser);
//密码(必填) DigestUtil.md5Hex(testStr);
param.put("pwd", DigestUtil.md5Hex(yueXinPWD + formatTime));
// 手机号(必填)
param.put("phone", phone);
// 内容
param.put("content", URLEncoder.encode(content, "UTF-8"));
// 提交时间(必填) yyyyMMddhhmmss 须取当前时间,不能比当前时间早或晚太多
param.put("mttime", formatTime);
// 返回数据类型(必填) 0 xml ,1json
param.put("rpttype", 1);
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new Exception("阅信接口创建参数失败");
}
String result = HttpUtil.post(yueXinUrl, param);
System.out.println(result);
JSONObject jsonObject = JSONUtil.parseObj(result);
sms.setMobile(phone);
sms.setSmscontent(content);
sms.setMttime(formatTime);
if (jsonObject != null) {
sms.setReqcode(jsonObject.get("ReqCode").toString());
sms.setReqmsg(jsonObject.get("ReqMsg").toString());
sms.setReqid(jsonObject.get("ReqId").toString());
}
staticSmsContentMapper.insertSmsContent(sms);
res = "success";
}
return res;
}
}
Loading…
Cancel
Save