Explorar o código

专家库下载模板

sunhh %!s(int64=2) %!d(string=hai) anos
pai
achega
b0647b6a2c

+ 16 - 0
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseProfessionalController.java

@@ -5,6 +5,7 @@ import com.ozs.base.domain.vo.BaseProfessionalVo;
 import com.ozs.base.service.BaseProfessionalService;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.R;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.StringUtils;
@@ -13,11 +14,17 @@ import com.ozs.plan.doman.ProvisionalPlan;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.FileInputStream;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.List;
 
 /**
@@ -98,4 +105,13 @@ public class BaseProfessionalController extends BaseController {
         ExcelUtil<BaseProfessional> util = new ExcelUtil<>(BaseProfessional.class);
         util.exportExcel(response, list, "专业库数据");
     }
+
+    @ApiOperation("文件下载")
+    @GetMapping("/downloaExcel")
+    public AjaxResult downloadZip(HttpServletRequest request, HttpServletResponse response) {
+        // 文件路径
+        String downloadPath = "/Users/sunhuanhuan/Documents/project/106/project/purchase/purchase-admin/专业库模板.xlsx";
+        // 下载文件
+        return baseProfessionalService.downloadPathFile(downloadPath, request, response);
+    }
 }

+ 12 - 0
purchase-system/src/main/java/com/ozs/base/service/BaseProfessionalService.java

@@ -3,7 +3,10 @@ package com.ozs.base.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.base.domain.BaseProfessional;
 import com.ozs.base.domain.vo.BaseProfessionalVo;
+import com.ozs.common.core.domain.AjaxResult;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 public interface BaseProfessionalService extends IService<BaseProfessional> {
@@ -13,4 +16,13 @@ public interface BaseProfessionalService extends IService<BaseProfessional> {
     void deleteIds(List<Integer> deleteIds);
 
     String importBaseProfessional(List<BaseProfessional> userList, boolean updateSupport);
+
+    /**
+     * 下载模板
+     * @param downloadPath
+     * @param request
+     * @param response
+     * @return
+     */
+    AjaxResult downloadPathFile(String downloadPath, HttpServletRequest request, HttpServletResponse response);
 }

+ 50 - 0
purchase-system/src/main/java/com/ozs/base/service/impl/BaseProfessionalServiceImpl.java

@@ -5,6 +5,7 @@ import com.ozs.base.domain.BaseProfessional;
 import com.ozs.base.domain.vo.BaseProfessionalVo;
 import com.ozs.base.mapper.BaseProfessionalMapper;
 import com.ozs.base.service.BaseProfessionalService;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDictType;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.exception.ServiceException;
@@ -15,7 +16,10 @@ import com.ozs.common.utils.bean.BeanValidators;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Validator;
+import java.io.*;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -78,6 +82,52 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
         return successMsg.toString();
     }
 
+    @Override
+    public AjaxResult downloadPathFile(String downloadPath, HttpServletRequest request, HttpServletResponse response) {
+        //设置文件路径
+        File file = new File(downloadPath);
+        //获取文件名称
+        String fileName = file.getName();
+        //判断文件是否存在
+        if (file.exists()) {
+            response.setContentType("application/force-download");// 设置强制下载不打开
+            response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);// 设置文件名
+            byte[] buffer = new byte[1024];
+            FileInputStream fis = null;
+            BufferedInputStream bis = null;
+            try {
+                fis = new FileInputStream(file);
+                bis = new BufferedInputStream(fis);
+                OutputStream os = response.getOutputStream();
+                int i = bis.read(buffer);
+                while (i != -1) {
+                    os.write(buffer, 0, i);
+                    i = bis.read(buffer);
+                }
+                file.delete();
+                return AjaxResult.success("下载成功");
+            } catch (Exception e) {
+                e.printStackTrace();
+            } finally {
+                if (bis != null) {
+                    try {
+                        bis.close();
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                }
+                if (fis != null) {
+                    try {
+                        fis.close();
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        }
+        return AjaxResult.success("下载失败");
+    }
+
     @Override
     public List<BaseProfessionalVo> selectBaseProfessionalVo(BaseProfessionalVo baseProfessionalVo) {
         List<BaseProfessional> allList = new ArrayList<>();