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