| | |
| | | package com.ycl.service.message.factory; |
| | | |
| | | import com.ycl.common.constant.ChannelCode; |
| | | import com.ycl.common.util.CommonUtils; |
| | | import com.ycl.common.util.UtilNumber; |
| | | import com.ycl.dto.message.MessageParam; |
| | | import com.ycl.entity.message.Message; |
| | |
| | | @Override |
| | | public Message sendMessage(MessageParam messageParam) { |
| | | Message message = new Message(); |
| | | String messageNumber = UtilNumber.getNumber("MC", 6); |
| | | List<Message> messages = new ArrayList<>(); |
| | | BeanUtils.copyProperties(messageParam, message); |
| | | //父Id为0 |
| | | message.setParentId(0L); |
| | | //生成消息编码 |
| | | message.setMessageNumber(messageNumber); |
| | | //生成默认参数 |
| | | //发送时间 |
| | | if (message.getSendTime() == null) { |
| | | message.setSendTime(new Date()); |
| | | } |
| | | message.setIsView(0); |
| | | message.setVersion(0); |
| | | message.setIsScan(1); |
| | | message.setCreateTime(new Date()); |
| | | message.setUpdateTime(new Date()); |
| | | message.setCreateUser(messageParam.getCreateUser()); |
| | | message.setUpdateUser(messageParam.getCreateUser()); |
| | | messageMapper.insert(message); |
| | | String[] ids = messageParam.getTargetTo().split(","); |
| | | for (String id : ids) { |
| | | Message messageAdd = new Message(); |
| | | BeanUtils.copyProperties(messageParam, messageAdd); |
| | | //设置父类Id |
| | | messageAdd.setParentId(message.getId()); |
| | | //设置接收者 |
| | | messageAdd.setTargetTo(id); |
| | | //生成8位随机数消息编码 |
| | | messageAdd.setMessageNumber(messageNumber); |
| | | //发送时间 |
| | | if (messageAdd.getSendTime() == null) { |
| | | messageAdd.setSendTime(new Date()); |
| | | } |
| | | if (ChannelCode.MAIL.equals(messageParam.getChannelCode())) { |
| | | messageAdd.setIsScan(1); |
| | | } else { |
| | | messageAdd.setIsScan(0); |
| | | } |
| | | if (CommonUtils.isEmpty(messageParam.getId())) { |
| | | String messageNumber = UtilNumber.getNumber("MC", 6); |
| | | BeanUtils.copyProperties(messageParam, message); |
| | | //父Id为0 |
| | | message.setParentId(0L); |
| | | //生成消息编码 |
| | | message.setMessageNumber(messageNumber); |
| | | //生成默认参数 |
| | | messageAdd.setCreateTime(new Date()); |
| | | messageAdd.setUpdateTime(new Date()); |
| | | messageAdd.setCreateUser(messageParam.getCreateUser()); |
| | | messageAdd.setUpdateUser(messageParam.getCreateUser()); |
| | | messageAdd.setIsView(0); |
| | | messageAdd.setVersion(0); |
| | | messages.add(messageAdd); |
| | | //发送时间 |
| | | if (message.getSendTime() == null) { |
| | | message.setSendTime(new Date()); |
| | | } |
| | | message.setIsView(0); |
| | | message.setVersion(0); |
| | | message.setIsScan(1); |
| | | message.setCreateTime(new Date()); |
| | | message.setUpdateTime(new Date()); |
| | | message.setCreateUser(messageParam.getCreateUser()); |
| | | message.setUpdateUser(messageParam.getCreateUser()); |
| | | messageMapper.insert(message); |
| | | } else { |
| | | message.setId(messageParam.getId()); |
| | | BeanUtils.copyProperties(messageParam, message); |
| | | message.setUpdateTime(new Date()); |
| | | message.setUpdateUser(messageParam.getCreateUser()); |
| | | messageMapper.updateById(message); |
| | | } |
| | | //批量新增 |
| | | iMessageService.saveBatch(messages); |
| | | //发布消息 |
| | | if (message.getStatus() == 1) { |
| | | String[] ids = messageParam.getTargetTo().split(","); |
| | | for (String id : ids) { |
| | | Message messageAdd = new Message(); |
| | | BeanUtils.copyProperties(messageParam, messageAdd); |
| | | //设置父类Id |
| | | messageAdd.setParentId(message.getId()); |
| | | //设置接收者 |
| | | messageAdd.setTargetTo(id); |
| | | //生成8位随机数消息编码 |
| | | messageAdd.setMessageNumber(message.getMessageNumber()); |
| | | //发送时间 |
| | | if (messageAdd.getSendTime() == null) { |
| | | messageAdd.setSendTime(new Date()); |
| | | } |
| | | if (ChannelCode.MAIL.equals(messageParam.getChannelCode())) { |
| | | messageAdd.setIsScan(1); |
| | | } else { |
| | | messageAdd.setIsScan(0); |
| | | } |
| | | //生成默认参数 |
| | | messageAdd.setCreateTime(new Date()); |
| | | messageAdd.setUpdateTime(new Date()); |
| | | messageAdd.setCreateUser(messageParam.getCreateUser()); |
| | | messageAdd.setUpdateUser(messageParam.getCreateUser()); |
| | | messageAdd.setIsView(0); |
| | | messageAdd.setVersion(0); |
| | | messages.add(messageAdd); |
| | | } |
| | | //批量新增 |
| | | iMessageService.saveBatch(messages); |
| | | } |
| | | return message; |
| | | } |
| | | } |