wl
2022-10-11 70a9fe48e98d2f0206480315f8edc99f9762c93a
ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
@@ -1,18 +1,23 @@
package com.ycl.service.message.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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 +26,36 @@
@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) {
        Page<Message> page = new Page<>(messageParam.getCurrent(), messageParam.getPageSize());
        LambdaQueryWrapper<Message> queryWrapper = new LambdaQueryWrapper<>();
        Page<Message> result = baseMapper.selectPage(page, queryWrapper);
        return result;
    }
}