parent
d522e658a1
commit
634a52033a
@ -0,0 +1,107 @@
|
|||||||
|
package com.yingji.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.yingji.redis.RedisCache;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信通知工具类
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024/9/24 10:18
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class SmsUtil {
|
||||||
|
public static final Logger log = LoggerFactory.getLogger(SmsUtil.class);
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取短信接口token
|
||||||
|
*
|
||||||
|
* @return token
|
||||||
|
*/
|
||||||
|
public String getSmsToken() {
|
||||||
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
|
bodyMap.put("uid", "yjglj_yjjyszzh");
|
||||||
|
bodyMap.put("pwd", "f604d2d6de51573b5cef5c95c11ffabe");
|
||||||
|
String bodyJson = JSONUtil.toJsonStr(bodyMap);
|
||||||
|
String responseStr = HttpRequest.post("http://2.46.42.43:80/admin-api/sms/token")
|
||||||
|
.body(bodyJson)
|
||||||
|
.execute()
|
||||||
|
.body();
|
||||||
|
JSONObject responseJson = JSONUtil.parseObj(responseStr);
|
||||||
|
log.error("----------------------------短信token======================");
|
||||||
|
log.error("短信token: " + JSONUtil.toJsonStr(responseJson));
|
||||||
|
return (String) responseJson.get("data");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信
|
||||||
|
*
|
||||||
|
* @param content 短信内容
|
||||||
|
* @param tel 手机号多个使用,拼接
|
||||||
|
* @param errorMes 异常通知的类别 即redis的key
|
||||||
|
*/
|
||||||
|
public void sendSms(String content, String tel, String errorMes) {
|
||||||
|
if (errorMes != null) {
|
||||||
|
Integer minutes = redisCache.getCacheObject(errorMes);
|
||||||
|
if (minutes == null) {
|
||||||
|
redisCache.setCacheObject(errorMes, 1, 10, TimeUnit.MINUTES);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (minutes < 10) {
|
||||||
|
redisCache.setCacheObject(errorMes, minutes + 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 限制每种tel每天只能发一次短信
|
||||||
|
Map<String, Object> dataKey = redisCache.getCacheMap("dataKey");
|
||||||
|
if (CollectionUtil.isNotEmpty(dataKey)) {
|
||||||
|
LocalDate sendDate = (LocalDate) dataKey.get(content);
|
||||||
|
if (LocalDate.now().equals(sendDate)) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
dataKey.put(content, LocalDate.now());
|
||||||
|
redisCache.setCacheMap("dataKey", dataKey);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put(content, LocalDate.now());
|
||||||
|
redisCache.setCacheMap("dataKey", map);
|
||||||
|
}
|
||||||
|
String token = getSmsToken();
|
||||||
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
|
bodyMap.put("uid", "yjglj_yjjyszzh");
|
||||||
|
bodyMap.put("pwd", "f604d2d6de51573b5cef5c95c11ffabe");
|
||||||
|
bodyMap.put("extensionNo", "2559");
|
||||||
|
if (StrUtil.isNotEmpty(tel)) {
|
||||||
|
bodyMap.put("tel", tel);
|
||||||
|
} else {
|
||||||
|
bodyMap.put("tel", "18870257135,18261462112,15850922852,18112760590");
|
||||||
|
}
|
||||||
|
bodyMap.put("content", "市应急局提醒:" + content);
|
||||||
|
String bodyJson = JSONUtil.toJsonStr(bodyMap);
|
||||||
|
log.error("bodyJson: " + bodyJson);
|
||||||
|
String responseStr = HttpRequest.post("http://2.46.42.43:80/admin-api/sms/send")
|
||||||
|
.header("Authorization", "Bearer " + token)
|
||||||
|
.body(bodyJson)
|
||||||
|
.execute()
|
||||||
|
.body();
|
||||||
|
log.error("----------------------------短信响应======================");
|
||||||
|
log.error("短信: " + JSONUtil.toJsonStr(responseStr));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,107 @@
|
|||||||
|
package com.yingji.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.yingji.redis.RedisCache;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信通知工具类
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024/9/24 10:18
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class SmsUtil {
|
||||||
|
public static final Logger log = LoggerFactory.getLogger(SmsUtil.class);
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取短信接口token
|
||||||
|
*
|
||||||
|
* @return token
|
||||||
|
*/
|
||||||
|
public String getSmsToken() {
|
||||||
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
|
bodyMap.put("uid", "yjglj_yjjyszzh");
|
||||||
|
bodyMap.put("pwd", "f604d2d6de51573b5cef5c95c11ffabe");
|
||||||
|
String bodyJson = JSONUtil.toJsonStr(bodyMap);
|
||||||
|
String responseStr = HttpRequest.post("http://2.46.42.43:80/admin-api/sms/token")
|
||||||
|
.body(bodyJson)
|
||||||
|
.execute()
|
||||||
|
.body();
|
||||||
|
JSONObject responseJson = JSONUtil.parseObj(responseStr);
|
||||||
|
log.error("----------------------------短信token======================");
|
||||||
|
log.error("短信token: " + JSONUtil.toJsonStr(responseJson));
|
||||||
|
return (String) responseJson.get("data");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信
|
||||||
|
*
|
||||||
|
* @param content 短信内容
|
||||||
|
* @param tel 手机号多个使用,拼接
|
||||||
|
* @param errorMes 异常通知的类别 即redis的key
|
||||||
|
*/
|
||||||
|
public void sendSms(String content, String tel, String errorMes) {
|
||||||
|
if (errorMes != null) {
|
||||||
|
Integer minutes = redisCache.getCacheObject(errorMes);
|
||||||
|
if (minutes == null) {
|
||||||
|
redisCache.setCacheObject(errorMes, 1, 10, TimeUnit.MINUTES);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (minutes < 10) {
|
||||||
|
redisCache.setCacheObject(errorMes, minutes + 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 限制每种tel每天只能发一次短信
|
||||||
|
Map<String, Object> dataKey = redisCache.getCacheMap("dataKey");
|
||||||
|
if (CollectionUtil.isNotEmpty(dataKey)) {
|
||||||
|
LocalDate sendDate = (LocalDate) dataKey.get(content);
|
||||||
|
if (LocalDate.now().equals(sendDate)) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
dataKey.put(content, LocalDate.now());
|
||||||
|
redisCache.setCacheMap("dataKey", dataKey);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put(content, LocalDate.now());
|
||||||
|
redisCache.setCacheMap("dataKey", map);
|
||||||
|
}
|
||||||
|
String token = getSmsToken();
|
||||||
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
|
bodyMap.put("uid", "yjglj_yjjyszzh");
|
||||||
|
bodyMap.put("pwd", "f604d2d6de51573b5cef5c95c11ffabe");
|
||||||
|
bodyMap.put("extensionNo", "2559");
|
||||||
|
if (StrUtil.isNotEmpty(tel)) {
|
||||||
|
bodyMap.put("tel", tel);
|
||||||
|
} else {
|
||||||
|
bodyMap.put("tel", "18870257135,18261462112,15850922852,18112760590");
|
||||||
|
}
|
||||||
|
bodyMap.put("content", "市应急局提醒:" + content);
|
||||||
|
String bodyJson = JSONUtil.toJsonStr(bodyMap);
|
||||||
|
log.error("bodyJson: " + bodyJson);
|
||||||
|
String responseStr = HttpRequest.post("http://2.46.42.43:80/admin-api/sms/send")
|
||||||
|
.header("Authorization", "Bearer " + token)
|
||||||
|
.body(bodyJson)
|
||||||
|
.execute()
|
||||||
|
.body();
|
||||||
|
log.error("----------------------------短信响应======================");
|
||||||
|
log.error("短信: " + JSONUtil.toJsonStr(responseStr));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,107 @@
|
|||||||
|
package com.yingji.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.yingji.redis.RedisCache;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信通知工具类
|
||||||
|
*
|
||||||
|
* @author wu
|
||||||
|
* @since 2024/9/24 10:18
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class SmsUtil {
|
||||||
|
public static final Logger log = LoggerFactory.getLogger(SmsUtil.class);
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取短信接口token
|
||||||
|
*
|
||||||
|
* @return token
|
||||||
|
*/
|
||||||
|
public String getSmsToken() {
|
||||||
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
|
bodyMap.put("uid", "yjglj_yjjyszzh");
|
||||||
|
bodyMap.put("pwd", "f604d2d6de51573b5cef5c95c11ffabe");
|
||||||
|
String bodyJson = JSONUtil.toJsonStr(bodyMap);
|
||||||
|
String responseStr = HttpRequest.post("http://2.46.42.43:80/admin-api/sms/token")
|
||||||
|
.body(bodyJson)
|
||||||
|
.execute()
|
||||||
|
.body();
|
||||||
|
JSONObject responseJson = JSONUtil.parseObj(responseStr);
|
||||||
|
log.error("----------------------------短信token======================");
|
||||||
|
log.error("短信token: " + JSONUtil.toJsonStr(responseJson));
|
||||||
|
return (String) responseJson.get("data");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信
|
||||||
|
*
|
||||||
|
* @param content 短信内容
|
||||||
|
* @param tel 手机号多个使用,拼接
|
||||||
|
* @param errorMes 异常通知的类别 即redis的key
|
||||||
|
*/
|
||||||
|
public void sendSms(String content, String tel, String errorMes) {
|
||||||
|
if (errorMes != null) {
|
||||||
|
Integer minutes = redisCache.getCacheObject(errorMes);
|
||||||
|
if (minutes == null) {
|
||||||
|
redisCache.setCacheObject(errorMes, 1, 10, TimeUnit.MINUTES);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (minutes < 10) {
|
||||||
|
redisCache.setCacheObject(errorMes, minutes + 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 限制每种tel每天只能发一次短信
|
||||||
|
Map<String, Object> dataKey = redisCache.getCacheMap("dataKey");
|
||||||
|
if (CollectionUtil.isNotEmpty(dataKey)) {
|
||||||
|
LocalDate sendDate = (LocalDate) dataKey.get(content);
|
||||||
|
if (LocalDate.now().equals(sendDate)) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
dataKey.put(content, LocalDate.now());
|
||||||
|
redisCache.setCacheMap("dataKey", dataKey);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put(content, LocalDate.now());
|
||||||
|
redisCache.setCacheMap("dataKey", map);
|
||||||
|
}
|
||||||
|
String token = getSmsToken();
|
||||||
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
|
bodyMap.put("uid", "yjglj_yjjyszzh");
|
||||||
|
bodyMap.put("pwd", "f604d2d6de51573b5cef5c95c11ffabe");
|
||||||
|
bodyMap.put("extensionNo", "2559");
|
||||||
|
if (StrUtil.isNotEmpty(tel)) {
|
||||||
|
bodyMap.put("tel", tel);
|
||||||
|
} else {
|
||||||
|
bodyMap.put("tel", "18870257135,18261462112,15850922852,18112760590");
|
||||||
|
}
|
||||||
|
bodyMap.put("content", "市应急局提醒:" + content);
|
||||||
|
String bodyJson = JSONUtil.toJsonStr(bodyMap);
|
||||||
|
log.error("bodyJson: " + bodyJson);
|
||||||
|
String responseStr = HttpRequest.post("http://2.46.42.43:80/admin-api/sms/send")
|
||||||
|
.header("Authorization", "Bearer " + token)
|
||||||
|
.body(bodyJson)
|
||||||
|
.execute()
|
||||||
|
.body();
|
||||||
|
log.error("----------------------------短信响应======================");
|
||||||
|
log.error("短信: " + JSONUtil.toJsonStr(responseStr));
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<groupId>com.yingji</groupId>
|
|
||||||
<artifactId>yingjiAlgorithms</artifactId>
|
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<artifactId>utils</artifactId>
|
|
||||||
</project>
|
|
Loading…
Reference in new issue