From ec8f519a552206a22806aabdd36a102def1d35f9 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期二, 23 七月 2024 09:19:00 +0800
Subject: [PATCH] id生成,sql优化
---
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