zhanghua
2022-10-10 6f5fa96f0b63f5db9424507f51760672d1750c83
ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
@@ -1,18 +1,21 @@
package com.ycl.service.message.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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>
 * 服务实现类
 * 消息 服务实现类
 * </p>
 *
 * @author mg
@@ -21,13 +24,33 @@
@Service
public class IMessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService {
    @Override
    public Message sendMessage(MessageParam mssageParam) {
        Message message = new Message();
        BeanUtils.copyProperties(mssageParam, message);
        //生成默认参数
        message.setCreateTime(new Date());
        message.setUpdateTime(new Date());
        baseMapper.insert(message);
    public Message sendMessage(MessageParam messageParam) {
        Message message = null;
        Provider provider = null;
        switch (messageParam.getChannelCode())
        {
            //内站发送
            case "01":
                provider = new InnerFactory();
                break;
            //邮件发送
            case "02":
                provider = new MailFactory();
                break;
             //短信发送
            case "03":
                provider = new SmsFactory();
                break;
            default:
                System.out.println("抛异常");
        }
        Sender sender = provider.produce();
        sender.sendMessage(messageParam);
        return message;
    }
    @Override
    public IPage<Message> list(MessageParam messageParam) {
        return null;
    }
}