package com.ycl.service.message.factory; 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; /** *

* 内站发送器 *

* * @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 messages = new ArrayList<>(); String[] ids = messageParam.getTargetTo().split(","); for (String id : ids) { Message messageAdd = new Message(); BeanUtils.copyProperties(messageParam, messageAdd); //设置接收者 messageAdd.setTargetTo(id); //生成8位随机数消息编码 messageAdd.setMessageNumber(UtilNumber.getNumber("MC",6)); //发送时间 messageAdd.setSendTime(new Date()); //生成默认参数 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; } }