package org.taobao88.taobao.enterprise.service.impl;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.taobao88.taobao.enterprise.entity.Goods;
import org.taobao88.taobao.enterprise.entity.UserT;
import org.taobao88.taobao.enterprise.service.MailService;
import org.taobao88.taobao.mail.MailMail;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
@Repository("mailService")
public class MailServiceImpl implements MailService {
@Autowired private MailMail mailMail;
@Override
public void sendSimpleMessage(String from, String to, String subject, String message) {
mailMail.sendMail(from, to, subject, message);
}
@Override
public void sendOrderMessage(String from, String to, String subject, UserT user, List<Goods> goods) {
StringBuffer messageText = new StringBuffer();
messageText.append("<h3>Order from " + user.getNameUser() + "</h3>");
messageText.append("<h4>mail: " + user.getGmail() + "</h4>");
messageText.append("<table rules=\"all\" style=\"width: 400px;\">");
messageText.append("<thead>");
messageText.append("<tr>");
messageText.append("<th>Item Number</th>");
messageText.append("<th>Href</th>");
messageText.append("<th>Price</th>");
messageText.append("</tr>");
messageText.append("</thead>");
messageText.append("<tbody>");
for (Goods g : goods) {
messageText.append("<tr>");
messageText.append("<td>" + g.getIdGoods() + "</td>");
messageText.append("<td>" + g.getHrefGoods() + "</td>");
messageText.append("<td>" + g.getPriceGoods() + "</td>");
messageText.append("</tr>");
}
messageText.append("</tbody>");
messageText.append("</table>");
mailMail.sendMail(from, to, subject, messageText.toString());
}
@Override
public void sendMessageByFreemarkerTemplate(Configuration cfg, Map<String, Object> templateModel, String to, String subject, String templateName) {
ResourceBundle getPath = ResourceBundle.getBundle("mail");
String from = getPath.getString("mailAdmin");
Template template = null;
Writer out = new StringWriter();
try {
template = cfg.getTemplate(templateName);
template.process(templateModel, out);
} catch (TemplateException | IOException e) {
e.printStackTrace();
}
sendSimpleMessage(from, to, subject, out.toString());
}
}