From c4d752a1d340652d9c7d2abb5abff65cdee40d69 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期一, 20 五月 2019 09:13:56 +0800
Subject: [PATCH] 邀请素材管理、邀请素材画图

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java |   80 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 77 insertions(+), 3 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 6bda83f..4cf39c9 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,14 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Date;
 
 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 +20,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 {
@@ -129,5 +130,78 @@
 		}
 		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); // 鑳屾櫙
+		
+		if (uid == null) {
+			targetPath = FileUtil.getCacheDir() + "/share_official" + 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)); 
+		}
+		
+		
+		// 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖
+		ImageUtil.drawInviteToGreet(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode, content, date);
+
+		// 涓婁紶鏂囦欢
+		if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
+			// 灏唘rl 杞负 md5 璁╁埌涓嬮潰涓坊鍔� 鍦ㄦ瘮杈僲d5鐨勫��
+			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_official" + "_" + urlMd5 + ".jpg";
+			} else {
+				fileUrl="ercode/" + "ercode_" + uid + "_" + urlMd5 + ".jpg";
+				
+				if (new File(erCodeTempPath).exists())
+					new File(erCodeTempPath).delete();
+			}
+			
+			String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
+			
+			
+
+			if (new File(targetPath).exists())
+				new File(targetPath).delete();
+
+			return imgUrl;
+		} 
+		
+		return null;
+	}
 
 }

--
Gitblit v1.8.0