package com.ycl.service.message.factory;
|
|
import com.ycl.common.constant.ChannelCode;
|
import com.ycl.common.util.UtilNumber;
|
import com.ycl.dto.message.MessageParam;
|
import com.ycl.entity.message.Message;
|
import com.ycl.service.message.IMessageService;
|
import com.ycl.service.message.Sender;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 内站发送器
|
* </p>
|
*
|
* @author mg
|
* @since 2022-10-09
|
*/
|
@Component
|
public class InnerSender implements Sender {
|
|
|
|
private static IMessageService iMessageService;
|
@Autowired
|
public void setIMessageService(IMessageService iMessageService) {
|
InnerSender.iMessageService = iMessageService;
|
}
|
|
@Override
|
public Message sendMessage(MessageParam messageParam) {
|
Message message = new Message();
|
List<Message> messages = new ArrayList<>();
|
String[] ids = messageParam.getTargetTo().split(",");
|
String messageNumber = UtilNumber.getNumber("MC", 6);
|
for (String id : ids) {
|
Message messageAdd = new Message();
|
BeanUtils.copyProperties(messageParam, messageAdd);
|
//设置接收者
|
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);
|
}
|
//生成默认参数
|
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);
|
}
|
BeanUtils.copyProperties(messageParam, message);
|
//批量新增
|
iMessageService.saveBatch(messages);
|
return message;
|
}
|
}
|