消息修改

This commit is contained in:
梁琦涛
2021-09-27 17:11:06 +08:00
parent 1ecd1f78a8
commit 943ce2bdb4
8 changed files with 247 additions and 95 deletions
@@ -327,10 +327,10 @@ public interface ISysBaseAPI extends CommonAPI {
/**
* 发送短信
* @param phone 手机号
* @param codeType 发送类型
* @param codeTime 超时时间
* @param templateCode 模板编码
* @param map 参数集合
* @param sender 通道号
* @param templateId 参数集合
* @param signature 签名名称
* @param templateParas 参数
*/
void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap<String,String> map);
void sendMessage(String phone, String sender,String templateId,String signature,String templateParas);
}
@@ -93,40 +93,18 @@ public class HuaWeiSmsUtil {
switch (codeType) {
case "1":
//中汽标协-登录检查验证码
sender = "8821062807743";
signature = "中汽标协";
sender = "8821092414481";
signature = "中汽中心标准所";
templateId = "9fbee7166af24bbfacc178e417345a21";
templateParas = "[" + randomNumber + "," + phone + "," + verificationTime + "]";
break;
case "2":
//中汽标协-忘记密码
sender = "8821062807743";
signature = "中汽标协";
sender = "8821092414481";
signature = "中汽中心标准所";
templateId = "6f8573c5adc54df2a56a6e48556c3044";
templateParas = "[" + randomNumber + "," + phone + "," + verificationTime + "]";
break;
case "3":
//中汽标协-会员到期提醒
sender = "8821062807762";
signature = "中汽标协";
templateId = "3c6321febaa84fecb68d6b0f5bbc0754";
//通知类短信,不需要存redis
codeTime = "0";
break;
case "4":
//中汽标协-发票邮寄通知提醒
sender = "8821062807762";
signature = "中汽标协";
templateId = "077964a02a814149bb01900e43c9a04e";
codeTime = "0";
break;
case "5":
//中汽标协-合同分期到期通知提醒
sender = "8821062807762";
signature = "中汽标协";
templateId = "077964a02a814149bb01900e43c9a04e";
codeTime = "0";
break;
default:
throw new JeroBootException("codeType flase.");
}
@@ -134,6 +112,24 @@ public class HuaWeiSmsUtil {
return this.huaWeiSendSms(phone, codeTime, url, appKey, appSecret, templateParas,sender, templateId, signature,randomNumber);
}
/**
* @Description 发送通知类短信
* @Author lqt
* @Date 2021/9/27
* @Param phone 手机号
* @Param sender 通道号
* @Param templateId 参数集合
* @Param signature 签名名称
* @Param templateParas 参数
* @Return
* @Exception
*/
public Boolean sendMessageNotice(String phone, String sender,String templateId,String signature,String templateParas) {
String randomNumber = "";
//调用华为短信发送
return this.huaWeiSendSms(phone, "0", url, appKey, appSecret, templateParas,sender, templateId, signature,randomNumber);
}
/**
* 调用华为短信发送
*
@@ -133,7 +133,7 @@ public class ProjectCommon {
/**
* 1短信 2邮件 3系统
*/
public final static String MESSAGE_TYPE1 = "1";
public final static String MESSAGE_TYPE1 = "0";
/**
* 1短信 2邮件 3系统
*/
@@ -3,7 +3,7 @@ package com.jero.common.enums;
import org.apache.commons.lang3.StringUtils;
/**
* @Description 企业端模板编码消息
* @Description 企业端模板编码和短信类型消息
* @Author lqt
* @Date 2021/9/22
* @Param
@@ -12,29 +12,30 @@ import org.apache.commons.lang3.StringUtils;
*/
public enum CompanyMessageEnums {
MSG1("QY_1_HYTZ_WORK_GROUP_CREATE","会议通知"),//点击跳转到报名页面,meetingNamebusId
MSG2("QY_2_HYTZ_WORK_GROUP_SIGN_UP","会议通知"),//弹窗:查看该会议详情,meetingName
MSG3("QY_3_HYTZ_WORK_GROUP_UPLOAD","会议通知"),//弹窗:查看该会议详情,meetingName
MSG4("QY_4_HYTZ_WORK_GROUP_NOT_UPLOAD","会议通知"),//弹窗:查看该会议详情,meetingName
MSG5("QY_5_HYTZ_NOT_AUDIT","会议通知"),//弹窗:上传汇款凭证,meetingName
MSG6("QY_6_HYTZ_AUDIT","会议通知"),//弹窗:查看该会议详情,meetingName
MSG7("QY_7_WJTZ_MEETING_SEND","文件通知"),//弹窗:查看该会议详情,meetingName
MSG8("QY_8_HTTZ_PHASE","合同通知"),//无,contractnumamount
MSG9("QY_9_YJTZ_MAIL","邮寄通知"),//查看该物流信息,projectName
MSG10("QY_10_YJTZ_MAIL_CONTRACT","邮寄通知"),//查看该物流信息,contractName
MSG11("QY_11_CKTZ_PAY","催款通知"),//弹窗:查看该项目详情,projectName
MSG12("QY_12_WJTZ_WORK_GROUP_SEND","文件通知");//弹窗:查看该项目详情,workGroupName
MSG1("QY_1_HYTZ_WORK_GROUP_CREATE","会议通知","meetingName"),//点击跳转到报名页面,meetingNamebusId
MSG2("QY_2_HYTZ_WORK_GROUP_SIGN_UP","会议通知","meetingName"),//弹窗:查看该会议详情,meetingName
MSG3("QY_3_HYTZ_WORK_GROUP_UPLOAD","会议通知","meetingName"),//弹窗:查看该会议详情,meetingName
MSG4("QY_4_HYTZ_WORK_GROUP_NOT_UPLOAD","会议通知","meetingName"),//弹窗:查看该会议详情,meetingName
MSG5("QY_5_HYTZ_NOT_AUDIT","会议通知","meetingName"),//弹窗:上传汇款凭证,meetingName
MSG6("QY_6_HYTZ_AUDIT","会议通知","meetingName"),//弹窗:查看该会议详情,meetingName
MSG7("QY_7_WJTZ_MEETING_SEND","文件通知","meetingName"),//弹窗:查看该会议详情,meetingName
MSG8("QY_8_HTTZ_PHASE","合同通知","contractName,num,amount"),//无,contractnumamount
MSG9("QY_9_YJTZ_MAIL","邮寄通知","projectName"),//查看该物流信息,projectName
MSG10("QY_10_YJTZ_MAIL_CONTRACT","邮寄通知","contractName"),//查看该物流信息,contractName
MSG11("QY_11_CKTZ_PAY","催款通知","projectName"),//弹窗:查看该项目详情,projectName
MSG12("QY_12_WJTZ_WORK_GROUP_SEND","文件通知","workGroupName");//弹窗:查看该项目详情,workGroupName
private String code;
private String value;
private String detail;
private String field;
CompanyMessageEnums(String code, String value){
CompanyMessageEnums(String code, String value,String field){
this.code = code;
this.value = value;
this.field = field;
}
public String getCode() {
@@ -53,6 +54,14 @@ public enum CompanyMessageEnums {
this.value = value;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public static CompanyMessageEnums getByCode(String code) {
if (StringUtils.isBlank(code)) {
return null;
@@ -2,7 +2,7 @@ package com.jero.common.enums;
import org.apache.commons.lang3.StringUtils;
/**
* @Description 管理端模板编码消息
* @Description 管理端模板编码和短信类型消息
* @Author lqt
* @Date 2021/9/22
* @Param
@@ -11,23 +11,26 @@ import org.apache.commons.lang3.StringUtils;
*/
public enum ManagementMessageEnums {
MSG1("GL_1_HTTZ_CREATE_PROJECT","项目通知"),// 查看详情,projectName
MSG2("GL_2_HTTZ_SUBMIT","合同通知"),// 跳转到合同的详情页面,contractNum,contractName
MSG3("GL_3_HTTZ_AUDIT","合同通知"),//跳转到合同的详情页面,contractNum,contractName
MSG4("GL_4_HTTZ_NOT_AUDIT","合同通知"),//跳转到合同的详情页面,contractNum,contractName
MSG5("GL_5_HYTZ_SIGN_UP_UPLOAD","会议通知"),//审核弹窗
MSG6("GL_6_DBTZ_ADD","打包通知"),//查看该项目详情,projectName
MSG7("GL_7_DBTZ_CONTRACT","打包通知"),//查看项目详情,projectName
MSG8("GL_8_HYTZ_ON_ACCESS_UPDATE","会议通知"),//查看该参会人详情,meetingNameusername1username2
MSG9("GL_9_QYTZ_CREATE","企业通知");//企业列表页
MSG1("GL_1_HTTZ_CREATE_PROJECT","项目通知","projectName"),// 查看详情,projectName
MSG2("GL_2_HTTZ_SUBMIT","合同通知","contractNum,contractName"),// 跳转到合同的详情页面,contractNum,contractName
MSG3("GL_3_HTTZ_AUDIT","合同通知","contractNum,contractName"),//跳转到合同的详情页面,contractNum,contractName
MSG4("GL_4_HTTZ_NOT_AUDIT","合同通知","contractNum,contractName"),//跳转到合同的详情页面,contractNum,contractName
MSG5("GL_5_HYTZ_SIGN_UP_UPLOAD","会议通知",""),//审核弹窗
MSG6("GL_6_DBTZ_ADD","打包通知","projectName"),//查看该项目详情,projectName
MSG7("GL_7_DBTZ_CONTRACT","打包通知","projectName"),//查看项目详情,projectName
MSG8("GL_8_HYTZ_ON_ACCESS_UPDATE","会议通知","meetingName,username1,username2,record"),//查看该参会人详情,meetingNameusername1username2
MSG9("GL_9_QYTZ_CREATE","企业通知","");//企业列表页
private String code;
private String value;
ManagementMessageEnums(String code, String value){
private String field;
ManagementMessageEnums(String code, String value,String field){
this.code = code;
this.value = value;
this.field = field;
}
public String getCode() {
@@ -46,6 +49,14 @@ public enum ManagementMessageEnums {
this.value = value;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public static ManagementMessageEnums getByCode(String code) {
if (StringUtils.isBlank(code)) {
return null;
@@ -5,6 +5,8 @@ import com.jero.common.common.ProjectCommon;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.WebsocketConst;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.enums.MessageUrlEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService;
@@ -25,7 +27,6 @@ import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -34,9 +35,9 @@ import java.util.*;
@Slf4j
@Service
public class SendMessageServiceImpl implements SendMessageService {
@Autowired
@Resource
private ISysBaseAPI sysBaseAPI;
@Autowired
@Resource
private ISysMessageTemplateService sysMessageTemplateService;
@Resource
private ISysAnnouncementService sysAnnouncementService;
@@ -46,15 +47,6 @@ public class SendMessageServiceImpl implements SendMessageService {
private ISysAnnouncementSendService sysAnnouncementSendService;
@Resource
private WebSocket webSocket;
/**
* 超时时间
*/
private String time = "60";
/**
* 短信类型
*/
private String type = "5";
@Override
public void SendMessageService(SendMessageDTO sendMessageDTO) {
@@ -165,7 +157,170 @@ public class SendMessageServiceImpl implements SendMessageService {
// todo 发送短信 待完成
if(templateType.contains(ProjectCommon.MESSAGE_TYPE1) && !StringUtils.isEmpty(sendMessageDTO.getPhone())){
try {
// sysBaseAPI.sendSMS(sendMessageDTO.getPhone(),type,time,sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam());
String sender = "";
String signature = "";
String templateId = "";
String codeType = sendMessageDTO.getTemplateCode();
switch (codeType) {
case "GL_1_HTTZ_CREATE_PROJECT":
//中汽中心标准所-管理端-项目通知-1
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "7ffc2ce832a1408383b933702277f866";
//通知类短信,不需要存redis
break;
case "GL_2_HTTZ_SUBMIT":
//中汽中心标准所-管理端-合同通知-2
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "8f080f2c0b334f93af5219f76c0b5dc3";
break;
case "GL_3_HTTZ_AUDIT":
//中汽中心标准所-管理端-合同通知-3
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "488e5a176aca4eea8472a6a7b8cd2911";
break;
case "GL_4_HTTZ_NOT_AUDIT":
//中汽中心标准所-管理端-合同通知-4
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "0596842946244aa9b5c5a1d16d9a1d0a";
//通知类短信,不需要存redis
break;
case "GL_5_HYTZ_SIGN_UP_UPLOAD":
// 中汽中心标准所-管理端-会议通知-5
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "ef7374b862e3442e9ea6f84c3e626e9c";
break;
case "GL_6_DBTZ_ADD":
// 中汽中心标准所-管理端-打包通知-6
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "0f62447b46ed4dcb88f3b8d9fa38a549";
break;
case "GL_7_DBTZ_CONTRACT":
//中汽中心标准所-管理端-打包通知-7
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "7705a7180c644b028839af77fc51d371";
//通知类短信,不需要存redis
break;
case "GL_8_HYTZ_ON_ACCESS_UPDATE":
// 中汽中心标准所-管理端-会议通知-8
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "bfc6abc5bf3347029e9079214eb54868";
break;
case "GL_9_QYTZ_CREATE":
//中汽中心标准所-管理端-企业通知-9
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "1b9dd79bb217420fa25725feb1ffaef4";
break;
case "QY_1_HYTZ_WORK_GROUP_CREATE":
//中汽中心标准所-企业端-会议通知-1
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "b477be3ced93438a930675b2998d841d";
//通知类短信,不需要存redis
break;
case "QY_2_HYTZ_WORK_GROUP_SIGN_UP":
//中汽中心标准所-企业端-会议通知-2
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = ""; //todo 审核不通过
break;
case "QY_3_HYTZ_WORK_GROUP_UPLOAD":
//中汽中心标准所-企业端-会议通知-3
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "";//todo 审核不通过
break;
case "QY_4_HYTZ_WORK_GROUP_NOT_UPLOAD":
//中汽中心标准所-企业端-会议通知-4
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "";//todo 审核不通过
//通知类短信,不需要存redis
break;
case "QY_5_HYTZ_NOT_AUDIT":
//中汽中心标准所-企业端-会议通知-5
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "b564769d75ea43bda281ba4e26936fb6";
break;
case "QY_6_HYTZ_AUDIT":
//中汽中心标准所-企业端-会议通知-6
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "";//todo 审核不通过
break;
case "QY_7_WJTZ_MEETING_SEND":
//中汽中心标准所-企业端-文件通知-7
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "";//todo 审核不通过
//通知类短信,不需要存redis
break;
case "QY_8_HTTZ_PHASE":
//中汽中心标准所-企业端-合同通知-8
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "891d3236a8034a0c8ef266bb287a9ffa";
break;
case "QY_9_YJTZ_MAIL":
//中汽中心标准所-企业端-邮寄通知-9
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "1003b89133e04cd7922cee64451813d4";
break;
case "QY_10_YJTZ_MAIL_CONTRACT":
// 中汽中心标准所-企业端-邮寄通知-10
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "203aa025094e401b9f144b9a66e3c52e";
//通知类短信,不需要存redis
break;
case "QY_11_CKTZ_PAY":
// 中汽中心标准所-企业端-催款通知-1
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "c139886b751943feb6fd8aad46a3abbe";
break;
case "QY_12_WJTZ_WORK_GROUP_SEND":
//中汽中心标准所-企业端-文件通知-12
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "077964a02a814149bb01900e43c9a04e";
break;
default:
throw new JeroBootException("codeType flase.");
}
String str = "";
// 管理端
if(Objects.equals(sendMessageDTO.getTemplateCode().substring(0,2),"GL")){
str = ManagementMessageEnums.getByCode(sendMessageDTO.getTemplateCode()).getField();
}
// 企业端
if(Objects.equals(sendMessageDTO.getTemplateCode().substring(0,2),"QY")){
str = CompanyMessageEnums.getByCode(sendMessageDTO.getTemplateCode()).getField();
}
StringBuilder templateParas = new StringBuilder();
if(!StringUtils.isEmpty(str)){
templateParas.append("[");
String[] s = str.split(",");
for (int i = 0; i < s.length; i++) {
templateParas.append(map.get(s[i]));
if(i < (s.length - 1)){
templateParas.append(",");
}
}
templateParas.append("]");
}
sysBaseAPI.sendMessage(sendMessageDTO.getPhone(),sender,templateId,signature,templateParas.toString());
}catch (Exception e){
log.error("发送短信异常",e);
}
@@ -38,4 +38,7 @@ public class SysMessageTemplate extends JeroEntity {
@Excel(name = "模板类型", width = 15)
@Dict(dicCode = "msgType")
private java.lang.String templateType;
/**接收人*/
@Dict(dicCode = "receive_message_user_type")
private String recipient;
}
@@ -1060,30 +1060,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
}
@Override
public void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap<String,String> map) {
if(StringUtils.isBlank(phone)){
throw new JeroBootException("手机号不能为空");
}
if(StringUtils.isBlank(templateCode)){
throw new JeroBootException("模板编码不能为空");
}
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode);
if(CollectionUtils.isEmpty(sysSmsTemplates)){
throw new JeroBootException("消息模板不存在,模板编码:"+templateCode);
}
SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0);
//模板标题
String title = sysSmsTemplate.getTemplateName();
//模板内容
String content = sysSmsTemplate.getTemplateContent();
if(!Objects.isNull(map)) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String str = "${" + entry.getKey() + "}";
title = title.replace(str, entry.getValue());
content = content.replace(str, entry.getValue());
}
}
huaWeiSmsUtil.sendVerificationCode(phone, codeType, codeTime, content);
public void sendMessage(String phone, String sender,String templateId,String signature,String templateParas) {
huaWeiSmsUtil.sendMessageNotice( phone, sender, templateId, signature, templateParas);
}
/**