|
|
@@ -1,6 +1,11 @@
|
|
|
package com.cyksj.service.mail.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.util.StringUtil;
|
|
|
+import com.cyksj.mapper.GoodsCoursewareFileMapper;
|
|
|
+import com.cyksj.model.entity.GoodsCoursewareFile;
|
|
|
import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.mail.MailService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
@@ -13,7 +18,9 @@ import org.springframework.mail.javamail.MimeMessageHelper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.mail.internet.MimeMessage;
|
|
|
+import javax.mail.internet.MimeUtility;
|
|
|
import java.io.File;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/*
|
|
|
*项目名: netflix
|
|
|
@@ -32,7 +39,9 @@ public class MailServiceImpl implements MailService {
|
|
|
|
|
|
private final RedisService redisService;
|
|
|
|
|
|
- private final static String courseware_path = "courseware";
|
|
|
+ private final GoodsCoursewareFileMapper coursewareFileMapper;
|
|
|
+
|
|
|
+ private static String IMG_HTML = "<p><img src='%s'></p>";
|
|
|
|
|
|
@Override
|
|
|
public String sendLoginCodeEmailToPeople(Integer digit, String toAddress) {
|
|
|
@@ -71,13 +80,35 @@ public class MailServiceImpl implements MailService {
|
|
|
//获取当前目前下的课程文件
|
|
|
MimeMessage msg = mailSender.createMimeMessage();
|
|
|
MimeMessageHelper helper = new MimeMessageHelper(msg,true);
|
|
|
+ List<GoodsCoursewareFile> coursewareFiles = coursewareFileMapper.selectList(Wrappers.lambdaQuery(GoodsCoursewareFile.class)
|
|
|
+ .eq(GoodsCoursewareFile::getGoodsId, goodsId));
|
|
|
+ if (coursewareFiles.isEmpty()) {
|
|
|
+ throw BusinessRuntimeException.getInstance("未配置对应课件,请联系客服..");
|
|
|
+ }
|
|
|
//标题
|
|
|
- helper.setSubject("课程");
|
|
|
- helper.addAttachment("1.docx", new File("D:\\Java\\yicang\\yhlxj\\courseware\\1.docx"));
|
|
|
- helper.setText("xxxxx");
|
|
|
- helper.setFrom(from);
|
|
|
- helper.setTo(email);
|
|
|
- mailSender.send(msg);
|
|
|
+ helper.setSubject(goodsTitle);
|
|
|
+ StringBuilder sb = new StringBuilder(IMG_HTML.length());
|
|
|
+ coursewareFiles.forEach(file->{
|
|
|
+ try {
|
|
|
+ helper.addAttachment(MimeUtility.encodeText(file.getFileName()), new File(file.getPath()));
|
|
|
+ if (StrUtil.isNotBlank(file.getImg())) {
|
|
|
+ sb.append(String.format(IMG_HTML, file.getImg()));
|
|
|
+ sb.append("<br/>");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (sb.length() == 0) {
|
|
|
+ sb.append(goodsTitle);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ helper.setText(sb.toString(), true);
|
|
|
+ helper.setFrom(from);
|
|
|
+ helper.setTo(email);
|
|
|
+ mailSender.send(msg);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw BusinessRuntimeException.getInstance("发送课件失败,请联系客服..");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|