Explorar el Código

生成数据下载的key

DESKTOP-2K9OVK9\siwei hace 3 meses
padre
commit
fbf3a5c801

+ 48 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/supervise/TSupervisePcsjController.java

@@ -1,21 +1,39 @@
 package com.onemap.apply.controller.supervise;
 
 import com.onemap.common.core.constant.HttpStatus;
+import com.onemap.common.core.exception.ServiceException;
 import com.onemap.common.core.utils.StringUtils;
 import com.onemap.common.core.utils.poi.ExcelUtil;
+import com.onemap.common.core.utils.uuid.IdUtils;
 import com.onemap.common.core.web.controller.BaseController;
 import com.onemap.common.core.web.domain.AjaxResult;
 import com.onemap.common.core.web.page.TableDataInfo;
 import com.onemap.common.log.annotation.Log;
 import com.onemap.common.log.enums.BusinessType;
+import com.onemap.common.redis.service.RedisService;
+import com.onemap.common.security.annotation.RequiresPermissions;
 import com.onemap.common.security.utils.SecurityUtils;
 import com.onemap.apply.domain.supervise.TSupervisePcsj;
 import com.onemap.apply.service.supervise.ITSupervisePcsjService;
+import com.onemap.system.api.model.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.Resource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 监管批次数据Controller
@@ -28,6 +46,8 @@ import java.util.List;
 public class TSupervisePcsjController extends BaseController {
     @Autowired
     private ITSupervisePcsjService tSupervisePcsjService;
+    @Autowired
+    private RedisService redisService;
 
     /**
      * 查询监管批次数据列表
@@ -110,4 +130,32 @@ public class TSupervisePcsjController extends BaseController {
     public AjaxResult removeId(@PathVariable("id") String id) {
         return toAjax(tSupervisePcsjService.removeTSupervisePcsjById(id));
     }
+
+    @Log(title = "监管批次数据", businessType = BusinessType.DELETE)
+    @GetMapping("/download/url/{id}")
+    public AjaxResult downloadUrl(@PathVariable("id") String id) {
+        if (StringUtils.isEmpty(id)) {
+            throw new ServiceException("id必须填写");
+        }
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (StringUtils.isEmpty(id)) {
+            throw new ServiceException("用户未登录");
+        }
+        String xzq = SecurityUtils.getLoginUserXzq();
+        TSupervisePcsj tSupervisePcsj = new TSupervisePcsj();
+        tSupervisePcsj.setId(id);
+        if (!loginUser.getSysUser().isAdmin()) {
+            tSupervisePcsj.setXzqdm(xzq);
+        }
+        List<TSupervisePcsj> list = tSupervisePcsjService.selectTSupervisePcsjList(tSupervisePcsj);
+        if (null == list || list.isEmpty()) {
+            throw new ServiceException("未查询到信息");
+        }
+        String uuid = IdUtils.simpleUUID();
+        TSupervisePcsj dto = list.get(0);
+        String upload_id = "upliad_" + dto.getId() + "_" + uuid;
+        redisService.setCacheObject(upload_id, dto.getFilepath(), 30L, TimeUnit.MINUTES);
+        return AjaxResult.success("执行成功", uuid);
+    }
+
 }