From 62eb499b0c969f246d3245d1429a97da4de1ce28 Mon Sep 17 00:00:00 2001
From: 钟日健 <arsn163@163.com>
Date: Mon, 01 Jun 2026 20:46:13 +0800
Subject: [PATCH] feat: 成绩查询增加年龄查询返回

---
 src/main/java/org/springblade/modules/qrcode/QrCodeController.java |  123 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/springblade/modules/qrcode/QrCodeController.java b/src/main/java/org/springblade/modules/qrcode/QrCodeController.java
index d01b7c2..c02ba25 100644
--- a/src/main/java/org/springblade/modules/qrcode/QrCodeController.java
+++ b/src/main/java/org/springblade/modules/qrcode/QrCodeController.java
@@ -1,10 +1,29 @@
 package org.springblade.modules.qrcode;
 
+import com.google.zxing.WriterException;
+import lombok.AllArgsConstructor;
+import org.springblade.common.config.QrcodeConfig;
 import org.springblade.common.utils.QRCodeUtil;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
+import org.springblade.modules.system.vo.UserVO;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import sun.misc.BASE64Encoder;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.Base64;
 
 /**
  * @author zhongrj
@@ -13,14 +32,110 @@
  */
 @RestController
 @RequestMapping("/qrCode")
+@AllArgsConstructor
 public class QrCodeController {
 
+	private final IUserService userService;
 
+	private final MyAsyncService myAsyncService;
+
+	/**
+	 * 二维码生成-字节流
+	 * @param securityNumber 保安证编号
+	 * @return
+	 */
 	@GetMapping("/getQrCode")
-	public R getQrCode(String content){
-		//获取二维码
-		String qrCode = QRCodeUtil.getBase64QRCode(content);
-		return R.data(qrCode);
+	public ResponseEntity<byte[]> getQrCode(String securityNumber) throws UnsupportedEncodingException {
+		String url = QrcodeConfig.baseUrl + "securityInfo.html";
+		if (null!=securityNumber) {
+			String encoded = URLEncoder.encode(securityNumber,"UTF-8");
+			String content = url + "?securityNumber=" + encoded;
+
+			ResponseEntity<byte[]> aEntity = null;
+			try {
+				URLEncoder.encode(content,"utf-8");
+				byte[] qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
+
+				// Set headers
+				final HttpHeaders headers = new HttpHeaders();
+				headers.setContentType(MediaType.IMAGE_PNG);
+				aEntity = new ResponseEntity<byte[]>(qrCodeImage, headers, HttpStatus.CREATED);
+			} catch (WriterException e) {
+				e.printStackTrace();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+			return aEntity;
+		}
+		return null;
+	}
+
+
+	/**
+	 * 二维码生成base64
+	 * @param securityNumber 保安证编号
+	 * @return
+	 */
+	@GetMapping("/getQrCodeBase64")
+	public String getQrCodeBase64(String securityNumber) throws Exception{
+		String url = QrcodeConfig.baseUrl + "securityInfo.html";
+		if (null!=securityNumber) {
+			String encoded = URLEncoder.encode(securityNumber,"UTF-8");
+			String content = url + "?securityNumber=" + encoded;
+			byte[] qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
+			String encode = new BASE64Encoder().encode(qrCodeImage);
+			return "data:image/png;base64,"+encode;
+		}
+		return null;
+	}
+
+
+	/**
+	 * 二维码生成base64
+	 * @param securityNumber 保安证编号
+	 * @return
+	 */
+	@GetMapping("/getQrCodeDown")
+	public String getQrCodeDown(String securityNumber) throws Exception{
+		String url = QrcodeConfig.baseUrl + "securityInfo.html";
+		if (null!=securityNumber) {
+			String encoded = URLEncoder.encode(securityNumber,"UTF-8");
+			String content = url + "?securityNumber=" + encoded;
+			byte[] qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
+			String path = "D:\\QrCode\\";
+			FileOutputStream fileOutputStream = new FileOutputStream(path+securityNumber+".png");
+			fileOutputStream.write(qrCodeImage,0,qrCodeImage.length);
+			fileOutputStream.flush();
+			fileOutputStream.close();
+			return securityNumber;
+		}
+		return null;
+	}
+
+	/**
+	 * 根据保安员编码查询保安员信息
+	 * @param securityNumber
+	 * @return
+	 */
+	@GetMapping("/getUserInfo")
+	public R getUserInfo(String securityNumber,String cardid){
+		UserVO userInfoBySecurityNumber = userService.getUserInfoBySecurityNumber(securityNumber, cardid);
+		//根据保安员编码查询保安员信息
+		return R.data(userInfoBySecurityNumber);
+	}
+
+	/**
+	 * test
+	 * 异步调用测试
+	 */
+	@GetMapping("/test")
+	public void test(){
+		//根据保安员编码查询保安员信息
+		for (int i = 0; i < 500; i++) {
+			User user = new User();
+			user.setCardid("cardid"+i);
+			myAsyncService.test(user);
+		}
 	}
 
 }

--
Gitblit v1.9.3