mirror of
https://gitee.com/likeadmin/likeadmin_java.git
synced 2026-05-17 14:43:02 +08:00
实现短信通知功能
This commit is contained in:
@@ -23,6 +23,9 @@ public class GlobalConfig {
|
||||
// Redis键前缀
|
||||
public static String redisPrefix = "Like:";
|
||||
|
||||
// 短信验证码
|
||||
public static String redisSmsCode = "smsCode:";
|
||||
|
||||
// 资源访问前缀
|
||||
public static String publicPrefix = "api/uploads";
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ public class NoticeSetting implements Serializable {
|
||||
private String smsNotice; // 短信的通知设置
|
||||
private String oaNotice; // 公众号通知设置
|
||||
private String mnpNotice; // 小程序通知设置
|
||||
private String support; // 支持的发送类型
|
||||
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||
private Long createTime; // 创建时间
|
||||
private Long updateTime; // 更新时间
|
||||
|
||||
@@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.mdd.common.entity.notice.NoticeSetting;
|
||||
import com.mdd.common.exception.OperateException;
|
||||
import com.mdd.common.mapper.notice.NoticeSettingMapper;
|
||||
import com.mdd.common.plugin.notice.engine.MpNotice;
|
||||
import com.mdd.common.plugin.notice.engine.OaNotice;
|
||||
import com.mdd.common.plugin.notice.engine.SmsNotice;
|
||||
import com.mdd.common.utils.SpringUtil;
|
||||
import com.mdd.common.utils.StringUtil;
|
||||
@@ -36,16 +34,16 @@ public class NoticeDriver {
|
||||
// 短信通知
|
||||
Map<String, String> smsTemplate = ToolsUtil.jsonToMap(noticeSetting.getSmsNotice());
|
||||
if (StringUtil.isNotEmpty(smsTemplate.get("status")) && Integer.parseInt(smsTemplate.get("status")) == 1) {
|
||||
(new SmsNotice()).send(config, params, smsTemplate);
|
||||
(new SmsNotice()).send(config, params, smsTemplate, noticeSetting);
|
||||
}
|
||||
|
||||
// 小程序订阅通知
|
||||
Map<String, String> mnpTemplate = ToolsUtil.jsonToMap(noticeSetting.getMnpNotice());
|
||||
if (StringUtil.isNotEmpty(mnpTemplate.get("status")) && Integer.parseInt(mnpTemplate.get("status")) == 1) {
|
||||
(new MpNotice()).send(config, params, mnpTemplate);
|
||||
}
|
||||
// 小程序订阅通知 todo
|
||||
// Map<String, String> mnpTemplate = ToolsUtil.jsonToMap(noticeSetting.getMnpNotice());
|
||||
// if (StringUtil.isNotEmpty(mnpTemplate.get("status")) && Integer.parseInt(mnpTemplate.get("status")) == 1) {
|
||||
// (new MpNotice()).send(config, params, mnpTemplate);
|
||||
// }
|
||||
|
||||
// 公众号订阅通知
|
||||
// 公众号订阅通知 todo
|
||||
// Map<String, String> oaTemplate = ToolsUtil.jsonToMap(noticeSetting.getOaNotice());
|
||||
// if (StringUtil.isNotEmpty(oaTemplate.get("status")) && Integer.parseInt(oaTemplate.get("status")) == 1) {
|
||||
// (new OaNotice()).send(config, params, oaTemplate);
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.mdd.common.plugin.notice.engine;
|
||||
|
||||
import com.mdd.common.config.GlobalConfig;
|
||||
import com.mdd.common.entity.notice.NoticeSetting;
|
||||
import com.mdd.common.plugin.sms.SmsDriver;
|
||||
import com.mdd.common.utils.ConfigUtil;
|
||||
import com.mdd.common.utils.RedisUtil;
|
||||
import com.mdd.common.utils.StringUtil;
|
||||
|
||||
import java.util.*;
|
||||
@@ -15,10 +18,12 @@ public class SmsNotice {
|
||||
* @param config 基础配置
|
||||
* @param params 短信参数
|
||||
* @param smsTemplate 短信模板
|
||||
* @param noticeSetting 通知设置
|
||||
*/
|
||||
public void send(Map<String, String> config, Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
public void send(Map<String, String> config, Map<String, String> params, Map<String, String> smsTemplate, NoticeSetting noticeSetting) {
|
||||
String mobile = config.getOrDefault("mobile", "");
|
||||
String scene = config.getOrDefault("scene", "");
|
||||
|
||||
if (StringUtil.isNotEmpty(mobile) && StringUtil.isNotEmpty(scene)) {
|
||||
(new SmsDriver())
|
||||
.setMobile(mobile)
|
||||
@@ -26,6 +31,12 @@ public class SmsNotice {
|
||||
.setTemplateParam(this.getSmsParams(params, smsTemplate))
|
||||
.setSmsContent(this.getContent(params, smsTemplate))
|
||||
.sendSms();
|
||||
|
||||
// 1=业务通知, 2=验证码
|
||||
if (noticeSetting.getType() == 2 && StringUtil.isNotNull(params.get("code"))) {
|
||||
String code = params.get("code").toLowerCase();
|
||||
RedisUtil.set(GlobalConfig.redisSmsCode+mobile, code);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user