| | |
| | | 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.exception.ApiException; |
| | | import com.ycl.mapper.message.MessageMapper; |
| | | import com.ycl.service.message.IMessageService; |
| | | import com.ycl.service.message.Provider; |
| | |
| | | import com.ycl.service.message.factory.InnerFactory; |
| | | import com.ycl.service.message.factory.MailFactory; |
| | | import com.ycl.service.message.factory.SmsFactory; |
| | | import com.ycl.service.user.UmsAdminService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Service |
| | | public class IMessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService { |
| | | |
| | | @Autowired |
| | | private UmsAdminService adminService; |
| | | |
| | | @Override |
| | | public Message sendMessage(MessageParam messageParam) { |
| | | Message message = null; |
| | |
| | | //邮件发送 |
| | | case "02": |
| | | provider = new MailFactory(); |
| | | //id换成邮箱号 |
| | | String targetToMail = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); |
| | | messageParam.setTargetTo(targetToMail); |
| | | |
| | | break; |
| | | //短信发送 |
| | | case "03": |
| | | provider = new SmsFactory(); |
| | | //id换成手机号 |
| | | String targetToPhone = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); |
| | | messageParam.setTargetTo(targetToPhone); |
| | | break; |
| | | default: |
| | | System.out.println("抛异常"); |
| | | throw new ApiException("未匹配到该类型"); |
| | | } |
| | | Sender sender = provider.produce(); |
| | | sender.sendMessage(messageParam); |
| | |
| | | |
| | | @Override |
| | | public IPage<Message> list(MessageParam messageParam) { |
| | | return null; |
| | | Page<Message> page = new Page<>(messageParam.getCurrent(), messageParam.getPageSize()); |
| | | LambdaQueryWrapper<Message> queryWrapper = new LambdaQueryWrapper<>(); |
| | | Page<Message> result = baseMapper.selectPage(page, queryWrapper); |
| | | return result; |
| | | } |
| | | } |