From b1f4fd76dbc3eaafe9296fe35b28b4e65510e367 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 19 十月 2022 09:16:45 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/UploaderService.java |   81 +++++++++++++++++++++++++++++++++-------
 1 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/UploaderService.java b/src/main/java/com/lf/server/service/data/UploaderService.java
index 96a9b71..2eee3fe 100644
--- a/src/main/java/com/lf/server/service/data/UploaderService.java
+++ b/src/main/java/com/lf/server/service/data/UploaderService.java
@@ -6,6 +6,8 @@
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.all.SettingData;
 import com.lf.server.entity.ctrl.FileInfo;
+import com.lf.server.entity.data.MetaEntity;
+import com.lf.server.entity.data.MetaFileEntity;
 import com.lf.server.entity.sys.AttachEntity;
 import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.helper.FileHelper;
@@ -31,7 +33,9 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.lang.reflect.Field;
 import java.net.URLEncoder;
+import java.sql.Timestamp;
 import java.util.*;
 
 /**
@@ -89,6 +93,9 @@
         }
     }
 
+    /**
+     * 鑾峰彇鏂囦欢 MD5 鐮�
+     */
     private String getFileMd5(String filePath) throws IOException {
         FileInputStream fileStream = new FileInputStream(filePath);
         String md5 = DigestUtils.md5Hex(fileStream);
@@ -97,6 +104,9 @@
         return md5;
     }
 
+    /**
+     * 鑾峰彇闄勪欢瀹炰綋绫�
+     */
     protected AttachEntity getAttachEntity(UserEntity ue, String tab, String oldName, String md5, long sizes) {
         AttachEntity entity = new AttachEntity();
         entity.setName(oldName);
@@ -115,7 +125,7 @@
     /**
      * 涓嬭浇鏂囦欢
      */
-    public void download(String guid, HttpServletRequest req, HttpServletResponse res, BaseController ctrl) {
+    public void download(String guid, HttpServletResponse res) {
         try {
             if (StringHelper.isEmpty(guid)) {
                 WebHelper.write2Page(res, NO_FILE);
@@ -158,6 +168,9 @@
         }
     }
 
+    /**
+     * 璁剧疆涓嬭浇鍝嶅簲淇℃伅
+     */
     private void setDownloadResponse(AttachEntity entity, HttpServletResponse res) throws IOException {
         String fileName = URLEncoder.encode(entity.getName(), "UTF-8");
 
@@ -175,15 +188,54 @@
     /**
      * 涓婁紶鏂囦欢
      */
-    public Object uploadData(HttpServletRequest request, HttpServletResponse res) throws Exception {
+    public Object uploadData(UserEntity ue, HttpServletRequest request, HttpServletResponse res) throws Exception {
         StandardMultipartHttpServletRequest req = (StandardMultipartHttpServletRequest) request;
         req.setCharacterEncoding("utf-8");
         res.setContentType("application/json;charset=utf-8");
 
-        Map<String, String> map = getParams(req);
-        List<FileInfo> list = getFiles(req);
+        MetaEntity me = getMetaEntity(req);
+        List<MetaFileEntity> list = getFiles(req);
+        //
 
         return list.size();
+    }
+
+    private MetaEntity getMetaEntity(StandardMultipartHttpServletRequest req) {
+        MetaEntity me = new MetaEntity();
+
+        Enumeration<String> enumeration = req.getParameterNames();
+        while (enumeration.hasMoreElements()) {
+            String key = enumeration.nextElement();
+
+            try {
+                Field field = me.getClass().getDeclaredField(key);
+                if (field != null) {
+                    field.setAccessible(true);
+                    String value = req.getParameter(key);
+                    switch (field.getType().toString()) {
+                        case "class java.lang.String":
+                            field.set(me, value);
+                            break;
+                        case "long":
+                            field.set(me, Long.valueOf(value));
+                            break;
+                        case "int":
+                            field.set(me, Integer.valueOf(value));
+                            break;
+                        case "class java.sql.Timestamp":
+                            field.set(me, Timestamp.valueOf(value));
+                            break;
+                        default:
+                            field.set(me, value);
+                            break;
+                    }
+                }
+            } catch (Exception ex) {
+                //
+            }
+        }
+
+        return me;
     }
 
     /**
@@ -207,25 +259,26 @@
     /**
      * 鑾峰彇鏂囦欢
      */
-    private List<FileInfo> getFiles(StandardMultipartHttpServletRequest req) throws Exception {
-        List<FileInfo> list = new ArrayList<FileInfo>();
+    private List<MetaFileEntity> getFiles(StandardMultipartHttpServletRequest req) throws Exception {
+        List<MetaFileEntity> list = new ArrayList<MetaFileEntity>();
 
         String path = pathHelper.getTempPath();
         Iterator<String> iterator = req.getFileNames();
         while (iterator.hasNext()) {
             MultipartFile file = req.getFile(iterator.next());
-
-            FileInfo fi = new FileInfo(file.getOriginalFilename());
-            if (StringHelper.isEmpty(fi.getFileName())) {
+            if (StringHelper.isEmpty(file.getOriginalFilename())) {
                 continue;
             }
 
-            fi.setSize(file.getSize());
-            fi.setPath(path + File.separator + fi.getFileName());
-            file.transferTo(new File(fi.getPath()));
-            fi.setMd5(getFileMd5(fi.getPath()));
+            MetaFileEntity mf = new MetaFileEntity();
+            mf.setName(file.getOriginalFilename());
+            mf.setSizes(file.getSize());
+            mf.setPath(path + File.separator + mf.getName());
 
-            list.add(fi);
+            file.transferTo(new File(mf.getPath()));
+            mf.setGuid(getFileMd5(mf.getPath()));
+
+            list.add(mf);
         }
 
         return list;

--
Gitblit v1.9.3