From 94e3a209bb9a31c4ddbd31494bb1628f6fe2e96e Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 12 十月 2022 17:54:49 +0800
Subject: [PATCH] 新增首页工单 办事指南排行榜接口   导办人员排行榜接口  组织排行榜接口  新增办事指南统计接口   导办人员统计接口  组织胖行榜统计接口

---
 flower_city/src/main/java/com/dg/core/controller/CommonController.java |  128 +++++++++++++++++++++++++++++++-----------
 1 files changed, 94 insertions(+), 34 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/controller/CommonController.java b/flower_city/src/main/java/com/dg/core/controller/CommonController.java
index dcc1a42..041670a 100644
--- a/flower_city/src/main/java/com/dg/core/controller/CommonController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/CommonController.java
@@ -3,33 +3,53 @@
 import com.dg.core.CorsConfig;
 import com.dg.core.ResultData;
 import com.dg.core.db.gen.AjaxResult;
-import com.dg.core.file.FileUploadUtils;
-import com.dg.core.file.FileUtils;
+import com.dg.core.file.FtpConstants;
+import com.dg.core.file.MimeTypeUtils;
+import com.dg.core.file.SFTPUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 
+import static com.dg.core.file.FileTypeUploadUtils.assertAllowed;
 
 
 @Api(tags = {"通用接口"})
 @RestController
 @RequestMapping("/common")
-public class CommonController extends BaseController
-{
+public class CommonController extends BaseController {
 
   private static final String FILE_DELIMETER = ",";
 
   @Autowired
   private CorsConfig corsConfig;
+
+
+  // FTP 登录用户名
+  @Value("${ftp.username}")
+  private String userName;
+  // FTP 登录密码
+  @Value("${ftp.password}")
+  private String password;
+  // FTP 服务器地址IP地址
+  @Value("${ftp.host}")
+  private String host;
+  // FTP 端口
+  @Value("${ftp.port}")
+  private int port;
+  @Value("${ftp.url}")
+  private String url;
 
 
   @RequestMapping("/hello")
@@ -39,42 +59,82 @@
   }
 
 
-
   /**
    * 通用上传请求(多个)
    */
   @ApiOperation("文件上传接口(通用)")
   @PostMapping("/uploads")
-  public ResultData uploadFiles(List<MultipartFile> files) throws Exception {
-    try {
-      // 上传文件路径
-      String filePath = FileUploadUtils.defaultBaseDir;
-//      String filePath = "D:/tupianshuju";
+  public ResultData uploadFiles(List<MultipartFile> files) throws Exception
+  {
+    List<String> urls = new ArrayList<String>();
+    List<String> fileNames = new ArrayList<String>();
+    List<String> originalFilenames = new ArrayList<String>();
+    for (MultipartFile file : files) {
+      String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+      String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
+      try {
+        assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+        SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+        sftp.login();
+        InputStream is = file.getInputStream();
+        sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
+        sftp.logout();
 
-      System.out.println("上传文件路径"+filePath);
-
-      List<String> urls = new ArrayList<String>();
-      List<String> fileNames = new ArrayList<String>();
-      List<String> newFileNames = new ArrayList<String>();
-      List<String> originalFilenames = new ArrayList<String>();
-      for (MultipartFile file : files) {
-        // 上传并返回新文件名称
-        String fileName = FileUploadUtils.upload(filePath, file);
-        String url = corsConfig.getUrl() + fileName;
-        urls.add(url);
-        fileNames.add(fileName);
-        newFileNames.add(FileUtils.getName(fileName));
+        urls.add(url + "/idcard/" + name);
+        fileNames.add(name);
         originalFilenames.add(file.getOriginalFilename());
+
+      } catch (Exception e) {
+        return ResultData.error("上传文件失败 "+e.getMessage());
       }
-      AjaxResult ajax = new AjaxResult();
-      ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
-      ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
-      ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER));
-      ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
-      return ResultData.success(ajax);
-    } catch (Exception e) {
-      return ResultData.error(e.getMessage());
     }
+    AjaxResult ajax = new AjaxResult();
+    ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
+    ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
+    ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
+    return ResultData.success(ajax);
+
   }
 
+
+
+  /**
+   * 通用上传请求(多个)
+   */
+  @ApiOperation("文件上传接口(通用)")
+  @PostMapping("/upload")
+  public ResultData uploadFile(MultipartFile file) throws Exception
+  {
+    List<String> urls = new ArrayList<String>();
+    List<String> fileNames = new ArrayList<String>();
+    List<String> originalFilenames = new ArrayList<String>();
+
+    String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+    String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
+    try {
+      assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+      SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+      sftp.login();
+      InputStream is = file.getInputStream();
+      sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
+      sftp.logout();
+
+//      urls.add(url + "/idcard/" + name);
+//      fileNames.add(name);
+//      originalFilenames.add(file.getOriginalFilename());
+      return ResultData.success(url + "/idcard/" + name);
+    } catch (Exception e) {
+      return ResultData.error("上传文件失败 "+e.getMessage());
+    }
+
+
+//    AjaxResult ajax = new AjaxResult();
+//    ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
+//    ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
+//    ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
+
+
+  }
+
+
 }

--
Gitblit v1.7.1