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 a88e36a7..c6f2cc58 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 @@ -6,6 +6,7 @@ import com.jero.common.api.dto.OnlineAuthDTO; import com.jero.common.api.dto.message.*; import com.jero.common.system.vo.*; +import java.util.HashMap; import java.util.List; import java.util.Set; @@ -280,6 +281,14 @@ public interface ISysBaseAPI extends CommonAPI { * @param content */ void sendEmailMsg(String email,String title,String content); + /** + * 40发送m模板邮件消息 + * @param email 接收人 必传 + * @param title 标题 (不传取模板标题) + * @param templateCode 模板编码 必传 + * @param map 模板替换参数 必传 + */ + void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map); /** * 41根据部门id查询部门所有的父级(不包含自己) * @author 马志朝 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 d9cd0e57..8e2941b4 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 @@ -12,18 +12,18 @@ import org.apache.commons.lang3.StringUtils; */ public enum CompanyMessageEnums { - MSG1("HYTZ_WORK_GROUP_CREATE","会议提醒","点击跳转到报名页面"), - MSG2("HYTZ_WORK_GROUP_SIGN_UP","会议提醒","弹窗:查看该会议详情"), - MSG3("HYTZ_WORK_GROUP_UPLOAD","会议提醒","弹窗:查看该会议详情"), - MSG4("HYTZ_WORK_GROUP_NOT_UPLOAD","会议提醒","弹窗:查看该会议详情"), - MSG5("HYTZ_NOT_AUDIT","会议提醒","弹窗:上传汇款凭证"), - MSG6("HYTZ_AUDIT","会议提醒","弹窗:查看该会议详情"), - MSG7("WJTZ_MEETING_SEND","文件提醒","弹窗:查看该会议详情"), - MSG8("HTTZ_PHASE","合同提醒","无"), - MSG9("YJTZ_MAIL","邮寄提醒","查看该物流信息"), - MSG10("YJTZ_MAIL_CONTRACT","邮寄提醒","查看该物流信息"), - MSG11("CKTZ_PAY","催款提醒","弹窗:查看该项目详情"), - MSG12("WJTZ_WORK_GROUP_SEND","文件提醒","弹窗:查看该项目详情"); + MSG1("HYTZ_WORK_GROUP_CREATE","会议提醒"),//点击跳转到报名页面,meetingName,busId + MSG2("HYTZ_WORK_GROUP_SIGN_UP","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG3("HYTZ_WORK_GROUP_UPLOAD","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG4("HYTZ_WORK_GROUP_NOT_UPLOAD","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG5("HYTZ_NOT_AUDIT","会议提醒"),//弹窗:上传汇款凭证,meetingName + MSG6("HYTZ_AUDIT","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG7("WJTZ_MEETING_SEND","文件提醒"),//弹窗:查看该会议详情,meetingName + MSG8("HTTZ_PHASE","合同提醒"),//无,contract,num,amount + MSG9("YJTZ_MAIL","邮寄提醒"),//查看该物流信息,projectName + MSG10("YJTZ_MAIL_CONTRACT","邮寄提醒"),//查看该物流信息,contractName + MSG11("CKTZ_PAY","催款提醒"),//弹窗:查看该项目详情,projectName + MSG12("WJTZ_WORK_GROUP_SEND","文件提醒");//弹窗:查看该项目详情,workGroupName private String code; @@ -32,10 +32,9 @@ public enum CompanyMessageEnums { private String detail; - CompanyMessageEnums(String code, String value, String detail){ + CompanyMessageEnums(String code, String value){ this.code = code; this.value = value; - this.detail = detail; } public String getCode() { @@ -54,14 +53,6 @@ public enum CompanyMessageEnums { this.value = value; } - public String getDetail() { - return detail; - } - - public void setDetail(String detail) { - this.detail = detail; - } - 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 7096d911..4a43ea49 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 @@ -11,26 +11,23 @@ import org.apache.commons.lang3.StringUtils; */ public enum ManagementMessageEnums { - MSG1("HTTZ_CREATE_PROJECT","项目提醒","查看详情"), - MSG2("HTTZ_SUBMIT","合同提醒","跳转到合同的详情页面"), - MSG3("HTTZ_AUDIT","合同提醒","跳转到合同的详情页面"), - MSG4("HTTZ_NOT_AUDIT","合同提醒","跳转到合同的详情页面"), - MSG5("HYTZ_SIGN_UP_UPLOAD","会议提醒","审核弹窗"), - MSG6("DBTZ_ADD","打包提醒","查看该项目详情"), - MSG7("DBTZ_CONTRACT","打包提醒","查看项目详情"), - MSG8("HYTZ_ON_ACCESS_UPDATE","会议提醒","查看该参会人详情"), - MSG9("QYTZ_CREATE","企业提醒","企业列表页"); + MSG1("HTTZ_CREATE_PROJECT","项目提醒"),// 查看详情,projectName + MSG2("HTTZ_SUBMIT","合同提醒"),// 跳转到合同的详情页面,contractNum,contractName + MSG3("HTTZ_AUDIT","合同提醒"),//跳转到合同的详情页面,contractNum,contractName + MSG4("HTTZ_NOT_AUDIT","合同提醒"),//跳转到合同的详情页面,contractNum,contractName + MSG5("HYTZ_SIGN_UP_UPLOAD","会议提醒"),//审核弹窗 + MSG6("DBTZ_ADD","打包提醒"),//查看该项目详情,projectName + MSG7("DBTZ_CONTRACT","打包提醒"),//查看项目详情,projectName + MSG8("HYTZ_ON_ACCESS_UPDATE","会议提醒"),//查看该参会人详情,meetingName,username1,username2 + MSG9("QYTZ_CREATE","企业提醒");//企业列表页 private String code; private String value; - private String detail; - - ManagementMessageEnums(String code, String value, String detail){ + ManagementMessageEnums(String code, String value){ this.code = code; this.value = value; - this.detail = detail; } public String getCode() { @@ -49,14 +46,6 @@ public enum ManagementMessageEnums { this.value = value; } - public String getDetail() { - return detail; - } - - public void setDetail(String detail) { - this.detail = detail; - } - public static ManagementMessageEnums getByCode(String code) { if (StringUtils.isBlank(code)) { return null; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index db590fbd..ea40b6aa 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -147,16 +147,6 @@ public class PayCompanyManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 85eceb10..13715cec 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -5,8 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.dto.message.BusTemplateMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.PayIncomeContract; @@ -95,6 +99,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index 8f917ef4..d2c42cf1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -13,6 +13,7 @@ import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.vo.ProjectDetailVO; import com.jero.message.service.IPayAnnouncementMessageService; @@ -159,30 +160,22 @@ public class PayWorkingGroupSubItemController extends JeroController map = new HashMap<>(); + map.put("projectName",payWorkingGroup.getWorkingGroupProject()); + // 发送邮件 + sysBaseAPI.sendEmailTemplateMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), CompanyMessageEnums.MSG11.getValue(), CompanyMessageEnums.MSG11.getCode(),map); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); -// PayAnnouncementMessage payAnnouncementMessage = new PayAnnouncementMessage(); -// payAnnouncementMessage.setTitile(MessageEnums.MSG14.getValue()); -// payAnnouncementMessage.setMsgContent(msg); -// payAnnouncementMessage.setSender(sysUser.getId()); -// payAnnouncementMessage.setRecipient(sysUser.getId()); -// payAnnouncementMessage.setMsgCategory(MessageEnums.MSG14.getCode()); -// payAnnouncementMessage.setOperation(MessageEnums.MSG14.getDetail()); -// payAnnouncementMessage.setBusId(p.getId()); -// payAnnouncementMessageService.sendMessage(payAnnouncementMessage); BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); busTemplateMessageDTO.setTitle(CompanyMessageEnums.MSG11.getValue()); busTemplateMessageDTO.setFromUser(sysUser.getId()); busTemplateMessageDTO.setToUser(sysUser.getUsername()); busTemplateMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); - busTemplateMessageDTO.setTemplateParam(null); + busTemplateMessageDTO.setTemplateParam(map); + busTemplateMessageDTO.setBusType("email"); busTemplateMessageDTO.setBusId(p.getId()); + // 发送消息 sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); }); - // todo 缺少发送消息 return Result.OK("添加成功!"); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java index 01642f1e..e0d71634 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java @@ -144,4 +144,8 @@ public class SysAnnouncement implements Serializable { * 摘要 */ private java.lang.String msgAbstract; + /** + * 模板编码 + */ + private String templateCode; } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml index de13e8b6..596a92fe 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml @@ -37,7 +37,8 @@ sa.bus_id as bus_id, sa.open_type as open_type, sa.open_page as open_page, - sa.msg_abstract + sa.msg_abstract, + sa.template_code from sys_announcement_send sas left join sys_announcement sa ON sas.annt_id = sa.id where sa.send_status = '1' diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java index f6ba4956..52752f6f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java @@ -77,4 +77,9 @@ public class AnnouncementSendModel implements Serializable { */ private java.lang.String msgAbstract; + /** + * 模板编码 + */ + private java.lang.String templateCode; + } 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 8de4e14b..24c63a39 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 @@ -13,6 +13,7 @@ import com.jero.common.util.HuaWeiSmsUtil; import com.jero.modules.oss.mapper.OSSFileMapper; import com.jero.modules.pay.company.entity.PayContactsManagement; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import com.jero.common.api.dto.OnlineAuthDTO; @@ -430,6 +431,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { announcement.setBusType(busType); announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); + announcement.setTemplateCode(templateCode); sysAnnouncementMapper.insert(announcement); // 2.插入用户通告阅读标记表记录 String userId = toUser; @@ -1012,6 +1014,34 @@ public class SysBaseApiImpl implements ISysBaseAPI { emailHandle.SendMsg(email, title, content); } + @Override + public void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map) { + if(StringUtils.isBlank(email)){ + 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); + //模板标题 + title = Objects.isNull(title) ? sysSmsTemplate.getTemplateName() : title; + //模板内容 + 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()); + } + } + EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(); + emailHandle.SendMsg(email, title, content); + } + /** * 发送邮件+ 附件消息 * @param email