From e6269b00183bf7f46c494fa15ab75d702d2764ab Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 12 九月 2019 15:16:01 +0800
Subject: [PATCH] 红包口令 失效金额bug
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 96 insertions(+), 14 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 4cf39c9..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
@@ -5,6 +5,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
+import java.util.UUID;
import javax.annotation.Resource;
@@ -133,6 +134,83 @@
@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 {
@@ -146,8 +224,9 @@
InputStream portraitInputStream = null; // 澶村儚
InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 鑳屾櫙
+ String uuid = UUID.randomUUID().toString().replace("-", "");
if (uid == null) {
- targetPath = FileUtil.getCacheDir() + "/share_official" + System.currentTimeMillis() + ".jpg";
+ targetPath = FileUtil.getCacheDir() + "/share_" + uuid + "_" + System.currentTimeMillis() + ".jpg";
// 瀹樻柟 閭�璇风爜锛堟棤鏁堢殑锛�
inviteCode = "FLQAPP";
// 瀹樻柟浜岀淮鐮�
@@ -167,15 +246,24 @@
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) {
- // 灏唘rl 杞负 md5 璁╁埌涓嬮潰涓坊鍔� 鍦ㄦ瘮杈僲d5鐨勫��
int index = url.lastIndexOf("/");
String newUrl = url.substring(index + 1);
String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
@@ -183,24 +271,18 @@
// 涓婁紶鏂囦欢鐩稿浣嶇疆
String fileUrl= null;
if (uid == null) {
- fileUrl="ercode/" + "ercode_official" + "_" + urlMd5 + ".jpg";
+ fileUrl = "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
} else {
- fileUrl="ercode/" + "ercode_" + uid + "_" + urlMd5 + ".jpg";
-
- if (new File(erCodeTempPath).exists())
- new File(erCodeTempPath).delete();
+ fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
}
-
- String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
-
-
- if (new File(targetPath).exists())
- new File(targetPath).delete();
+ // 涓婁紶
+ String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
+ // 鍒犻櫎缂撳瓨鏂囦欢
+ new File(targetPath).delete();
return imgUrl;
}
-
return null;
}
--
Gitblit v1.8.0