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 | 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