处理消息

This commit is contained in:
2025-08-15 17:02:56 +08:00
parent f44904a5f1
commit 118b1820cf
3 changed files with 51 additions and 7 deletions

View File

@ -207,17 +207,14 @@ public class DesPrelimSchemeServiceImpl extends ServiceImpl<DesPrelimSchemeMappe
}
this.updateById(prelimScheme);
//状态为已完成发送消息
// if (BusinessStatusEnum.FINISH.getStatus().equals(processEvent.getStatus())) {
System.out.println("1!!!!!!!!!!!!!!!!!!!!!!!");
if (BusinessStatusEnum.FINISH.getStatus().equals(processEvent.getStatus())) {
//发送消息
MsgConfig msgConfig = msgConfigService.getOne(
new LambdaQueryWrapper<MsgConfig>().
eq(MsgConfig::getProjectId, prelimScheme.getProjectId()).
eq(MsgConfig::getMsgKey, "prelimScheme")
);
System.out.println("2!!!!!!!!!!!!!!!!!!!!!!!");
if (msgConfig != null) {
System.out.println("3!!!!!!!!!!!!!!!!!!!!!!!");
String userId = msgConfig.getUserId();
List<Long> userIdList = Arrays.stream(userId.split(","))
.map(String::trim)
@ -231,7 +228,6 @@ public class DesPrelimSchemeServiceImpl extends ServiceImpl<DesPrelimSchemeMappe
})
.filter(Objects::nonNull) // 过滤掉转换失败的null值
.collect(Collectors.toList());
System.out.println("4!!!!!!!!!3123213!!!!!!!!!!!!!!");
//发送消息
SendMsgDto sendMsgDto = new SendMsgDto();
sendMsgDto.setProjectId(prelimScheme.getProjectId());
@ -240,10 +236,9 @@ public class DesPrelimSchemeServiceImpl extends ServiceImpl<DesPrelimSchemeMappe
sendMsgDto.setConfigId(msgConfig.getId());
sendMsgDto.setDetailId(prelimScheme.getId().toString());
sendMsgDto.setContent(msgConfig.getMsgContent());
System.out.println("5!!!!!!!!!!!!!!!!!!!!!!!");
msgNoticeService.sendMsg(sendMsgDto);
}
// }
}
}
/**

View File

@ -89,4 +89,9 @@ public interface IMsgNoticeService extends IService<MsgNotice>{
* 指定用户向指定用户发送消息
*/
Boolean sendMsg(SendMsgDto bo);
/**
* 发送消息
*/
void sendMsg(Long projectId, Long detailsID,String type);
}

View File

@ -25,6 +25,7 @@ import org.dromara.message.mapper.MsgNoticeMapper;
import org.dromara.message.service.IMsgNoticeService;
import java.util.*;
import java.util.stream.Collectors;
/**
* 消息Service业务层处理
@ -168,6 +169,8 @@ public class MsgNoticeServiceImpl extends ServiceImpl<MsgNoticeMapper, MsgNotice
return this.save(me);
}
/**
* 指定用户向指定(一个或多个)用户发送消息
*/
@ -209,4 +212,45 @@ public class MsgNoticeServiceImpl extends ServiceImpl<MsgNoticeMapper, MsgNotice
}
return b;
}
/**
* 发送消息
*/
@Override
public void sendMsg(Long projectId, Long detailsID,String type) {
//发送消息
MsgConfig msgConfig = msgConfigService.getOne(
new LambdaQueryWrapper<MsgConfig>().
eq(MsgConfig::getProjectId, projectId).
eq(MsgConfig::getMsgKey, type)
);
if (msgConfig != null) {
String userId = msgConfig.getUserId();
List<Long> userIdList = Arrays.stream(userId.split(","))
.map(String::trim)
.map(s -> {
try {
return Long.valueOf(s);
} catch (NumberFormatException e) {
// 处理转换失败的情况
return null; // 或者根据需求处理
}
})
.filter(Objects::nonNull) // 过滤掉转换失败的null值
.collect(Collectors.toList());
//发送消息
SendMsgDto sendMsgDto = new SendMsgDto();
sendMsgDto.setProjectId(projectId);
sendMsgDto.setRecipientIds(userIdList);
sendMsgDto.setSenderId(0L);
sendMsgDto.setConfigId(msgConfig.getId());
sendMsgDto.setDetailId(detailsID.toString());
sendMsgDto.setContent(msgConfig.getMsgContent());
this.sendMsg(sendMsgDto);
}
}
}