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 | 197 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 161 insertions(+), 36 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..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 @@ -5,21 +5,27 @@ 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.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 { @@ -41,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 { @@ -68,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()) @@ -90,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 { @@ -116,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(); @@ -130,35 +136,106 @@ } return null; } - - + @Override - public String drawInviteToGreet(String url, Long uid, String portrait, String inviteCode, String content, - Date date) 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_official" + System.currentTimeMillis() + ".jpg"; + 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 = UserInviteUtil.getShareUrl(uid); + // 鐢熸垚 + try { + QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath); + } catch (Exception e) { + e.printStackTrace(); + } + 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) { + String fileUrl = null; + if (uid == null) { + fileUrl = FilePathEnum.invitePictureDemo.getPath() + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; + } else { + fileUrl = FilePathEnum.ercode.getPath() + "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() + "/" + String erCode = ("http://" + Constant.wxGZConfig.getLoginHost() + "/" + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid); // 鐢熸垚 try { @@ -166,42 +243,90 @@ } 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) { - // 灏唘rl 杞负 md5 璁╁埌涓嬮潰涓坊鍔� 鍦ㄦ瘮杈僲d5鐨勫�� 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_official" + "_" + urlMd5 + ".jpg"; + fileUrl = FilePathEnum.invitePictureDemo.getPath() + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg"; } else { - fileUrl="ercode/" + "ercode_" + uid + "_" + 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(); + // 涓婁紶 + String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl(); + // 鍒犻櫎缂撳瓨鏂囦欢 + 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