From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java | 745 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 481 insertions(+), 264 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 841c1d6..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,264 +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.entity.bus.user.UserInfoExtra; -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.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; - - @Resource - private UserInfoExtraService userInfoExtraService; - - @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); - - String inviteCode = null; - UserInfoExtra extraInfo = userInfoExtraService.getUserInfoExtra(uid); - if (extraInfo != null) { - inviteCode = extraInfo.getInviteCode(); - } - // 娣诲姞鍘熸潵娌℃湁鐨� - 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(), - 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 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(), 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 = userInfoDao.find(UserInfo.class, 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 getInviteImg(String bgImg, Long uid, String portrait, String inviteCode) throws Exception { - return qrCodeService.drawInviteQrCode(bgImg, uid, portrait, 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); - } -} +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