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