diff --git a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index 41e11691..4005c531 100644 --- a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -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 map); + void sendMessage(String phone, String sender,String templateId,String signature,String templateParas); } diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java index ba3bb04f..f7fe2381 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java @@ -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); + } + /** * 调用华为短信发送 * diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java index 4fb879ba..59c6eaba 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java @@ -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系统 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java index 9796d485..d9dcee93 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java @@ -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","会议通知"),//点击跳转到报名页面,meetingName,busId - 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","合同通知"),//无,contract,num,amount - 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"),//点击跳转到报名页面,meetingName,busId + 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"),//无,contract,num,amount + 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; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java index 09939cac..12fae14d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java @@ -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","会议通知"),//查看该参会人详情,meetingName,username1,username2 - 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"),//查看该参会人详情,meetingName,username1,username2 + 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; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index 405104a9..3e663dd4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -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); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java b/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java index cf956cb1..385103aa 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java @@ -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; } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 33ee4683..0a558087 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -1060,30 +1060,8 @@ public class SysBaseApiImpl implements ISysBaseAPI { } @Override - public void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap map) { - if(StringUtils.isBlank(phone)){ - throw new JeroBootException("手机号不能为空"); - } - if(StringUtils.isBlank(templateCode)){ - throw new JeroBootException("模板编码不能为空"); - } - List 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 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); } /**