From 5cbb2e7fc3d81ac895548179a7be9a65fa726c6d Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期三, 14 八月 2024 17:55:28 +0800
Subject: [PATCH] 企业二维码批量下载

---
 project-common/src/main/java/com/project/common/utils/zip/ZipUtils.java                   |    4 ++--
 project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java |   33 +++++++++++++++++++++------------
 2 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
index 30e97c1..2862213 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
@@ -1,9 +1,7 @@
 package com.project.admin.controller.system;
 
-import cn.hutool.core.convert.Convert;
 import com.project.common.annotation.Log;
 import com.project.common.annotation.RepeatSubmit;
-import com.project.common.config.ProjectConfig;
 import com.project.common.core.controller.BaseController;
 import com.project.common.core.domain.AjaxResult;
 import com.project.common.core.page.TableDataInfo;
@@ -59,18 +57,29 @@
 
     @ApiOperation("涓嬭浇浜岀淮鐮�")
     @GetMapping("/downloadQrcode")
-    public void downloadQrcode(SysCompanyQueryBo bo, HttpServletResponse response)
+    public void downloadQrcode(String companyIds, HttpServletResponse response)
     {
-        List<SysCompanyVo> list = iSysCompanyService.queryList(bo);
-        list.forEach(e->{
-            if (StringUtils.isEmpty(e.getQrcodeImg())){
-                String qrcode = ImageUtils.createQrcode(e.getCompanyCode(), e.getCompanyName(), "2");
-                e.setQrcodeImg(qrcode);
-                iSysCompanyService.updateById(Convert.convert(SysCompany.class, e));
+        if (StringUtils.isNotEmpty(companyIds)){
+            String[] split = companyIds.split(",");
+            List<Long> longs = new ArrayList<>();
+            for (String s : split) {
+                long l = Long.parseLong(s);
+                longs.add(l);
             }
-        });
-        List<String> collect = list.stream().map(SysCompanyVo::getQrcodeImg).collect(Collectors.toList());
-        ZipUtils.downloadToZip(collect, response);
+            List<SysCompany> list = iSysCompanyService.list(iSysCompanyService.lq()
+                    .in(StringUtils.isNotEmpty(longs), SysCompany::getCompanyId, longs)
+            );
+            list.forEach(e->{
+                if (StringUtils.isEmpty(e.getQrcodeImg())){
+                    String qrcode = ImageUtils.createQrcode(e.getCompanyCode(), e.getCompanyName(), "2");
+                    e.setQrcodeImg(qrcode);
+                    iSysCompanyService.updateById(e);
+                }
+            });
+            List<String> collect = list.stream().map(SysCompany::getQrcodeImg).collect(Collectors.toList());
+            List<String> names = list.stream().map(SysCompany::getCompanyName).collect(Collectors.toList());
+            ZipUtils.downloadToZip(collect,names, response);
+        }
     }
 
 
diff --git a/project-common/src/main/java/com/project/common/utils/zip/ZipUtils.java b/project-common/src/main/java/com/project/common/utils/zip/ZipUtils.java
index 619e89f..af4299f 100644
--- a/project-common/src/main/java/com/project/common/utils/zip/ZipUtils.java
+++ b/project-common/src/main/java/com/project/common/utils/zip/ZipUtils.java
@@ -27,7 +27,7 @@
      * @param list 鍥剧墖鏁扮粍
      * @param response  鍝嶅簲
      */
-    public static void downloadToZip(List<String> list, HttpServletResponse response)
+    public static void downloadToZip(List<String> list, List<String> names, HttpServletResponse response)
     {
         int i = 0;
         //濡傛灉鏈夐檮浠� 杩涜zip澶勭悊
@@ -43,7 +43,7 @@
                     InputStream ins = Files.newInputStream(Paths.get(localPath + s));
                     //濉炲叆娴佹暟缁勪腑
                     srcFiles[i] = ins;
-                    srcFileNames[i] = path.substring(path.lastIndexOf("/",path.lastIndexOf("-")));
+                    srcFileNames[i] = names.get(list.indexOf(path))+".png";
                     i++;
                 }
                 response.setCharacterEncoding("UTF-8");

--
Gitblit v1.9.1