From dd8f5bd9007a2d4b0d8c385dc9325ce225ecb1ba Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Tue, 12 Mar 2019 14:49:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/mq/MessageMailQueueReceiver.java | 73 +++++++++++----------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java index 3c3197d..e7dce49 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java @@ -52,7 +52,7 @@ public class MessageMailQueueReceiver { @RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE) public void processImppMail(SysMessage msg, Channel channel, Message message) { try { - LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功:{}",msg); + LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功:{}", msg); if (msg.getMessageSendTime() == null) { msg.setMessageSendTime(TimeTool.getNowTime(true)); } @@ -63,51 +63,54 @@ public class MessageMailQueueReceiver { mailUtil.setSubject(msg.getMessageTitle()); mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType())); mailUtil.setBody(msg.getMessageContent()); - - if(msg.getMessageReceiverType().intValue() == ImppEnumUtil.MESSAGE_RECEIVER_TYPE.URGENT.getValue()){ - // 判断是否为系统紧急提示 微服注册状态提示 - mailUtil.setTo(sysConfigService.getSysConfigByCode(PlatformConstWords.CONTACT_MAIL).getConfigValue()); - // 次数过于频繁 + if(msg.getMessageReceiverType() != null){ + if (msg.getMessageReceiverType().intValue() == ImppEnumUtil.MESSAGE_RECEIVER_TYPE.URGENT.getValue()) { + // 判断是否为系统紧急提示 微服注册状态提示 + mailUtil.setTo(sysConfigService.getSysConfigByCode(PlatformConstWords.CONTACT_MAIL).getConfigValue()); + // 次数过于频繁 // mailUtil.send(); - } else if(msg.getMessageReceiverType().intValue() == ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue()){ - //判断是否为外部邮件 - mailUtil.setTo(StringUtils.split(msg.getMessageReceiversNameRdd(),",")); - mailUtil.send(); + } else if (msg.getMessageReceiverType().intValue() == ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue()) { + //判断是否为外部邮件 + mailUtil.setTo(StringUtils.split(msg.getMessageReceiversNameRdd(), ",")); + mailUtil.send(); - } else if (msg.getMessageReceiverType().intValue() == ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()) { - // 收件人信息 - String[] messageReceiver = msg.getMessageReceiversId().split(","); - String[] receiverName = new String[messageReceiver.length]; + } else if (msg.getMessageReceiverType().intValue() == ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()) { + // 收件人信息 + String[] messageReceiver = msg.getMessageReceiversId().split(","); + String[] receiverName = new String[messageReceiver.length]; - SysRefUserMessage refUserMessage; - SysUser sysUser; + SysRefUserMessage refUserMessage; + SysUser sysUser; - for (int i = 0; i < messageReceiver.length; i++) { - sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i])); - receiverName[i] = sysUser.getUserName(); + for (int i = 0; i < messageReceiver.length; i++) { + sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i])); + receiverName[i] = sysUser.getUserName(); - refUserMessage = new SysRefUserMessage(); - refUserMessage.setMessageId(msg.getId()); - refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); - refUserMessage.setMessageTypeRdd(msg.getMessageType()); - refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd()); - refUserMessage.setReceiverId(sysUser.getId()); - refUserMessage.setReceiverNameRdd(sysUser.getUserName()); - refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); - refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); + refUserMessage = new SysRefUserMessage(); + refUserMessage.setMessageId(msg.getId()); + refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); + refUserMessage.setMessageTypeRdd(msg.getMessageType()); + refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd()); + refUserMessage.setReceiverId(sysUser.getId()); + refUserMessage.setReceiverNameRdd(sysUser.getUserName()); + refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); + refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); - sysMessageService.insertSysRefUserMessage(refUserMessage); + sysMessageService.insertSysRefUserMessage(refUserMessage); - mailUtil.setTo(sysUser.getUserEmail()); - mailUtil.send(); - } + mailUtil.setTo(sysUser.getUserEmail()); + mailUtil.send(); + } - msg.setMessageReceiversNameRdd(StringUtils.join(receiverName, ",")); - sysMessageService.updateSysMessage(msg); + msg.setMessageReceiversNameRdd(StringUtils.join(receiverName, ",")); + sysMessageService.updateSysMessage(msg); + } } //信息已处理 - channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + }catch (NullPointerException e){ + LOGGER.error(e.getMessage()); } catch (Exception e) { LOGGER.error("【MQ-IMPP_MESSAGE_MAIL_QUEUE】处理出错:{}",e.getMessage(),e); //丢弃这条消息