From f823fa4a9283debfa7cb6d79fc1f3c7099f9b3ae Mon Sep 17 00:00:00 2001
From: liuxm <liuxm_a@163.com>
Date: 星期四, 13 六月 2024 14:22:55 +0800
Subject: [PATCH] 去掉原controller中的try catch 和BindingResult

---
 pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/MarkQrCode/MarkQrCodeCtrl.java |   81 +++++++++++-----------------------------
 1 files changed, 23 insertions(+), 58 deletions(-)

diff --git a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/MarkQrCode/MarkQrCodeCtrl.java b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/MarkQrCode/MarkQrCodeCtrl.java
index ddbd240..2998548 100644
--- a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/MarkQrCode/MarkQrCodeCtrl.java
+++ b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/MarkQrCode/MarkQrCodeCtrl.java
@@ -2,22 +2,17 @@
 
 
 import cn.hutool.core.codec.Base64;
-import com.alibaba.excel.EasyExcel;
-import com.dy.common.util.QrCodeGenerator;
+import com.alibaba.excel.converters.Converter;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pmsGlobal.util.QrCodeConstant;
+import com.dy.pmsGlobal.util.QrCodeUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -38,31 +33,18 @@
      * @return
      */
     @GetMapping(path = "show")
-    public BaseResponse<List<ResultVo>> show() {
-        try{
-            List<ResultVo> list = new ArrayList<>() ;
-            Resource resource = new ClassPathResource("/images/logo.png");
-            File logoPngFile = resource.getFile() ;
-            String[][] marks = QrCodeConstant.Marks() ;
-            for(String[] mark : marks){
-                ResultVo vo = new ResultVo() ;
-                vo.code = mark[0] ;
-                vo.name = mark[1] ;
-                //vo.code = "1234567890123456789012" ;
-                //BufferedImage bufferedImage = QrCodeGenerator.toBufferedImage(QrCodeGenerator.createBitMatrix(vo.code, 30, 30));
-                BufferedImage bufferedImage = QrCodeGenerator.toBufferedImage(QrCodeGenerator.createBitMatrix(vo.code, QrCodeConstant.MarkQrCodeWidth, QrCodeConstant.MarkQrCodeHeight));
-                if(logoPngFile != null && logoPngFile.exists()){
-                    bufferedImage = QrCodeGenerator.addQrCodeLogo(bufferedImage, logoPngFile);
-                }
-                byte[] codes = QrCodeGenerator.bufferedImageToByteArray(bufferedImage, "JPG");
-                vo.imgBase64 = "data:image/jpeg;base64," + Base64.encode(codes);
-                list.add(vo) ;
-            }
-            return BaseResponseUtils.buildSuccess(list);
-        }catch (Exception e){
-            log.error("鐢熸垚鏍囪瘑绫讳簩缁寸爜鏃跺紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
+    public BaseResponse<List<ResultVo>> show() throws Exception{
+        List<ResultVo> list = new ArrayList<>() ;
+        String[][] marks = QrCodeConstant.Marks() ;
+        for(String[] mark : marks){
+            ResultVo vo = new ResultVo() ;
+            vo.code = mark[0] ;
+            vo.name = mark[1] ;
+            byte[] codes = QrCodeUtil.genQrCode(vo.code);
+            vo.imgBase64 = "data:image/jpeg;base64," + Base64.encode(codes);
+            list.add(vo) ;
         }
+        return BaseResponseUtils.buildSuccess(list);
     }
 
     /**
@@ -70,33 +52,16 @@
      * @return
      */
     @GetMapping(path = "download")
-    public void download(HttpServletResponse response){
-        try{
-            // 杩欓噷娉ㄦ剰 鏈夊悓瀛﹀弽搴斾娇鐢╯wagger 浼氬鑷村悇绉嶉棶棰橈紝璇风洿鎺ョ敤娴忚鍣ㄦ垨鑰呯敤postman
-            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-            response.setCharacterEncoding("utf-8");
-            // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
-            String fileName = URLEncoder.encode(MarkQrCodeCtrl.fileName, "UTF-8").replaceAll("\\+", "%20");
-            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-
-            List<ExcelVo> list = new ArrayList<>() ;
-            Resource resource = new ClassPathResource("/images/logo.png");
-            File logoPngFile = resource.getFile() ;
-            String[][] marks = QrCodeConstant.Marks() ;
-            for(String[] mark : marks){
-                ExcelVo vo = new ExcelVo() ;
-                vo.code = mark[0] ;
-                vo.name = mark[1] ;
-                BufferedImage bufferedImage = QrCodeGenerator.toBufferedImage(QrCodeGenerator.createBitMatrix(vo.code, QrCodeConstant.MarkQrCodeWidth, QrCodeConstant.MarkQrCodeHeight));
-                if(logoPngFile != null && logoPngFile.exists()){
-                    bufferedImage = QrCodeGenerator.addQrCodeLogo(bufferedImage, logoPngFile);
-                }
-                vo.image = QrCodeGenerator.bufferedImageToByteArray(bufferedImage, "JPG");
-                list.add(vo) ;
-            }
-            EasyExcel.write(response.getOutputStream(), ExcelVo.class).sheet(MarkQrCodeCtrl.sheetName).doWrite(list);
-        }catch (Exception e){
-            log.error("涓嬭浇鏍囪瘑绫讳簩缁寸爜鏃跺紓甯�", e);
+    public void download(HttpServletResponse response) throws Exception{
+        List<Converter> list = new ArrayList<>() ;
+        String[][] marks = QrCodeConstant.Marks() ;
+        for(String[] mark : marks){
+            ExcelVo vo = new ExcelVo() ;
+            vo.code = mark[0] ;
+            vo.name = mark[1] ;
+            vo.image = QrCodeUtil.genQrCode(vo.code);
+            list.add(vo) ;
         }
+        QrCodeUtil.downloadExcel(response, fileName, sheetName, list);
     }
 }

--
Gitblit v1.8.0