From 97e726421a7f8001c4c613d6448f2d614f29bac9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Mar 2022 10:53:21 +0800 Subject: [PATCH] qrcode --- epmet-module/gov-org/gov-org-server/pom.xml | 13 +++++ .../epmet/controller/AgencyController.java | 54 +++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 777645a3c1..793d33b424 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -13,6 +13,19 @@ jar + + + com.google.zxing + core + 3.3.2 + + + + com.google.zxing + javase + 3.3.2 + + com.epmet gov-org-client diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 363f7b7297..26db2c084f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.alibaba.fastjson.JSONObject; import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; @@ -34,11 +35,20 @@ import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.MultiFormatWriter; +import com.google.zxing.WriterException; +import com.google.zxing.client.j2se.MatrixToImageWriter; +import com.google.zxing.common.BitMatrix; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.Path; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -360,4 +370,48 @@ public class AgencyController { return new Result>().ok(agencyService.getSonAgencyId(orgId,type)); } + @PostMapping("qr") + public void qr(){ + try { + write(); + } catch (IOException e) { + e.printStackTrace(); + } catch (WriterException e) { + e.printStackTrace(); + } + } + + public static void write() throws IOException, WriterException { + String filePath = "/Volumes/self"; + String fileName = "qr.png"; +//二维码内容场景一:json数据 + JSONObject json = new JSONObject(); + json.put("baidu","http://www.baidu.com");//二维码一般就是存储链接 +// json.put("author", "lzz");//还可存储值(员工工号,员工姓名,年会二维码门票) + String content = json.toJSONString();//json 内容 +//二维码内容场景二:直接某个超链接 +// content="http://www.baidu.com";//直接某个超链接 + int width = 200; // 图像宽度 + int height = 200; // 图像高度 + String format = "png";// 图像类型 + Map hints = new HashMap(); + + hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); + BitMatrix bitMatrix = new MultiFormatWriter().encode(content, + BarcodeFormat.QR_CODE, width, height, hints);// 生成矩阵 + Path path = FileSystems.getDefault().getPath(filePath, fileName); + MatrixToImageWriter.writeToPath(bitMatrix, format, path);// 输出图像 + System.out.println("输出成功."); + } + + public static void main(String[] args) { + try { + write(); + } catch (IOException e) { + e.printStackTrace(); + } catch (WriterException e) { + e.printStackTrace(); + } + } + } \ No newline at end of file