From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java | 174 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 115 insertions(+), 59 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 119389b..da92165 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 @@ -12,15 +12,20 @@ import org.springframework.stereotype.Service; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.QRCodeUtil; +import org.yeshi.utils.entity.FileUploadResult; import org.yeshi.utils.tencentcloud.COSManager; import com.yeshi.fanli.dao.mybatis.share.ShareMapper; +import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.service.inter.user.QrCodeService; import com.yeshi.fanli.service.inter.user.SpreadUserImgService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.FileUtil; import com.yeshi.fanli.util.ImageUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.UserInviteUtil; +import com.yeshi.fanli.vo.goods.GoodsDetailVO; @Service public class QrCodeServiceImpl implements QrCodeService { @@ -42,7 +47,7 @@ String targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg"; String erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg"; - String erCode = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/" + String erCode = ("http://" + Constant.wxGZConfig.getLoginHost() + "/" + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid); // 鐢熸垚 try { @@ -69,7 +74,7 @@ String imgUrl = COSManager.getInstance() .uploadFile(new File(targetPath), - "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg") + FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg") .getUrl(); if (new File(erCodeTempPath).exists()) @@ -91,7 +96,7 @@ String targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg"; String erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg"; - String erCode = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/" + String erCode = ("http://" + Constant.wxGZConfig.getLoginHost() + "/" + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid); // 鐢熸垚 try { @@ -117,8 +122,8 @@ String newUrl = url.substring(index + 1); String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf(".")); - String imgUrl = COSManager.getInstance() - .uploadFile(new File(targetPath), "ercode/" + "ercode_" + uid + "_" + urlMd5 + ".jpg").getUrl(); + String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), + FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + urlMd5 + ".jpg").getUrl(); if (new File(erCodeTempPath).exists()) new File(erCodeTempPath).delete(); @@ -131,21 +136,20 @@ } return null; } - - + @Override - public String drawInviteQrCodeNew(String url, Long uid, String portrait, String inviteCode) throws IOException { - - if (StringUtil.isNullOrEmpty(url)) { + public String drawInviteQrCodeNew(InputStream urlInputStream, String urlMd5, Long uid, String portrait, Integer pX, Integer pY, Integer size, + String inviteCode) throws IOException { + if (urlInputStream == null) { return null; } - + String targetPath = null; String erCodeTempPath = null; - InputStream erCodeInputStream = null; // 浜岀淮鐮� + InputStream erCodeInputStream = null; // 浜岀淮鐮� InputStream portraitInputStream = null; // 澶村儚 - InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 鑳屾櫙 - +// InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 鑳屾櫙 + String uuid = UUID.randomUUID().toString().replace("-", ""); if (uid == null) { targetPath = FileUtil.getCacheDir() + "/share_" + uuid + "_" + System.currentTimeMillis() + ".jpg"; @@ -155,67 +159,69 @@ 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); + + String erCode = UserInviteUtil.getShareUrl(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.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode); + 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; + String fileUrl = null; if (uid == null) { - fileUrl= "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; + fileUrl = FilePathEnum.invitePictureDemo.getPath() + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; } else { - - fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; - if (new File(erCodeTempPath).exists()) - new File(erCodeTempPath).delete(); + fileUrl = FilePathEnum.ercode.getPath() + "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(); + + // 鍒犻櫎鏈湴缂撳瓨鏂囦欢 + 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 { - + 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 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"; @@ -225,11 +231,11 @@ 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() + "/" + String erCode = ("http://" + Constant.wxGZConfig.getLoginHost() + "/" + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid); // 鐢熸垚 try { @@ -237,13 +243,21 @@ } catch (Exception e) { e.printStackTrace(); } - erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); + erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); portraitInputStream = HttpUtil.getAsInputStream(portrait); // 澶村儚 } - - + // 寮�濮嬫牴鎹� url(鑳屾櫙鍥�), qrCode(浜岀淮鐮�), portrait(澶村儚) 鐢熸垚鍥剧墖 - ImageUtil.drawInviteToGreet(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode, content, date); + 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) { @@ -252,25 +266,67 @@ String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf(".")); // 涓婁紶鏂囦欢鐩稿浣嶇疆 - String fileUrl= null; + String fileUrl = null; if (uid == null) { - fileUrl= "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; + fileUrl = FilePathEnum.invitePictureDemo.getPath() + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; } else { - - fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; - if (new File(erCodeTempPath).exists()) - new File(erCodeTempPath).delete(); + fileUrl = FilePathEnum.ercode.getPath() + "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(); + // 鍒犻櫎缂撳瓨鏂囦欢 + new File(targetPath).delete(); return imgUrl; - } - + } return null; } + + + + @Override + public FileUploadResult drawGoodsPoster(String erCodeUrl, String portrait, GoodsDetailVO goods) { + // 浜岀淮鐮佹祦 + InputStream erCodeStream = null; + try { + erCodeStream = QRCodeUtil.getInstance(250).encode(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.drawGoodsShareSingle(erCodeStream, portraitStream, goods); + // 涓婁紶浣嶇疆 + String uuid = UUID.randomUUID().toString().replace("-", ""); + String upPath = FilePathEnum.shareXCX.getPath() + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png"; + // 涓婁紶鏂囦欢 + return COSManager.getInstance().uploadInputStream(drawStream, upPath); + } + + + @Override + public FileUploadResult drawGoodsPosterXCX(InputStream erCodeStream,UserInfo user, GoodsDetailVO goods) { + // 鐢诲浘 + InputStream drawStream = ImageUtil.drawGoodsShareXCX(erCodeStream, user, goods); + // 涓婁紶浣嶇疆 + String uuid = UUID.randomUUID().toString().replace("-", ""); + String upPath = FilePathEnum.shareXCX.getPath() + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png"; + // 涓婁紶鏂囦欢 + return COSManager.getInstance().uploadInputStream(drawStream, upPath); + } } -- Gitblit v1.8.0