|
@@ -1,14 +1,19 @@
|
|
|
package com.uas.saas.admin.service;
|
|
|
|
|
|
-import com.alibaba.dubbo.config.annotation.Reference;
|
|
|
-import com.uas.account.sso.integration.entity.UserView;
|
|
|
-import com.uas.message.mail.service.MailService;
|
|
|
import com.uas.saas.admin.entity.MailSetting;
|
|
|
import com.uas.saas.admin.repository.MailSettingRepository;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.ui.ModelMap;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+import org.springframework.web.client.RestTemplate;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
|
* @author yingp
|
|
@@ -17,14 +22,19 @@ import org.springframework.ui.ModelMap;
|
|
|
@Service
|
|
|
public class MailSender {
|
|
|
|
|
|
- @Reference(application = "saas-admin", registry = "zookeeper://10.10.100.11:2181")
|
|
|
- private MailService mailService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private MailSettingRepository settingRepository;
|
|
|
|
|
|
+ private RestTemplate restTemplate = new RestTemplate();
|
|
|
+
|
|
|
+ @Value("${mail.api.send}")
|
|
|
+ private String mailSendUrl;
|
|
|
+
|
|
|
+ private final Logger logger = LoggerFactory.getLogger(MailSender.class);
|
|
|
+
|
|
|
|
|
|
* 发邮件
|
|
|
+ *
|
|
|
* @param key
|
|
|
* @param email
|
|
|
* @param data
|
|
@@ -33,7 +43,15 @@ public class MailSender {
|
|
|
public void sendMail(String key, String email, ModelMap data) {
|
|
|
MailSetting setting = settingRepository.getMailSetting(key);
|
|
|
if (null != setting) {
|
|
|
- mailService.send(setting.getTpl(), email, data);
|
|
|
+ Map<String, Object> req = new HashMap<>(3);
|
|
|
+ req.put("templateId", setting.getTpl());
|
|
|
+ req.put("receiver", email);
|
|
|
+ req.put("params", data);
|
|
|
+ Map resp = restTemplate.postForObject(mailSendUrl, req, Map.class);
|
|
|
+ String errMsg = (String) resp.get("errMsg");
|
|
|
+ if (!StringUtils.isEmpty(errMsg)) {
|
|
|
+ logger.error("send mail error " + errMsg);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|