From e37630cbd344bd3e9b95964df31e7c23338c0924 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Fri, 01 Jul 2022 10:35:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java b/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
index d6a445c..cdc6902 100644
--- a/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
+++ b/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
@@ -1,12 +1,21 @@
 package org.springblade.modules.traceability.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.zxing.WriterException;
+import org.springblade.common.config.TraceabilityCodeConfig;
+import org.springblade.common.utils.QRCodeUtil;
+import org.springblade.modules.traceability.dto.TraceabilityDTO;
 import org.springblade.modules.traceability.entity.Traceability;
 import org.springblade.modules.traceability.mapper.TraceabilityMapper;
 import org.springblade.modules.traceability.service.TraceabilityService;
 import org.springblade.modules.traceability.vo.TraceabilityVO;
 import org.springframework.stereotype.Service;
+import sun.misc.BASE64Encoder;
 
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.List;
 
 /**
@@ -33,4 +42,36 @@
 	public String selectRevorid(String code) {
 		return baseMapper.selectRevorid(code);
 	}
+
+	/**
+	 * 获取溯源简介信息
+	 * @param traceability
+	 * @return
+	 */
+	@Override
+	public TraceabilityDTO getSimpleInfo(Traceability traceability) {
+		TraceabilityDTO simpleInfo = baseMapper.getSimpleInfo(traceability);
+		simpleInfo.setCode(traceability.getCode());
+		//获取二维码信息
+		String url = TraceabilityCodeConfig.getCodeUrl();
+		String encoded = null;
+		try {
+			encoded = URLEncoder.encode(traceability.getCode(),"UTF-8");
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		String content = url + "?code=" + encoded;
+		byte[] qrCodeImage = new byte[0];
+		try {
+			qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
+		} catch (WriterException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		String encode = new BASE64Encoder().encode(qrCodeImage);
+		simpleInfo.setQrcode("data:image/png;base64,"+encode);
+		//返回
+		return simpleInfo;
+	}
 }

--
Gitblit v1.9.3