From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 30 七月 2019 09:07:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java |  170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 163 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
index 98f6a4d..e895c86 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
@@ -4,10 +4,15 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Date;
+import java.util.UUID;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
+import org.yeshi.utils.HttpUtil;
+import org.yeshi.utils.QRCodeUtil;
+import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
 import com.yeshi.fanli.service.inter.user.QrCodeService;
@@ -16,9 +21,6 @@
 import com.yeshi.fanli.util.FileUtil;
 import com.yeshi.fanli.util.ImageUtil;
 import com.yeshi.fanli.util.StringUtil;
-import org.yeshi.utils.HttpUtil;
-import org.yeshi.utils.QRCodeUtil;
-import org.yeshi.utils.tencentcloud.COSManager;
 
 @Service
 public class QrCodeServiceImpl implements QrCodeService {
@@ -35,7 +37,7 @@
 	}
 
 	@Override
-	public String drawInviteQrCode(String url, Long uid, String portrait) throws IOException {
+	public String drawInviteQrCode(String url, Long uid, String portrait, String inviteCode) throws IOException {
 		if (url != null && !url.equals("")) {
 			String targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
 			String erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
@@ -54,7 +56,7 @@
 			InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 浜岀淮鐮�
 
 			// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
-			ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath);
+			ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode);
 
 			if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
 				// 涓婁紶鏂囦欢
@@ -84,7 +86,7 @@
 
 	@Override
 	public String drawInviteQrCode(String url, Long uid, String portrait, int erCodePostionX, int erCodePostionY,
-			int erCodeSize) throws IOException {
+			int erCodeSize, String inviteCode) throws IOException {
 		if (!StringUtil.isNullOrEmpty(url)) {
 			String targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
 			String erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
@@ -104,7 +106,7 @@
 
 			// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
 			ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath,
-					erCodePostionX, erCodePostionY, erCodeSize);
+					erCodePostionX, erCodePostionY, erCodeSize, inviteCode);
 
 			if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
 				// 涓婁紶鏂囦欢
@@ -129,5 +131,159 @@
 		}
 		return null;
 	}
+	
+	
+	@Override
+	public String drawInviteQrCodeNew(String url, Long uid, String portrait, Integer pX, Integer pY, Integer size, String inviteCode) throws IOException {
+		
+		if (StringUtil.isNullOrEmpty(url)) {
+			return null;
+		}
+		
+		String targetPath = null;
+		String erCodeTempPath = null;
+		InputStream erCodeInputStream  = null; // 浜岀淮鐮�
+		InputStream portraitInputStream = null; // 澶村儚
+		InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 鑳屾櫙
+		
+		String uuid = UUID.randomUUID().toString().replace("-", "");
+		if (uid == null) {
+			targetPath = FileUtil.getCacheDir() + "/share_" + uuid + "_" + System.currentTimeMillis() + ".jpg";
+			// 瀹樻柟 閭�璇风爜锛堟棤鏁堢殑锛�
+			inviteCode = "FLQAPP";
+			// 瀹樻柟浜岀淮鐮�
+			erCodeInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official.png");
+			// 瀹樻柟榛樿澶村儚
+			portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
+		
+		} else {
+		
+			targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
+			erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
+	
+			String erCode = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/"
+					+ Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
+			// 鐢熸垚
+			try {
+				QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+	
+			urlInputStream = HttpUtil.getAsInputStream(url); // 鑳屾櫙
+			portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚
+			erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 浜岀淮鐮�
+		}
+		
+		// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
+		ImageUtil.inviteFriendImgWhitecustom(urlInputStream, portraitInputStream, erCodeInputStream, targetPath,
+			 pX, pY, size, inviteCode);
+		
+		// 鍒犻櫎浜岀淮鐮佹枃浠�
+		if(erCodeInputStream != null) {
+			erCodeInputStream.close();
+		}
+		if (erCodeTempPath != null && new File(erCodeTempPath).exists()) {
+			new File(erCodeTempPath).delete();
+		}
+		
+		// 涓婁紶鏂囦欢鐩稿浣嶇疆
+		if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
+			int index = url.lastIndexOf("/");
+			String newUrl = url.substring(index + 1);
+			String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
+			String fileUrl= null;
+			if (uid == null) {
+				fileUrl = "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
+			} else {
+				fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
+			}
+
+			// 涓婁紶鏂囦欢
+			String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
+			
+			// 鍒犻櫎鏈湴缂撳瓨鏂囦欢
+			new File(targetPath).delete();
+
+			return imgUrl;
+		}
+		return null;
+	}
+	
+	@Override
+	public String drawInviteToGreet(String url, Long uid, String portrait, String inviteCode, String content, 
+			Date date) throws IOException {
+		
+		if (StringUtil.isNullOrEmpty(url)) {
+			return null;
+		}
+
+		String targetPath = null;
+		String erCodeTempPath = null;
+		InputStream erCodeInputStream  = null; // 浜岀淮鐮�
+		InputStream portraitInputStream = null; // 澶村儚
+		InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 鑳屾櫙
+		
+		String uuid = UUID.randomUUID().toString().replace("-", "");
+		if (uid == null) {
+			targetPath = FileUtil.getCacheDir() + "/share_" + uuid + "_" + System.currentTimeMillis() + ".jpg";
+			// 瀹樻柟 閭�璇风爜锛堟棤鏁堢殑锛�
+			inviteCode = "FLQAPP";
+			// 瀹樻柟浜岀淮鐮�
+			erCodeInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official.png");
+			// 瀹樻柟榛樿澶村儚
+			portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
+		
+		} else {
+			targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
+			erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
+			String erCode = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/"
+					+ Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
+			// 鐢熸垚
+			try {
+				QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); 
+			portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚
+		}
+		
+		
+		// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
+		ImageUtil.drawInviteToGreet(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode, content, date);
+
+		
+		// 鍒犻櫎浜岀淮鐮佹枃浠�
+		if(erCodeInputStream != null) {
+			erCodeInputStream.close();
+		}
+		if (erCodeTempPath != null && new File(erCodeTempPath).exists()) {
+			new File(erCodeTempPath).delete();
+		}
+		
+		// 涓婁紶鏂囦欢
+		if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
+			int index = url.lastIndexOf("/");
+			String newUrl = url.substring(index + 1);
+			String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
+
+			// 涓婁紶鏂囦欢鐩稿浣嶇疆
+			String fileUrl= null;
+			if (uid == null) {
+				fileUrl = "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
+			} else {
+				fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
+			}
+
+			// 涓婁紶
+			String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
+			// 鍒犻櫎缂撳瓨鏂囦欢
+			new File(targetPath).delete();
+
+			return imgUrl;
+		} 
+		return null;
+	}
 
 }

--
Gitblit v1.8.0