From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 四月 2024 18:02:17 +0800
Subject: [PATCH] 唯品会链接解析升级

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 93 insertions(+), 4 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 65040f8..9c92080 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
@@ -17,6 +17,7 @@
 
 import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.user.QrCodeService;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
 import com.yeshi.fanli.util.Constant;
@@ -26,6 +27,7 @@
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.UserInviteUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.user.PullNewRuleVO;
 
 @Service
 public class QrCodeServiceImpl implements QrCodeService {
@@ -60,6 +62,12 @@
 			InputStream portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚
 			InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 浜岀淮鐮�
 
+			// 瀹樻柟榛樿澶村儚
+			if (portraitInputStream == null) {
+				portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
+			}
+			
+			
 			// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
 			ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode);
 
@@ -109,6 +117,11 @@
 			InputStream portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚
 			InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 浜岀淮鐮�
 
+			// 瀹樻柟榛樿澶村儚
+			if (portraitInputStream == null) {
+				portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
+			}
+			
 			// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
 			ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath,
 					erCodePostionX, erCodePostionY, erCodeSize, inviteCode);
@@ -161,7 +174,6 @@
 			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";
 
@@ -175,7 +187,13 @@
 			portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚
 			erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 浜岀淮鐮�
 		}
-
+		
+		// 瀹樻柟榛樿澶村儚
+		if (portraitInputStream == null) {
+			portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
+		}
+		
+		
 		// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
 		ImageUtil.inviteFriendImgWhitecustom(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, pX, pY,
 				size, inviteCode);
@@ -247,6 +265,11 @@
 			portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚
 		}
 
+		// 瀹樻柟榛樿澶村儚
+		if (portraitInputStream == null) {
+			portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
+		}
+				
 		// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
 		ImageUtil.drawInviteToGreet(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode,
 				content, date);
@@ -286,7 +309,8 @@
 	
 	
 	@Override
-	public FileUploadResult drawDynamicGoodsPoster(String erCodeUrl, String portrait, String inviteCode, GoodsDetailVO goods) {
+	public FileUploadResult drawGoodsQuickhShare(String erCodeUrl, String portrait, String inviteCode,
+			String mainPic, GoodsDetailVO goods) {
 		// 浜岀淮鐮佹祦
 		InputStream erCodeStream = null;
 		try {
@@ -309,7 +333,42 @@
 		}
 		
 		// 鐢诲浘
-		InputStream drawStream = ImageUtil.drawGoodsPoster(erCodeStream, portraitStream,inviteCode, goods);
+		InputStream drawStream = ImageUtil.drawGoodsQuickhShare(erCodeStream, portraitStream,inviteCode,mainPic, goods);
+		// 涓婁紶浣嶇疆
+		String uuid = UUID.randomUUID().toString().replace("-", "");
+		String upPath = FilePathEnum.shareGoods.getPath() + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png";
+		// 涓婁紶鏂囦欢
+		return COSManager.getInstance().uploadInputStream(drawStream, upPath);
+	}
+	
+	
+	
+	@Override
+	public FileUploadResult drawDynamicGoodsPoster(String erCodeUrl, String portrait, String inviteCode,
+			String mainPic, GoodsDetailVO goods) {
+		// 浜岀淮鐮佹祦
+		InputStream erCodeStream = null;
+		try {
+			erCodeStream = QRCodeUtil.getInstance(250).encodeDeleteWhite(erCodeUrl);
+		} catch (Exception e1) {
+			e1.printStackTrace();
+		}
+		
+		// 澶村儚
+		InputStream portraitStream = null; 
+		if (!StringUtil.isNullOrEmpty(portrait)) {
+			try {
+				portraitStream = HttpUtil.getAsInputStream(portrait);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		if (portraitStream == null) {
+			portraitStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_default_head.jpg");
+		}
+		
+		// 鐢诲浘
+		InputStream drawStream = ImageUtil.drawGoodsPoster(erCodeStream, portraitStream,inviteCode,mainPic, goods);
 		// 涓婁紶浣嶇疆
 		String uuid = UUID.randomUUID().toString().replace("-", "");
 		String upPath = FilePathEnum.shareGoods.getPath() + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png";
@@ -362,4 +421,34 @@
 		return COSManager.getInstance().uploadInputStream(drawStream, upPath);
 	}
 
+	
+	@Override
+	public String drawPullNewPoster(Long uid, String portrait, String inviteCode, PullNewRuleVO rule) {
+		// 澶村儚娴�
+		InputStream portraitStream = HttpUtil.getAsInputStream(portrait); 
+		// 鐢熸垚浜岀淮鐮�
+		String erCode = UserInviteUtil.getShareUrl(uid);
+		InputStream erCodeStream = null;
+		try {
+			erCodeStream = QRCodeUtil.getInstance(250).encodeDeleteWhite(erCode);
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
+		}
+		
+		if (erCodeStream == null)
+			return null;
+		// 鐢诲浘
+		InputStream drawStream = ImageUtil.drawPullNewPoster(erCodeStream,portraitStream, inviteCode, rule);
+		if (drawStream == null)
+			return null;
+		
+		// 涓婁紶浣嶇疆
+		String uuid = UUID.randomUUID().toString().replace("-", "");
+		String upPath = FilePathEnum.ercodeActivity.getPath() + uuid + "_" +uid + "_" + System.currentTimeMillis() + ".png";
+		// 涓婁紶鏂囦欢
+	    FileUploadResult result = COSManager.getInstance().uploadInputStream(drawStream, upPath);
+	    if (result == null)
+	    	return null;
+	    return result.getUrl();
+	}
 }

--
Gitblit v1.8.0