add 增加 资源服务 短信与邮件 远程接口实现

2.X
疯狂的狮子li 3 years ago
parent 92d07f2bfc
commit 079b7c2455

@ -0,0 +1,34 @@
package com.ruoyi.resource.api;
import com.ruoyi.common.core.exception.ServiceException;
import java.io.File;
import java.util.List;
/**
*
*
* @author Lion Li
*/
public interface RemoteMailService {
/**
*
*
* @param to
* @param subject
* @param text
*/
void send(String to, String subject, String text) throws ServiceException;
/**
*
*
* @param to
* @param subject
* @param text
* @param fileList
*/
void sendWithAttachment(String to, String subject, String text, List<File> fileList) throws ServiceException;
}

@ -0,0 +1,25 @@
package com.ruoyi.resource.api;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.resource.api.domain.SysFile;
import com.ruoyi.resource.api.domain.SysSms;
import java.util.Map;
/**
*
*
* @author Lion Li
*/
public interface RemoteSmsService {
/**
*
*
* @param phones ()
* @param templateId id
* @param param
*/
SysSms send(String phones, String templateId, Map<String, String> param) throws ServiceException;
}

@ -0,0 +1,32 @@
package com.ruoyi.resource.api.domain;
import lombok.Data;
import java.io.Serializable;
/**
*
*
* @author ruoyi
*/
@Data
public class SysSms implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private Boolean isSuccess;
/**
*
*/
private String message;
/**
*
*/
private Object response;
}

@ -0,0 +1,51 @@
package com.ruoyi.resource.dubbo;
import cn.hutool.core.util.ArrayUtil;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.mail.config.properties.MailProperties;
import com.ruoyi.common.mail.utils.MailUtils;
import com.ruoyi.common.sms.config.properties.SmsProperties;
import com.ruoyi.resource.api.RemoteMailService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service;
import java.io.File;
import java.util.List;
/**
*
*
* @author Lion Li
*/
@Slf4j
@RequiredArgsConstructor
@Service
@DubboService
public class RemoteMailServiceImpl implements RemoteMailService {
/**
*
*
* @param to
* @param subject
* @param text
*/
public void send(String to, String subject, String text) throws ServiceException {
MailUtils.sendText(to, subject, text);
}
/**
*
*
* @param to
* @param subject
* @param text
* @param fileList
*/
public void sendWithAttachment(String to, String subject, String text, List<File> fileList) throws ServiceException {
MailUtils.sendText(to, subject, text, ArrayUtil.toArray(fileList, File.class));
}
}

@ -0,0 +1,60 @@
package com.ruoyi.resource.dubbo;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.oss.entity.UploadResult;
import com.ruoyi.common.oss.factory.OssFactory;
import com.ruoyi.common.oss.service.IOssStrategy;
import com.ruoyi.common.sms.config.properties.SmsProperties;
import com.ruoyi.common.sms.core.SmsTemplate;
import com.ruoyi.common.sms.entity.SmsResult;
import com.ruoyi.resource.api.RemoteFileService;
import com.ruoyi.resource.api.RemoteSmsService;
import com.ruoyi.resource.api.domain.SysFile;
import com.ruoyi.resource.api.domain.SysSms;
import com.ruoyi.resource.domain.SysOss;
import com.ruoyi.resource.mapper.SysOssMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
*
*
* @author Lion Li
*/
@Slf4j
@RequiredArgsConstructor
@Service
@DubboService
public class RemoteSmsServiceImpl implements RemoteSmsService {
private final SmsProperties smsProperties;
/**
*
*
* @param phones ()
* @param templateId id
* @param param
*/
public SysSms send(String phones, String templateId, Map<String, String> param) throws ServiceException {
if (smsProperties.getEnabled()) {
R.fail("当前系统没有开启短信功能!");
}
SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
SmsResult smsResult = smsTemplate.send(phones, templateId, param);
return BeanUtil.toBean(smsResult, SysSms.class);
}
}
Loading…
Cancel
Save