Browse Source

ljx:修改上传文件接口和新增匹配导出接口

ljx 1 month ago
parent
commit
258795c350

+ 18 - 0
enteprise-admin/src/main/java/com/enteprise/matchAnalysis/controller/MatchController.java

@@ -1,10 +1,14 @@
 package com.enteprise.matchAnalysis.controller;
 
+import com.enteprise.common.annotation.Log;
 import com.enteprise.common.core.controller.BaseController;
 import com.enteprise.common.core.page.TableDataInfo;
+import com.enteprise.common.enums.BusinessType;
+import com.enteprise.common.utils.poi.ExcelUtil;
 import com.enteprise.matchAnalysis.domain.MatchAna;
 import com.enteprise.matchAnalysis.domain.dto.MatchDto;
 import com.enteprise.matchAnalysis.service.IMatchService;
+import com.enteprise.priceindex.domain.PriceIndex;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -12,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 import static com.enteprise.util.CommonUtil.startPageL;
@@ -32,4 +37,17 @@ public class MatchController extends BaseController {
         List<MatchDto> list = matchService.matchAnalysisList(matchAna);
         return startPageL(list, pageNum, pageSize);
     }
+
+    /**
+     * 导出match列表
+     */
+    @PreAuthorize("@ss.hasPermi('match:match:export')")
+    @Log(title = "match", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, MatchAna matchAna)
+    {
+        List<MatchDto> list = matchService.matchAnalysisList(matchAna);
+        ExcelUtil<MatchDto> util = new ExcelUtil<>(MatchDto.class);
+        util.exportExcel(response, list, "match数据");
+    }
 }

+ 7 - 0
enteprise-admin/src/main/java/com/enteprise/matchAnalysis/domain/dto/MatchDto.java

@@ -1,18 +1,25 @@
 package com.enteprise.matchAnalysis.domain.dto;
 
 import com.enteprise.common.annotation.Excel;
+import com.enteprise.util.CustomExcelHandler;
 
 public class MatchDto {
+
+    @Excel(name = "企业名称")
     private String enterpriseName;
 
+    @Excel(name = "相差值",  handler = CustomExcelHandler.class)
     private double trueThreshold;
 
+    @Excel(name = "坐落地")
     private String location;
 
     /** 行业代码 */
+    @Excel(name = "行业代码")
     private String code;
 
     private String typeNum;
+    @Excel(name = "企业分类")
     private String typeName;
 
     public MatchDto(String enterpriseName, double trueThreshold, String location, String code, String typeNum, String typeName) {

+ 42 - 8
enteprise-admin/src/main/java/com/enteprise/uploadfile/controller/UploadfileController.java

@@ -1,17 +1,15 @@
 package com.enteprise.uploadfile.controller;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.enteprise.common.config.RuoYiConfig;
+import com.enteprise.framework.config.ServerConfig;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.enteprise.common.annotation.Log;
 import com.enteprise.common.core.controller.BaseController;
 import com.enteprise.common.core.domain.AjaxResult;
@@ -20,6 +18,7 @@ import com.enteprise.uploadfile.domain.Uploadfile;
 import com.enteprise.uploadfile.service.IUploadfileService;
 import com.enteprise.common.utils.poi.ExcelUtil;
 import com.enteprise.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * uploadfileController
@@ -33,6 +32,8 @@ public class UploadfileController extends BaseController
 {
     @Autowired
     private IUploadfileService uploadfileService;
+    @Autowired
+    private ServerConfig serverConfig;
 
     /**
      * 查询uploadfile列表
@@ -101,4 +102,37 @@ public class UploadfileController extends BaseController
     {
         return toAjax(uploadfileService.deleteUploadfileByIds(ids));
     }
+
+    @PostMapping("/upload")
+    public AjaxResult uploadFile(@RequestParam("file") MultipartFile file) {
+        if (file.isEmpty()) {
+            return AjaxResult.error("上传文件不能为空");
+        }
+
+        try {
+            // 生成文件名(保留原始名称)
+            String originalFilename = file.getOriginalFilename();
+            String uploadPath = RuoYiConfig.getUploadPath();
+            // 创建存储目录
+            File destDir = new File(uploadPath);
+            if (!destDir.exists()) {
+                destDir.mkdirs();
+            }
+
+            // 保存文件
+            File destFile = new File(destDir, originalFilename);
+            file.transferTo(destFile);
+
+            // 构建返回URL
+            String url = serverConfig.getUrl() + "/" + originalFilename;
+
+            return AjaxResult.success()
+                    .put("url", url)
+                    .put("fileName", uploadPath + "/" + originalFilename)
+                    .put("newFileName", originalFilename)
+                    .put("originalFilename", originalFilename);
+        } catch (IOException e) {
+            return AjaxResult.error("上传失败:" + e.getMessage());
+        }
+    }
 }

+ 22 - 0
enteprise-admin/src/main/java/com/enteprise/util/CustomExcelHandler.java

@@ -0,0 +1,22 @@
+package com.enteprise.util;
+
+import com.enteprise.common.utils.poi.ExcelHandlerAdapter;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Workbook;
+
+public class CustomExcelHandler implements ExcelHandlerAdapter {
+
+    @Override
+    public Object format(Object value, String[] args, Cell cell, Workbook workbook) {
+        if (value instanceof Double) {
+            double doubleValue = (Double) value;
+            String formattedValue = String.format("%.4f", doubleValue); // 格式化为四位小数
+            cell.setCellValue(formattedValue); // 设置单元格值
+            return formattedValue; // 返回格式化的值
+        }
+        // 对于其他类型,返回 null 或处理逻辑
+        return null; // 或者使用super.format(value, args, cell, workbook); 依据您的需求
+    }
+}
+
+

+ 2 - 0
enteprise-admin/src/main/java/com/enteprise/web/controller/common/CommonController.java

@@ -1,5 +1,6 @@
 package com.enteprise.web.controller.common;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
@@ -95,6 +96,7 @@ public class CommonController
         }
     }
 
+
     /**
      * 通用上传请求(多个)
      */

+ 2 - 2
enteprise-admin/src/main/resources/application-druid.yml

@@ -6,9 +6,9 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://139.9.50.163:3306/enterprise?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://127.0.0.1:3306/enterprise?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
-                password: ydl@123456
+                password: 123456
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭

+ 1 - 1
enteprise-admin/src/main/resources/application.yml

@@ -7,7 +7,7 @@ ruoyi:
   # 版权年份
   copyrightYear: 2024
   # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
-  profile: D:/ruoyi/uploadPath
+  profile: C:/ruoyi/uploadPath
   # 获取ip地址开关
   addressEnabled: false
   # 验证码类型 math 数字计算 char 字符验证

+ 1 - 0
enteprise-common/src/main/java/com/enteprise/common/utils/file/FileUploadUtils.java

@@ -86,6 +86,7 @@ public class FileUploadUtils
         }
     }
 
+
     /**
      * 文件上传
      *