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/controller/ConferenceManagerController.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/product/administration/controller/ConferenceManagerController.java b/src/main/java/com/product/administration/controller/ConferenceManagerController.java index 2e5d6ce..1f27665 100644 --- a/src/main/java/com/product/administration/controller/ConferenceManagerController.java +++ b/src/main/java/com/product/administration/controller/ConferenceManagerController.java @@ -3,6 +3,8 @@ import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.google.zxing.WriterException; +import com.google.zxing.client.j2se.MatrixToImageWriter; +import com.google.zxing.common.BitMatrix; import com.product.administration.config.CmnConst; import com.product.administration.config.SystemCode; import com.product.administration.service.ConferenceManagerService; @@ -23,7 +25,10 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.OutputStream; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -486,12 +491,53 @@ } + /** + * 浼氳绠$悊绛惧埌浜岀淮鐮� + * @param request + * @param response + * @throws IOException + * @throws WriterException + */ @PostMapping("/get_QrCode/{version}") @ApiVersion(1) - public String getQrCode(HttpServletRequest request) throws IOException, WriterException { + public void getQrCode(HttpServletRequest request, HttpServletResponse response) throws IOException, WriterException { + + //鑾峰彇鍙傛暟 FieldSetEntity fse = null; - conferenceManagerService.getQrCode(fse); - return OK(); + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + + //鍒ゆ柇鍙傛暟鏄惁涓虹┖ + if (bean == null || fse == null) { + this.error(com.product.admin.config.SystemCode.SYSTEM_FORM_NODATA.getValue(), com.product.admin.config.SystemCode.SYSTEM_FORM_NODATA.getText()); + } + String uuid = fse.getString("uuid"); + if(!StringUtils.isEmpty(uuid)){ + + // 璁剧疆鍝嶅簲娴佷俊鎭� + response.setContentType("image/jpg"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Cache-Control", "no-cache"); + response.setDateHeader("Expires", 0); + + OutputStream stream = response.getOutputStream(); + //鍚庣璺宠浆鍦板潃 + // String content = ("http://www.baidu.com"); + JSONObject jsonData = new JSONObject(); + jsonData.put("uuid",uuid); + jsonData.put("date",new Date()); + //jsonData.put("url",content); + //鑾峰彇涓�涓簩缁寸爜鍥剧墖 + BitMatrix bitMatrix = conferenceManagerService.getQrCode(jsonData.toString()); + //浠ユ祦鐨勫舰寮忚緭鍑哄埌鍓嶇 + MatrixToImageWriter.writeToStream(bitMatrix , "jpg" , stream); + + } + } + + } -- Gitblit v1.9.2