This commit is contained in:
lzttt 2024-10-10 16:14:54 +08:00
commit eebe5ef676
3 changed files with 75 additions and 5 deletions

View File

@ -0,0 +1,51 @@
package cn.iocoder.yudao.common;
import cn.hutool.core.collection.CollectionUtil;
import cn.iocoder.yudao.common.dto.MessageDTO;
import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
/**
* 用于发送消息
*
* @author 小李
* @date 17:15 2024/10/9
**/
@Component
public class MessageSend {
@Resource
private NotifyMessageSendApi messageSendApi;
/**
* 通用消息发送
*
* @param messageDTO 消息对象
* @author 小李
* @date 9:58 2024/10/10
**/
public void send(MessageDTO messageDTO) {
// 设置参数
Map<String, Object> map = new HashMap<>();
for (int i = 1; i <= messageDTO.getParamList().size(); i++) {
map.put("key" + i, messageDTO.getParamList().get(i - 1));
}
if (CollectionUtil.isEmpty(messageDTO.getUserIds())){
throw exception0(500, "没有接收人");
}
messageDTO.getUserIds().forEach(id -> {
messageSendApi.sendSingleMessageToAdmin(
new NotifySendSingleToUserReqDTO()
.setUserId(id)
.setTemplateCode(messageDTO.getTemplateCode())
.setTemplateParams(map));
});
}
}

View File

@ -0,0 +1,24 @@
package cn.iocoder.yudao.common.dto;
import lombok.Data;
import java.util.List;
/**
* 用于发消息
*
* @author 小李
* @date 17:34 2024/10/9
**/
@Data
public class MessageDTO {
/** 接收方ids 来自system_users */
private List<Long> userIds;
/** 模板枚举 */
private String templateCode;
/** 参数列表 */
private List<Object> paramList;
}

View File

@ -1,18 +1,13 @@
package cn.iocoder.yudao.module.rescue.utils; package cn.iocoder.yudao.module.rescue.utils;
import cn.hutool.extra.spring.SpringUtil;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.appBase.domain.SysAnnouncement; import cn.iocoder.yudao.module.appBase.domain.SysAnnouncement;
import cn.iocoder.yudao.module.appBase.service.ISysAnnouncementService; import cn.iocoder.yudao.module.appBase.service.ISysAnnouncementService;
import cn.iocoder.yudao.module.constant.UserConstants; import cn.iocoder.yudao.module.constant.UserConstants;
import cn.iocoder.yudao.module.rescue.dto.TaskDto; import cn.iocoder.yudao.module.rescue.dto.TaskDto;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi; import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import cn.iocoder.yudao.module.system.service.permission.RoleService; import cn.iocoder.yudao.module.system.service.permission.RoleService;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;