From 34de79d9fd020487d0a80dd329759bfca5f4cbd3 Mon Sep 17 00:00:00 2001 From: 18756 <1875631620@qq.com> Date: 星期二, 20 八月 2024 14:12:36 +0800 Subject: [PATCH] 会议室功能二维码生成8.20 --- src/main/java/com/product/administration/service/ConferenceManagerService.java | 65 +++++++++++++------------------- 1 files changed, 26 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/product/administration/service/ConferenceManagerService.java b/src/main/java/com/product/administration/service/ConferenceManagerService.java index 5853818..ff02277 100644 --- a/src/main/java/com/product/administration/service/ConferenceManagerService.java +++ b/src/main/java/com/product/administration/service/ConferenceManagerService.java @@ -7,6 +7,7 @@ import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; +import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import com.product.administration.config.CmnConst; import com.product.administration.config.SystemCode; import com.product.administration.service.ide.IConferenceManagerService; @@ -15,12 +16,14 @@ import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; +import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.permission.PermissionService; import com.product.core.service.support.AbstractBaseService; import com.product.core.service.support.QueryFilterService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.core.transfer.Transactional; +import com.product.core.util.QuickResponUtil; import com.product.core.websocket.service.WebsocketMesssageServiceThread; import com.product.module.sys.entity.SystemUser; import com.product.util.BaseUtil; @@ -400,47 +403,31 @@ } @Override - public String getQrCode(FieldSetEntity fse) throws BaseException, WriterException, IOException { - String uuid="96f161b4-6360-40ba-8dc1-72bb39d56be4"; - int BLACK = 0xFF000000; - int WHITE = 0xFFFFFFFF; - Date date = new Date(); - String text = "http://127.0.0.1:9998/lx/api/conference/get_QrCode_Info/v1?uuid=" + uuid+"&date="+date; - String path = "D:/QRCode"; // 鍥剧墖鐢熸垚鐨勪綅缃� - int width = 400; - int height = 400; - // 浜岀淮鐮佸浘鐗囨牸寮� - String format = "jpg"; - // 璁剧疆缂栫爜锛岄槻姝腑鏂囦贡鐮� - Hashtable<EncodeHintType, Object> ht = new Hashtable<EncodeHintType, Object>(); - ht.put(EncodeHintType.CHARACTER_SET, "UTF-8"); - // 璁剧疆浜岀淮鐮佸弬鏁�(缂栫爜鍐呭锛岀紪鐮佺被鍨嬶紝鍥剧墖瀹藉害锛屽浘鐗囬珮搴�,鏍煎紡) - BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, ht); - // 鐢熸垚浜岀淮鐮�(瀹氫箟浜岀淮鐮佽緭鍑烘湇鍔″櫒璺緞) - File outputFile = new File(path); - if (!outputFile.exists()) { - // 鍒涘缓鏂囦欢澶� - outputFile.mkdir(); - }else { - outputFile.delete(); - outputFile.mkdir(); + public BitMatrix getQrCode(String content) throws BaseException, WriterException, IOException { + + //浜岀淮鐮佺殑瀹介珮 + int width = 200; + int height = 200; + + //鍏朵粬鍙傛暟锛屽瀛楃闆嗙紪鐮� + Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>(); + hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); + //瀹归敊绾у埆涓篐 + hints.put(EncodeHintType.ERROR_CORRECTION , ErrorCorrectionLevel.H); + //鐧借竟鐨勫搴︼紝鍙彇0~4 + hints.put(EncodeHintType.MARGIN , 0); + + BitMatrix bitMatrix = null; + try { + //鐢熸垚鐭╅樀锛屽洜涓烘垜鐨勪笟鍔″満鏅紶鏉ョ殑鏄紪鐮佷箣鍚庣殑URL锛屾墍浠ュ厛瑙g爜 + bitMatrix = new MultiFormatWriter().encode(content, + BarcodeFormat.QR_CODE, width, height, hints); + + } catch (WriterException e) { + e.printStackTrace(); } - int b_width = bitMatrix.getWidth(); - int b_height = bitMatrix.getHeight(); - // 寤虹珛鍥惧儚缂撳啿鍣� - BufferedImage image = new BufferedImage(b_width, b_height, BufferedImage.TYPE_3BYTE_BGR); - for (int x = 0; x < b_width; x++) { - for (int y = 0; y < b_height; y++) { - image.setRGB(x, y, bitMatrix.get(x, y) ? BLACK : WHITE); - } - } - // 鐢熸垚浜岀淮鐮� - ImageIO.write(image, format, new File(path + "/code." + format)); - // 浜岀淮鐮佺殑鍚嶇О - // code.jpg - - return path + "/code." + format; + return bitMatrix; } -- Gitblit v1.9.2