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