From 2649ec853f0eb11706291c4f817bbeb061046708 Mon Sep 17 00:00:00 2001 From: "ran.shang" <> Date: Fri, 20 Jun 2025 14:51:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=99=E5=86=85=E4=BF=A1=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notice/constant/NoticeFirstTypeEnum.java | 2 ++ .../notice/constant/NoticeBizTypeEnum.java | 21 +++++++++++++++++++ .../dto/NoticeSendRecordOperateDTO.java | 6 +++++- .../provider/SiteNoticeChannelProvider.java | 13 +++++------- 4 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/newyetai/usercenter/notice/constant/NoticeBizTypeEnum.java diff --git a/src/main/java/com/newyetai/component/notice/constant/NoticeFirstTypeEnum.java b/src/main/java/com/newyetai/component/notice/constant/NoticeFirstTypeEnum.java index 62b1765..5c73ea7 100644 --- a/src/main/java/com/newyetai/component/notice/constant/NoticeFirstTypeEnum.java +++ b/src/main/java/com/newyetai/component/notice/constant/NoticeFirstTypeEnum.java @@ -9,6 +9,8 @@ public enum NoticeFirstTypeEnum { ASYNC_TASK_NOTICE("async_task_notice"), /** 聊天 */ CHAT("chat"), + /** 站内信 */ + SITE("site") ; private String type; diff --git a/src/main/java/com/newyetai/usercenter/notice/constant/NoticeBizTypeEnum.java b/src/main/java/com/newyetai/usercenter/notice/constant/NoticeBizTypeEnum.java new file mode 100644 index 0000000..0e21566 --- /dev/null +++ b/src/main/java/com/newyetai/usercenter/notice/constant/NoticeBizTypeEnum.java @@ -0,0 +1,21 @@ +package com.newyetai.usercenter.notice.constant; + +public enum NoticeBizTypeEnum { + + /** 岗位报名-邀请面试 */ + POSITION_INVITE("position_invite"), + /** 岗位报名-面试结果 */ + POSITION_INVITE_result("position_invite_result"), + ; + + private String type; + + NoticeBizTypeEnum(String type) { + this.type = type; + } + + public String getType() { + return type; + } + +} diff --git a/src/main/java/com/newyetai/usercenter/notice/dto/NoticeSendRecordOperateDTO.java b/src/main/java/com/newyetai/usercenter/notice/dto/NoticeSendRecordOperateDTO.java index b8ccf03..1218c82 100644 --- a/src/main/java/com/newyetai/usercenter/notice/dto/NoticeSendRecordOperateDTO.java +++ b/src/main/java/com/newyetai/usercenter/notice/dto/NoticeSendRecordOperateDTO.java @@ -1,5 +1,6 @@ package com.newyetai.usercenter.notice.dto; +import com.newyetai.usercenter.notice.constant.NoticeChannelTypeEnum; import java.io.Serializable; import java.util.Map; import java.util.Set; @@ -35,11 +36,14 @@ public class NoticeSendRecordOperateDTO extends BaseOperateDTO implements Serial // 或模版code @ApiModelProperty("通知模版code") private String templateCode; + @ApiModelProperty("消息体模版id") private Long contentTemplateId ; // 或消息体通道类型 @ApiModelProperty("消息通道类型:1站内信,2短信,3钉钉,4企业微信,5邮件(见notice_channel_type)") - private Integer channelType ; + @Default + private Integer channelType = NoticeChannelTypeEnum.SITE.getType(); + @ApiModelProperty("接收方机构id,不传平台模版取1,非平台模版取当前上下文机构id") private Long receiverOrgId ; @ApiModelProperty("消息体参数") diff --git a/src/main/java/com/newyetai/usercenter/notice/service/provider/SiteNoticeChannelProvider.java b/src/main/java/com/newyetai/usercenter/notice/service/provider/SiteNoticeChannelProvider.java index dec1b25..7daa7f6 100644 --- a/src/main/java/com/newyetai/usercenter/notice/service/provider/SiteNoticeChannelProvider.java +++ b/src/main/java/com/newyetai/usercenter/notice/service/provider/SiteNoticeChannelProvider.java @@ -1,5 +1,8 @@ package com.newyetai.usercenter.notice.service.provider; +import com.newyetai.component.notice.constant.NoticeFirstTypeEnum; +import com.newyetai.component.notice.dto.NoticeMsgDTO; +import com.newyetai.component.notice.util.NoticeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,14 +35,8 @@ public class SiteNoticeChannelProvider extends AbstractNoticeChannelProvider { public AlitaResult invoke(NoticeSendRecordDTO noticeSendRecordDTO, NoticeSendRecordDetailDTO noticeSendRecordDetailDTO) { - /* TODO mq实现通知各系统(websocket) - AlitaResult mqResult = MqSendUtils.send(UcMqConstants.ROUTING_KEY_SITE_NOTICE, detail); - Long detailId = detail.getId(); - if (mqResult.getSuccess()) { - return true; - } else { - return false; - }*/ + NoticeUtils.sendAsyncNotice( + NoticeMsgDTO.create(noticeSendRecordDetailDTO.getUserId(), NoticeFirstTypeEnum.SITE.getType(), noticeSendRecordDTO)); return noticeSendRecordDTO.getContent() != null ? AlitaResult.success() : AlitaResult.bizError("消息内容为空,模版替换失败"); }