mg
2022-10-09 6e510a9e46d0beaa101360a07f5c33ac51648d05
ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
@@ -1,15 +1,16 @@
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>
@@ -22,19 +23,28 @@
@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;
    }
}