| | |
| | | package com.ycl.service.message.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ycl.common.util.RandomNumberGenerator; |
| | | import com.ycl.dto.message.MessageParam; |
| | | import com.ycl.entity.message.Message; |
| | | import com.ycl.mapper.message.MessageMapper; |
| | | import com.ycl.service.message.IMessageService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import com.ycl.service.message.Provider; |
| | | import com.ycl.service.message.Sender; |
| | | import com.ycl.service.message.factory.InnerFactory; |
| | | import com.ycl.service.message.factory.MailFactory; |
| | | import com.ycl.service.message.factory.SmsFactory; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class IMessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService { |
| | | @Override |
| | | public Message sendMessage(MessageParam mssageParam) { |
| | | Message message = new Message(); |
| | | BeanUtils.copyProperties(mssageParam, message); |
| | | //生成8位随机数消息编码 |
| | | String messageNumber = RandomNumberGenerator.generateNumber(8); |
| | | StringBuilder sb = new StringBuilder("XX"); |
| | | sb.append(messageNumber); |
| | | message.setMessageNumber(sb.toString()); |
| | | //生成默认参数 |
| | | message.setCreateTime(new Date()); |
| | | message.setUpdateTime(new Date()); |
| | | message.setIsView(0); |
| | | baseMapper.insert(message); |
| | | public Message sendMessage(MessageParam messageParam) { |
| | | Message message = null; |
| | | Provider provider = null; |
| | | switch (messageParam.getMessageType()) |
| | | { |
| | | //内站发送 |
| | | case 0: |
| | | provider = new InnerFactory(); |
| | | break; |
| | | //邮件发送 |
| | | case 1: |
| | | provider = new MailFactory(); |
| | | break; |
| | | //短信发送 |
| | | case 2: |
| | | provider = new SmsFactory(); |
| | | break; |
| | | default: |
| | | System.out.println("抛异常"); |
| | | } |
| | | Sender sender = provider.produce(); |
| | | sender.sendMessage(messageParam); |
| | | return message; |
| | | } |
| | | } |