From 3f9ebf19e687c33287b0eaec64d4564a212f57db Mon Sep 17 00:00:00 2001 From: mg <maokecheng@163.com> Date: 星期三, 12 十月 2022 16:59:57 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server --- ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java | 64 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 11 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java index da47266..77a4d29 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java @@ -1,18 +1,26 @@ 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 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 com.ycl.service.user.UmsAdminService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - -import java.util.Date; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 娑堟伅 鏈嶅姟瀹炵幇绫� * </p> * * @author mg @@ -20,14 +28,48 @@ */ @Service public class IMessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService { + + @Autowired + private UmsAdminService adminService; + @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(); + //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: + throw new ApiException("鏈尮閰嶅埌璇ョ被鍨�"); + } + 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; + } } -- Gitblit v1.8.0