From fb782c34e30f129abd410cc83b4b107f5c089760 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期一, 06 二月 2023 11:31:16 +0800 Subject: [PATCH] bom反馈提交 --- src/main/java/com/whyc/service/BOMFeedbakService.java | 78 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/whyc/service/BOMFeedbakService.java b/src/main/java/com/whyc/service/BOMFeedbakService.java index 9ae19a0..af4a31b 100644 --- a/src/main/java/com/whyc/service/BOMFeedbakService.java +++ b/src/main/java/com/whyc/service/BOMFeedbakService.java @@ -6,12 +6,22 @@ import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.BOMFeedbakMapper; -import com.whyc.pojo.DocLog; +import com.whyc.mapper.DocUserMapper; +import com.whyc.pojo.BOMFeedback; import com.whyc.pojo.DocUser; import com.whyc.util.ActionUtil; +import com.whyc.util.CommonUtil; +import com.whyc.util.MailUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; +import javax.mail.MessagingException; +import java.io.File; +import java.io.IOException; +import java.util.Date; +import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -19,6 +29,10 @@ public class BOMFeedbakService { @Autowired(required = false) private BOMFeedbakMapper mapper; + @Autowired + private MailUtil mailUtil; + @Resource + private DocUserMapper userMapper; //缁熻 public Map<String, Integer> getFkStatistic(DocUser user,Map<String, Integer> map) { int sendFk=0; @@ -89,4 +103,66 @@ } return new Response().set(1,bl,msg); } + + /** + * 鎻愪氦鍙嶉: + * 1.璁板綍鏁版嵁搴撲繚瀛� + * 2.闄勪欢瀛樺偍 + * 3.閭欢鍙戦�� + * @param feedback bom闂鍙嶉 + * @return response + */ + public Response submitFeedback(BOMFeedback feedback) throws IOException, MessagingException { + MultipartFile multipartFile = feedback.getMultipartFile(); + Date date = new Date(); + if(multipartFile!=null){ + //瀛樺偍鏂囦欢 + String rootFile = CommonUtil.getRootFile(); + long time = date.getTime(); + String originalFilename = multipartFile.getOriginalFilename(); + String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); + String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); + String feedbackPath = "feedback_bom" + File.separator + fileName + "_" + time + suffix; + File file = new File(rootFile + feedbackPath); + if (!file.exists()){ + file.mkdirs(); + } + multipartFile.transferTo(file); + feedback.setFile("doc_file"+File.separator+feedbackPath); + } + //淇濆瓨 + feedback.setCreateTime(date); + feedback.setConfirmStatus(0); + mapper.insert(feedback); + //鍙戦�侀偖浠� + String receiverIds = feedback.getReceiverIds(); + String[] receiverIdsSplit = receiverIds.split(","); + List<String> receiverMailList = new LinkedList<>(); + + Integer senderId = feedback.getSenderId(); + String senderName = null; + + List<DocUser> docUsers = userMapper.selectList(null); + for (DocUser docUser:docUsers){ + if(docUser.getId().intValue() == senderId){ + senderName = docUser.getName(); + break; + } + } + + for (String receiverId:receiverIdsSplit){ + for (DocUser docUser:docUsers){ + if(docUser.getId().intValue() == Integer.parseInt(receiverId)){ + receiverMailList.add(docUser.getMail()); + break; + } + } + } + + String subject = "Bom闂鍙嶉-"+senderName; + String content = feedback.getContent(); + mailUtil.sendMailBatch(senderName,receiverMailList,subject,content); + return new Response().set(1,true,"鍙嶉瀹屾垚"); + } + } -- Gitblit v1.9.1