提交 110e251a 编写于 作者: 庞明军

通知发送邮件与及时消息

上级 f3a1c97e
......@@ -19,7 +19,7 @@ namespace RuYiAdmin.Net.Entity.BusinessEnum
/// <summary>
/// 通知
/// </summary>
Notice,
Notification,
/// <summary>
/// 公告
......
......@@ -6,11 +6,15 @@
using AutoMapper;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using RuYiAdmin.Net.Common.Global;
using RuYiAdmin.Net.Common.Utility;
using RuYiAdmin.Net.Entity.BusinessDTO.SystemManagement;
using RuYiAdmin.Net.Entity.BusinessEntity.System;
using RuYiAdmin.Net.Entity.BusinessEntity.SystemManagement;
using RuYiAdmin.Net.Entity.BusinessEnum;
using RuYiAdmin.Net.Entity.CoreEntity;
using RuYiAdmin.Net.Service.BusinessService.MQService;
using RuYiAdmin.Net.Service.BusinessService.SystemManagement.AddresseeService;
using RuYiAdmin.Net.Service.BusinessService.SystemManagement.AnnouncementService;
using RuYiAdmin.Net.Service.BusinessService.SystemManagement.AttachmentService;
......@@ -58,6 +62,11 @@ namespace RuYiAdmin.Net.WebApi.Controllers.SystemManagement
/// </summary>
private readonly IAttachmentService attachmentService;
/// <summary>
/// MQ接口实例
/// </summary>
private readonly IMQService mqService;
/// <summary>
/// 构造函数
/// </summary>
......@@ -66,17 +75,20 @@ namespace RuYiAdmin.Net.WebApi.Controllers.SystemManagement
/// <param name="addresseeService"></param>
/// <param name="userService"></param>
/// <param name="attachmentService"></param>
/// <param name="mqService"></param>
public AnnouncementManagementController(IAnnouncementService announcementService,
IMapper mapper,
IAddresseeService addresseeService,
IUserService userService,
IAttachmentService attachmentService) : base(announcementService)
IAttachmentService attachmentService,
IMQService mqService) : base(announcementService)
{
this.announcementService = announcementService;
this.mapper = mapper;
this.addresseeService = addresseeService;
this.userService = userService;
this.attachmentService = attachmentService;
this.mqService = mqService;
}
#endregion
......@@ -252,7 +264,7 @@ namespace RuYiAdmin.Net.WebApi.Controllers.SystemManagement
#endregion
#region 通知发送邮件
#region 通知发送邮件与及时消息
private async Task SengMailAsync(SysAnnouncementDTO announcementDTO)
{
......@@ -290,7 +302,20 @@ namespace RuYiAdmin.Net.WebApi.Controllers.SystemManagement
files.Add(new FileInfo(att.FilePath));
}
//发送邮件
RuYiMailUtil.SendMail(announcementDTO.Title, announcementDTO.Content, user.Email, files, true);
#region 发送及时消息
var msg = new SystemMessage();
msg.Message = "Notification";
msg.MessageType = MessageType.Notification;
msg.Object = new { Id = user.Id, Title = announcementDTO.Title };
var topic = RuYiAdminGlobalContext.ActiveMQConfig.MessagePrefix;
this.mqService.SendTopic(JsonConvert.SerializeObject(msg), topic);
#endregion
}
}
}
......
......@@ -1367,7 +1367,7 @@
强制下线
</summary>
</member>
<member name="F:RuYiAdmin.Net.Entity.BusinessEnum.MessageType.Notice">
<member name="F:RuYiAdmin.Net.Entity.BusinessEnum.MessageType.Notification">
<summary>
通知
</summary>
......
......@@ -705,7 +705,12 @@
系统附件服务层接口实例
</summary>
</member>
<member name="M:RuYiAdmin.Net.WebApi.Controllers.SystemManagement.AnnouncementManagementController.#ctor(RuYiAdmin.Net.Service.BusinessService.SystemManagement.AnnouncementService.IAnnouncementService,AutoMapper.IMapper,RuYiAdmin.Net.Service.BusinessService.SystemManagement.AddresseeService.IAddresseeService,RuYiAdmin.Net.Service.BusinessService.SystemManagement.UserService.IUserService,RuYiAdmin.Net.Service.BusinessService.SystemManagement.AttachmentService.IAttachmentService)">
<member name="F:RuYiAdmin.Net.WebApi.Controllers.SystemManagement.AnnouncementManagementController.mqService">
<summary>
MQ接口实例
</summary>
</member>
<member name="M:RuYiAdmin.Net.WebApi.Controllers.SystemManagement.AnnouncementManagementController.#ctor(RuYiAdmin.Net.Service.BusinessService.SystemManagement.AnnouncementService.IAnnouncementService,AutoMapper.IMapper,RuYiAdmin.Net.Service.BusinessService.SystemManagement.AddresseeService.IAddresseeService,RuYiAdmin.Net.Service.BusinessService.SystemManagement.UserService.IUserService,RuYiAdmin.Net.Service.BusinessService.SystemManagement.AttachmentService.IAttachmentService,RuYiAdmin.Net.Service.BusinessService.MQService.IMQService)">
<summary>
构造函数
</summary>
......@@ -714,6 +719,7 @@
<param name="addresseeService"></param>
<param name="userService"></param>
<param name="attachmentService"></param>
<param name="mqService"></param>
</member>
<member name="M:RuYiAdmin.Net.WebApi.Controllers.SystemManagement.AnnouncementManagementController.Post(RuYiAdmin.Net.Entity.CoreEntity.QueryCondition)">
<summary>
......
......@@ -7,7 +7,7 @@ export const MessageType = {
// / <summary>
// / 通知
// / </summary>
Notice: 1,
Notification: 1,
// / <summary>
// / 公告
......
<template>
<div>
</div>
<div />
</template>
<script>
......@@ -43,11 +42,11 @@ export default {
},
responseCallback: function(frame) {
// console.log('responseCallback msg=>' + frame.body)
console.log('------')
// console.log('------')
const user = JSON.parse(sessionStorage.getItem(getToken()))
const message = JSON.parse(decodeURIComponent(frame.body))
if (message.MessageType === MessageType.ForceLogout) {
const id = message.Object.Id
const user = JSON.parse(sessionStorage.getItem(getToken()))
if (id === user.id) {
this.$alert('您好,您被管理员强制下线!', '系统强制下线通知', {
confirmButtonText: '确定',
......@@ -59,6 +58,16 @@ export default {
}
})
}
} else if (message.MessageType === MessageType.Notification) {
const id = message.Object.Id
if (id === user.id) {
this.$notify({
title: '您有新的系统通知,请注意查收!',
message: message.Object.Title,
type: 'success',
duration: 0
})
}
}
},
connect: function() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册