zoujiajian 3 жил өмнө
parent
commit
92ce3493b0

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GoodsCoursewareFileMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.GoodsCoursewareFile;
+
+/*
+ *项目名: netflix
+ *文件名: GoodsCoursewareFileMapper
+ *创建者: JavaZou
+ *创建时间:2023/8/24 10:52
+ */
+public interface GoodsCoursewareFileMapper extends BaseMapper<GoodsCoursewareFile> {
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsCoursewareFile.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: netflix
+ *文件名: goods_courseware_file
+ *创建者: JavaZou
+ *创建时间:2023/8/24 10:51
+ */
+@Getter
+@Setter
+public class GoodsCoursewareFile extends BaseEntity{
+	private Long goodsId;
+
+	private String fileName;
+
+	private String path;
+
+	private String img;
+}

+ 38 - 7
netflix-service/src/main/java/com/cyksj/service/mail/impl/MailServiceImpl.java

@@ -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("发送课件失败,请联系客服..");
+		}
 	}
 
 

+ 3 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonSkuController.java

@@ -1,6 +1,8 @@
 package com.cyksj.web.controller.manage.goods;
 
-import com.cyksj.common.annotation.Log;
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.annotation.Log;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
@@ -18,7 +20,6 @@ import com.cyksj.service.mange.CmsGoodsDonService;
 import com.cyksj.service.mange.CmsGoodsDonSkuService;
 import com.cyksj.service.mange.CmsGoodsDonSpecService;
 import com.ejlchina.searcher.BeanSearcher;
-import com.ejlchina.searcher.SearchResult;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;