From 3727469752a977dde6327e2c48d761b20b565d3d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 15 七月 2022 09:19:21 +0800
Subject: [PATCH] 商品ID字符串化
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java | 722 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 481 insertions(+), 241 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java
index 43796dc..4d5eab7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java
@@ -1,241 +1,481 @@
-package com.yeshi.fanli.service.impl.user;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-import org.yeshi.utils.ListUtil;
-import org.yeshi.utils.tencentcloud.COSManager;
-
-import com.yeshi.fanli.dao.mybatis.share.SpreadUserImgMapper;
-import com.yeshi.fanli.dao.mybatis.user.SpreadImgMapper;
-import com.yeshi.fanli.dao.user.UserInfoDao;
-import com.yeshi.fanli.entity.bus.invite.SpreadImg;
-import com.yeshi.fanli.entity.bus.invite.SpreadUserImg;
-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.StringUtil;
-
-@Service
-public class SpreadUserImgServiceImpl implements SpreadUserImgService {
-
- @Resource
- private SpreadUserImgMapper spreadUserImgMapper;
-
- @Resource
- private SpreadImgMapper spreadImgMapper;
-
- @Resource
- private QrCodeService qrCodeService;
-
- @Resource
- private UserInfoDao userInfoDao;
-
- @Override
- public void addUserInviteImg(Long uid, String imgUrl) {
- SpreadUserImg spreadUserImg = new SpreadUserImg();
- spreadUserImg.setUid(uid);
- spreadUserImg.setUrl(imgUrl); // 鏈嶅姟鍣ㄤ笂鐨剈rl鍦板潃
- spreadUserImg.setType(0);
- spreadUserImg.setCreatetime(new Date());
- spreadUserImgMapper.insertSelective(spreadUserImg);
- }
-
- @Override
- public List<String> getImgUrlList(Long uid) {
- return spreadUserImgMapper.getImgUrlList(uid);
- }
-
- @Override
- public int imgUrlCount(Long uid) {
- return spreadUserImgMapper.imgUrlCount(uid);
- }
-
- @Override
- public void deleteImgUrl(Long uid) {
- // 鍏堝垹闄よ繙绋嬫枃浠�
- List<String> urlList = getImgUrlList(uid);
- spreadUserImgMapper.deleteImgUrl(uid);
- if (urlList != null)
- for (String img : urlList) {
- COSManager.getInstance().deleteFile(img);
- }
- }
-
- // 鑾峰彇鍥剧墖鐨凪D5鍊�
- private String getSpreadUserImgMD5(String url) {
- // https://ec-1255749512.file.myqcloud.com/ercode/ercode_578435_16a56f70b2b74aae9277f0e87a242f47.jpg
- String imgName = url.split("_")[url.split("_").length - 1];
- return imgName.replace(".jpg", "").replace(".png", "");
- }
-
- // 鑾峰彇鍥剧墖鐨凪D5鍊�
- private String getSpreadImgMD5(String url) {
- // https://ec-1255749512.file.myqcloud.com/16a56f70b2b74aae9277f0e87a242f47.png
- String imgName = url.split("/")[url.split("/").length - 1];
- return imgName.substring(0, imgName.indexOf("."));
- }
-
- @Override
- public List<String> getUserSpreadImg(Long uid) {
- List<String> imgList = new ArrayList<>();
-
- // 鏌ヨ褰撳墠鐢ㄦ埛鐨勬帹骞垮浘
- List<SpreadUserImg> spreadUserImgList = spreadUserImgMapper.listByUid(uid);
- // 鏌ヨ绯荤粺鐨勬帹骞垮浘
- List<SpreadImg> spreadImgList = spreadImgMapper.listAll();
-
- for (SpreadUserImg img : spreadUserImgList) {
- img.setMd5(getSpreadUserImgMD5(img.getUrl()));
- }
-
- for (SpreadImg img : spreadImgList) {
- img.setMd5(getSpreadImgMD5(img.getUrl()));
- }
-
- Comparator<SpreadImg> cmSpreadImg = new Comparator<SpreadImg>() {
-
- @Override
- public int compare(SpreadImg o1, SpreadImg o2) {
- return o1.getMd5().compareTo(o2.getMd5());
- }
- };
-
- Comparator<SpreadUserImg> cmUserSpreadImg = new Comparator<SpreadUserImg>() {
-
- @Override
- public int compare(SpreadUserImg o1, SpreadUserImg o2) {
- return o1.getMd5().compareTo(o2.getMd5());
- }
- };
- Collections.sort(spreadUserImgList, cmUserSpreadImg);
- Collections.sort(spreadImgList, cmSpreadImg);
-
- boolean equal = true;
- if (spreadUserImgList.size() == spreadImgList.size())
- for (int i = 0; i < spreadUserImgList.size(); i++) {
- if (!spreadUserImgList.get(i).getMd5().equalsIgnoreCase(spreadImgList.get(i).getMd5())) {
- equal = false;
- break;
- }
- }
- else
- equal = false;
-
- // 娌℃湁鏇存敼
- if (equal) {
- for (SpreadUserImg userImg : spreadUserImgList)
- imgList.add(userImg.getUrl());
- return imgList;
- }
-
- // 鏈夎繃鏇存敼
-
- List<String> spreadUserMD5List = new ArrayList<>();
- for (SpreadUserImg userImg : spreadUserImgList)
- spreadUserMD5List.add(userImg.getMd5());
- List<String> spreadMD5List = new ArrayList<>();
- for (SpreadImg img : spreadImgList)
- spreadMD5List.add(img.getMd5());
- // 鍒犻櫎澶氫綑鐨�
-
- // 鑾峰彇浜ら泦
- List<String> ilist = ListUtil.getIntersection(spreadUserMD5List, spreadMD5List);
-
- // 鑾峰彇澶氫綑鐨勯泦鍚�
- List<String> extraList = ListUtil.getDifference(spreadUserMD5List, ilist);
-
- for (String md5 : extraList) {
- for (SpreadUserImg img : spreadUserImgList)
- if (img.getMd5().equalsIgnoreCase(md5)) {
- spreadUserImgMapper.deleteByPrimaryKey(img.getId());
- break;
- }
- }
-
- List<String> dlist = ListUtil.getDifference(spreadMD5List, ilist);
-
- UserInfo user = null;
- if (dlist != null && dlist.size() > 0)
- user = userInfoDao.find(UserInfo.class, uid);
- // 娣诲姞鍘熸潵娌℃湁鐨�
- for (String md5 : dlist) {
- for (SpreadImg img : spreadImgList)
- if (img.getMd5().equalsIgnoreCase(md5)) {
- // 鐢诲浘
- try {
- String imgUrl = qrCodeService.drawInviteQrCode(img.getUrl(), uid,
- StringUtil.isNullOrEmpty(user.getPortrait())
- ? Constant.systemCommonConfig.getDefaultPortrait() : user.getPortrait());
- if (!StringUtil.isNullOrEmpty(imgUrl)) {
- if (imgUrl != null) {
- addUserInviteImg(uid, imgUrl);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } // 鑳屾櫙鍥�
- break;
- }
- }
-
- // 閲嶆柊鏌ヨ
- spreadUserImgList = spreadUserImgMapper.listByUid(uid);
- imgList.clear();
- if (spreadUserImgList != null)
- for (SpreadUserImg img : spreadUserImgList)
- imgList.add(img.getUrl());
- return imgList;
- }
-
- @Override
- public String getUserSpreadImg(Long uid, String bgImg) {
- // 鏌ヨ鏄惁瀛樺湪
- // String md5 = getSpreadImgMD5(bgImg);
- // List<SpreadUserImg> spreadUserImgList = spreadUserImgDao.list("from
- // SpreadUserImg su where su.uid=" + uid);
- // for (SpreadUserImg img : spreadUserImgList) {
- // img.setMd5(getSpreadUserImgMD5(img.getUrl()));
- // if (md5.equalsIgnoreCase(getSpreadUserImgMD5(img.getUrl())))
- // return img.getUrl();// 鍘熸潵瀛樺湪
- // }
-
- // 鐢熸垚
- UserInfo user = userInfoDao.find(UserInfo.class, uid);
- try {
- String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait());
- return imgUrl;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- @Override
- public String getUserSpreadImg(Long uid, String bgImg, int erCodePostionX, int erCodePostionY, int erCodeSize) {
- UserInfo user = userInfoDao.find(UserInfo.class, uid);
- try {
- String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait(), erCodePostionX,
- erCodePostionY, erCodeSize);
- return imgUrl;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- @Override
- public int countUserSpreadImg(Long uid) {
-
- return (int) (spreadUserImgMapper.imgUrlCount(uid));
- }
-
-}
+package com.yeshi.fanli.service.impl.user;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import com.yeshi.fanli.service.inter.config.SystemConfigService;
+import org.springframework.stereotype.Service;
+import org.yeshi.utils.HttpUtil;
+import org.yeshi.utils.ListUtil;
+import org.yeshi.utils.tencentcloud.COSManager;
+
+import com.yeshi.fanli.dao.mybatis.share.SpreadUserImgMapper;
+import com.yeshi.fanli.dao.mybatis.user.SpreadImgMapper;
+import com.yeshi.fanli.entity.bus.invite.SpreadImg;
+import com.yeshi.fanli.entity.bus.invite.SpreadUserImg;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.SpreadImgService;
+import com.yeshi.fanli.service.inter.user.QrCodeService;
+import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.FileUtil;
+import com.yeshi.fanli.util.StringUtil;
+
+@Service
+public class SpreadUserImgServiceImpl implements SpreadUserImgService {
+
+ @Resource
+ private SpreadUserImgMapper spreadUserImgMapper;
+
+ @Resource
+ private SpreadImgMapper spreadImgMapper;
+
+ @Resource
+ private QrCodeService qrCodeService;
+
+ @Resource
+ private UserInfoService userInfoService;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private SpreadImgService spreadImgService;
+
+ @Resource
+ private SystemConfigService systemConfigService;
+
+ @Override
+ public void addUserInviteImg(Long uid, String imgUrl) {
+ SpreadUserImg spreadUserImg = new SpreadUserImg();
+ spreadUserImg.setUid(uid);
+ spreadUserImg.setUrl(imgUrl); // 鏈嶅姟鍣ㄤ笂鐨剈rl鍦板潃
+ spreadUserImg.setType(0);
+ spreadUserImg.setCreatetime(new Date());
+ spreadUserImgMapper.insertSelective(spreadUserImg);
+ }
+
+ @Override
+ public List<String> getImgUrlList(Long uid) {
+ return spreadUserImgMapper.getImgUrlList(uid);
+ }
+
+ @Override
+ public int imgUrlCount(Long uid) {
+ return spreadUserImgMapper.imgUrlCount(uid);
+ }
+
+ @Override
+ public void deleteImgUrl(Long uid) {
+ // 鍏堝垹闄よ繙绋嬫枃浠�
+ List<String> urlList = getImgUrlList(uid);
+ spreadUserImgMapper.deleteImgUrl(uid);
+ if (urlList != null)
+ for (String img : urlList) {
+ COSManager.getInstance().deleteFile(img);
+ }
+ }
+
+ // 鑾峰彇鍥剧墖鐨凪D5鍊�
+ private String getSpreadUserImgMD5(String url) {
+ // https://ec-1255749512.file.myqcloud.com/ercode/ercode_578435_16a56f70b2b74aae9277f0e87a242f47.jpg
+ String imgName = url.split("_")[url.split("_").length - 1];
+ return imgName.replace(".jpg", "").replace(".png", "");
+ }
+
+ // 鑾峰彇鍥剧墖鐨凪D5鍊�
+ private String getSpreadImgMD5(String url) {
+ // https://ec-1255749512.file.myqcloud.com/16a56f70b2b74aae9277f0e87a242f47.png
+ String imgName = url.split("/")[url.split("/").length - 1];
+ return imgName.substring(0, imgName.indexOf("."));
+ }
+
+ @Override
+ public List<String> getUserSpreadImg(Long uid, HttpServletRequest request) {
+ List<String> imgList = new ArrayList<>();
+
+ // 鏌ヨ褰撳墠鐢ㄦ埛鐨勬帹骞垮浘
+ List<SpreadUserImg> spreadUserImgList = spreadUserImgMapper.listByUid(uid);
+ // 鏌ヨ绯荤粺鐨勬帹骞垮浘
+ List<SpreadImg> spreadImgList = spreadImgMapper.listAll();
+
+ for (SpreadUserImg img : spreadUserImgList) {
+ img.setMd5(getSpreadUserImgMD5(img.getUrl()));
+ }
+
+ for (SpreadImg img : spreadImgList) {
+ img.setMd5(getSpreadImgMD5(img.getUrl()));
+ }
+
+ Comparator<SpreadImg> cmSpreadImg = new Comparator<SpreadImg>() {
+
+ @Override
+ public int compare(SpreadImg o1, SpreadImg o2) {
+ return o1.getMd5().compareTo(o2.getMd5());
+ }
+ };
+
+ Comparator<SpreadUserImg> cmUserSpreadImg = new Comparator<SpreadUserImg>() {
+
+ @Override
+ public int compare(SpreadUserImg o1, SpreadUserImg o2) {
+ return o1.getMd5().compareTo(o2.getMd5());
+ }
+ };
+ Collections.sort(spreadUserImgList, cmUserSpreadImg);
+ Collections.sort(spreadImgList, cmSpreadImg);
+
+ boolean equal = true;
+ if (spreadUserImgList.size() == spreadImgList.size())
+ for (int i = 0; i < spreadUserImgList.size(); i++) {
+ if (!spreadUserImgList.get(i).getMd5().equalsIgnoreCase(spreadImgList.get(i).getMd5())) {
+ equal = false;
+ break;
+ }
+ }
+ else
+ equal = false;
+
+ // 娌℃湁鏇存敼
+ if (equal) {
+ for (SpreadUserImg userImg : spreadUserImgList)
+ imgList.add(userImg.getUrl());
+ return imgList;
+ }
+
+ // 鏈夎繃鏇存敼
+
+ List<String> spreadUserMD5List = new ArrayList<>();
+ for (SpreadUserImg userImg : spreadUserImgList)
+ spreadUserMD5List.add(userImg.getMd5());
+ List<String> spreadMD5List = new ArrayList<>();
+ for (SpreadImg img : spreadImgList)
+ spreadMD5List.add(img.getMd5());
+ // 鍒犻櫎澶氫綑鐨�
+
+ // 鑾峰彇浜ら泦
+ List<String> ilist = ListUtil.getIntersection(spreadUserMD5List, spreadMD5List);
+
+ // 鑾峰彇澶氫綑鐨勯泦鍚�
+ List<String> extraList = ListUtil.getDifference(spreadUserMD5List, ilist);
+
+ for (String md5 : extraList) {
+ for (SpreadUserImg img : spreadUserImgList)
+ if (img.getMd5().equalsIgnoreCase(md5)) {
+ spreadUserImgMapper.deleteByPrimaryKey(img.getId());
+ break;
+ }
+ }
+
+ List<String> dlist = ListUtil.getDifference(spreadMD5List, ilist);
+
+ UserInfo user = null;
+ if (dlist != null && dlist.size() > 0)
+ user = userInfoService.selectByPKey(uid);
+
+ String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
+
+ // 缂撳瓨璺緞
+ String rootPath = request.getSession().getServletContext().getRealPath("/").replace("\\", "/");
+ String projectName = request.getContextPath();
+ String path = rootPath.replace(projectName, "/temp");
+ File f = new File(path);
+ if (!f.exists())
+ f.mkdirs();
+
+ String defaultPortrait = userInfoService.getDefaultPortrait(uid);
+
+
+ // 娣诲姞鍘熸潵娌℃湁鐨�
+ for (String md5 : dlist) {
+ for (SpreadImg img : spreadImgList)
+ if (img.getMd5().equalsIgnoreCase(md5)) {
+ // 鐢诲浘
+ try {
+ String portrait = user.getPortrait();
+ if (StringUtil.isNullOrEmpty(portrait)) {
+ portrait = defaultPortrait;
+ }
+
+ // 鑳屾櫙鍥剧墖缂撳瓨
+ int index = img.getUrl().lastIndexOf("/");
+ String fileName = img.getUrl().substring(index + 1);
+
+ InputStream inputStream = null;
+ String cachePath = path + fileName;
+ File file = new File(cachePath);
+ if (file.exists()) {
+ inputStream = new FileInputStream(file);
+ } else {
+ // 缃戠粶涓嬭浇
+ InputStream input = HttpUtil.getAsInputStream(img.getUrl());
+ // 缂撳瓨鏈湴
+ FileUtil.saveAsFile(input, cachePath);
+ // 鑾峰彇娴�
+ inputStream = new FileInputStream(file);
+ }
+
+ String imgUrl = qrCodeService.drawInviteQrCodeNew(inputStream, fileName, uid, portrait, null, null, null, inviteCode);
+ if (!StringUtil.isNullOrEmpty(imgUrl)) {
+ if (imgUrl != null) {
+ addUserInviteImg(uid, imgUrl);
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } // 鑳屾櫙鍥�
+ break;
+ }
+ }
+
+ // 閲嶆柊鏌ヨ
+ spreadUserImgList = spreadUserImgMapper.listByUid(uid);
+ imgList.clear();
+ if (spreadUserImgList != null)
+ for (SpreadUserImg img : spreadUserImgList)
+ imgList.add(img.getUrl());
+ return imgList;
+ }
+
+
+ @Override
+ public List<String> getUserSpreadImgToPage(Long uid, int page, int count, HttpServletRequest request) {
+ // 鏌ヨ绯荤粺鐨勬帹骞垮浘
+ List<SpreadImg> spreadImgList = spreadImgService.listAll();
+ //鐢ㄦ埛鐨勫凡鐢熸垚鎺ㄥ箍鍥�
+ List<SpreadUserImg> spreadUserImgList = spreadUserImgMapper.listByUid(uid);
+
+ for (SpreadUserImg img : spreadUserImgList) {
+ img.setMd5(getSpreadUserImgMD5(img.getUrl()));
+ }
+
+ for (SpreadImg img : spreadImgList) {
+ img.setMd5(getSpreadImgMD5(img.getUrl()));
+ }
+
+ Comparator<SpreadImg> cmSpreadImg = new Comparator<SpreadImg>() {
+ @Override
+ public int compare(SpreadImg o1, SpreadImg o2) {
+ return o1.getMd5().compareTo(o2.getMd5());
+ }
+ };
+
+ Comparator<SpreadUserImg> cmUserSpreadImg = new Comparator<SpreadUserImg>() {
+ @Override
+ public int compare(SpreadUserImg o1, SpreadUserImg o2) {
+ return o1.getMd5().compareTo(o2.getMd5());
+ }
+ };
+ Collections.sort(spreadUserImgList, cmUserSpreadImg);
+ Collections.sort(spreadImgList, cmSpreadImg);
+
+ boolean equal = true;
+ if (spreadUserImgList.size() != spreadImgList.size()) {
+ equal = false;
+ } else {
+ for (int i = 0; i < spreadUserImgList.size(); i++) {
+ if (!spreadUserImgList.get(i).getMd5().equalsIgnoreCase(spreadImgList.get(i).getMd5())) {
+ equal = false;
+ break;
+ }
+ }
+ }
+
+ // 鍒嗛〉澶勭悊
+ int start = 0;
+ if (page > 1)
+ start = 3;
+
+ List<String> imgList = new ArrayList<>();
+ if (equal) {
+ for (; start < spreadUserImgList.size() && start < count; start++) {
+ imgList.add(spreadUserImgList.get(start).getUrl());
+ }
+ return imgList;
+ }
+
+ String path = null;
+ if (page == 1) {
+ // 鍒犻櫎澶氫綑鍘嗗彶鏁版嵁
+ for (int j = 0; j < spreadUserImgList.size(); j++) {
+ boolean needRemove = true;
+ SpreadUserImg userImg = spreadUserImgList.get(j);
+ String imgMD5User = getSpreadUserImgMD5(userImg.getUrl());
+
+ for (int i = 0; i < spreadImgList.size(); i++) {
+ String imgMD5 = getSpreadImgMD5(spreadImgList.get(i).getUrl());
+ if (imgMD5.equalsIgnoreCase(imgMD5User)) {
+ needRemove = false;
+ break;
+ }
+ }
+
+ if (needRemove) {
+ spreadUserImgMapper.deleteByPrimaryKey(userImg.getId());
+ spreadUserImgList.remove(j);
+ j--;
+ }
+ }
+
+ // 缂撳瓨璺緞
+ String rootPath = request.getSession().getServletContext().getRealPath("/").replace("\\", "/");
+ String projectName = request.getContextPath();
+ path = rootPath.replace(projectName, "/temp");
+ File f = new File(path);
+ if (!f.exists())
+ f.mkdirs();
+ }
+
+ // 鐢ㄦ埛澶村儚
+ UserInfo user = userInfoService.selectByPKey(uid);
+ String defaultPortrait = userInfoService.getDefaultPortrait(user.getSystem());
+ String portrait = user.getPortrait();
+ if (StringUtil.isNullOrEmpty(portrait)) {
+ portrait = defaultPortrait;
+ }
+
+ // 閭�璇风爜
+ String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
+
+
+ for (; start < spreadImgList.size() && start < count; start++) {
+ String url = null;
+ SpreadImg spreadImg = spreadImgList.get(start);
+ String imgMD5 = getSpreadImgMD5(spreadImg.getUrl());
+
+ for (int j = 0; j < spreadUserImgList.size(); j++) {
+ String imgMD5User = getSpreadUserImgMD5(spreadUserImgList.get(j).getUrl());
+ if (imgMD5.equalsIgnoreCase(imgMD5User)) {
+ url = spreadUserImgList.get(j).getUrl();
+ break;
+ }
+ }
+
+ if (!StringUtil.isNullOrEmpty(url)) {
+ imgList.add(url);
+ } else {
+ url = getInviteImgUrl(uid, portrait, inviteCode, imgMD5, spreadImg.getUrl(), path);
+ if (!StringUtil.isNullOrEmpty(url)) {
+ addUserInviteImg(uid, url);
+ imgList.add(url);
+ }
+ }
+ }
+
+ return imgList;
+ }
+
+ /**
+ * 閭�璇峰浘鐢诲浘
+ *
+ * @param uid
+ * @param portrait
+ * @param inviteCode
+ * @param urlMd5
+ * @param url
+ * @param path
+ * @return
+ */
+ private String getInviteImgUrl(Long uid, String portrait, String inviteCode, String urlMd5, String url, String path) {
+ try {
+ InputStream inputStream = null;
+ String cachePath = path + urlMd5;
+ File file = new File(cachePath);
+ if (file.exists()) {
+ inputStream = new FileInputStream(file);
+ } else {
+ // 缃戠粶涓嬭浇
+ InputStream input = HttpUtil.getAsInputStream(url);
+ // 缂撳瓨鏈湴
+ FileUtil.saveAsFile(input, cachePath);
+ // 鑾峰彇娴�
+ inputStream = new FileInputStream(file);
+ }
+
+ return qrCodeService.drawInviteQrCodeNew(inputStream, urlMd5, uid, portrait, null, null, null, inviteCode);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ return null;
+ }
+
+
+ @Override
+ public String getUserSpreadImg(Long uid, String bgImg) {
+ // 鏌ヨ鏄惁瀛樺湪
+ // String md5 = getSpreadImgMD5(bgImg);
+ // List<SpreadUserImg> spreadUserImgList = spreadUserImgDao.list("from
+ // SpreadUserImg su where su.uid=" + uid);
+ // for (SpreadUserImg img : spreadUserImgList) {
+ // img.setMd5(getSpreadUserImgMD5(img.getUrl()));
+ // if (md5.equalsIgnoreCase(getSpreadUserImgMD5(img.getUrl())))
+ // return img.getUrl();// 鍘熸潵瀛樺湪
+ // }
+
+ // 鐢熸垚
+ UserInfo user = userInfoService.selectByPKey(uid);
+ try {
+ String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait(), null);
+ return imgUrl;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ public String getUserSpreadImg(Long uid, String bgImg, int erCodePostionX, int erCodePostionY, int erCodeSize) {
+ UserInfo user = userInfoService.selectByPKey(uid);
+ try {
+ String imgUrl = qrCodeService.drawInviteQrCode(bgImg, uid, user.getPortrait(), erCodePostionX,
+ erCodePostionY, erCodeSize, null);
+ return imgUrl;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ public int countUserSpreadImg(Long uid) {
+ return (int) (spreadUserImgMapper.imgUrlCount(uid));
+ }
+
+
+ @Override
+ public String drawInviteQrCodeNew(String bgImg, Long uid, String portrait, Integer pX, Integer pY, Integer size, String inviteCode) throws Exception {
+ InputStream asInputStream = HttpUtil.getAsInputStream(bgImg);
+
+ int index = bgImg.lastIndexOf("/");
+ String newUrl = bgImg.substring(index + 1);
+ String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
+
+ return qrCodeService.drawInviteQrCodeNew(asInputStream, urlMd5, uid, portrait, pX, pY, size, inviteCode);
+ }
+
+
+ @Override
+ public String getInviteImgToGreet(String bgImg, Long uid, String portrait, String inviteCode, String content, Date date) throws Exception {
+ return qrCodeService.drawInviteToGreet(bgImg, uid, portrait, inviteCode, content, date);
+ }
+
+
+ private static String getProjectRootPath() {
+ String rootPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
+ rootPath = rootPath.substring(1, rootPath.indexOf("WEB-INF"));
+ return rootPath;
+ }
+}
--
Gitblit v1.8.0