admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
@@ -1,276 +1,387 @@
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.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.tencentcloud.COSManager;
import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
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.FileUtil;
import com.yeshi.fanli.util.ImageUtil;
import com.yeshi.fanli.util.StringUtil;
@Service
public class QrCodeServiceImpl implements QrCodeService {
   @Resource
   private ShareMapper shareMapper;
   @Resource
   private SpreadUserImgService spreadUserImgService;
   @Override
   public String getPortrait(Long uid) {
      return shareMapper.getPortrait(uid);
   }
   @Override
   public String drawInviteQrCode(String url, Long uid, String portrait, String inviteCode) throws IOException {
      if (url != null && !url.equals("")) {
         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() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
         // 生成
         try {
            QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
         } catch (Exception e) {
            e.printStackTrace();
         }
         InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 背景
         InputStream portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
         InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 二维码
         // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
         ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode);
         if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
            // 上传文件
            // 将url 转为 md5 让到下面中添加 在比较md5的值
            int index = url.lastIndexOf("/");
            String newUrl = url.substring(index + 1);
            String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
            String imgUrl = COSManager.getInstance()
                  .uploadFile(new File(targetPath),
                        "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg")
                  .getUrl();
            if (new File(erCodeTempPath).exists())
               new File(erCodeTempPath).delete();
            if (new File(targetPath).exists())
               new File(targetPath).delete();
            return imgUrl;
         }
      }
      return null;
   }
   @Override
   public String drawInviteQrCode(String url, Long uid, String portrait, int erCodePostionX, int erCodePostionY,
         int erCodeSize, String inviteCode) throws IOException {
      if (!StringUtil.isNullOrEmpty(url)) {
         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() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
         // 生成
         try {
            QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
         } catch (Exception e) {
            e.printStackTrace();
         }
         InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 背景
         InputStream portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
         InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 二维码
         // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
         ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath,
               erCodePostionX, erCodePostionY, erCodeSize, inviteCode);
         if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
            // 上传文件
            // 将url 转为 md5 让到下面中添加 在比较md5的值
            int index = url.lastIndexOf("/");
            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();
            if (new File(erCodeTempPath).exists())
               new File(erCodeTempPath).delete();
            if (new File(targetPath).exists())
               new File(targetPath).delete();
            return imgUrl;
         }
      }
      return null;
   }
   @Override
   public String drawInviteQrCodeNew(String url, Long uid, String portrait, String inviteCode) 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() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + 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);
      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;
         if (uid == null) {
            fileUrl= "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
         } else {
            fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
            if (new File(erCodeTempPath).exists())
               new File(erCodeTempPath).delete();
         }
         String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
         if (new File(targetPath).exists())
            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() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
         // 生成
         try {
            QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
         } catch (Exception e) {
            e.printStackTrace();
         }
         erCodeInputStream = new FileInputStream(new File(erCodeTempPath));
         portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
      }
      // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
      ImageUtil.drawInviteToGreet(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode, content, date);
      // 上传文件
      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;
         if (uid == null) {
            fileUrl= "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
         } else {
            fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
            if (new File(erCodeTempPath).exists())
               new File(erCodeTempPath).delete();
         }
         String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath), fileUrl).getUrl();
         if (new File(targetPath).exists())
            new File(targetPath).delete();
         return imgUrl;
      }
      return null;
   }
}
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.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 {
   @Resource
   private ShareMapper shareMapper;
   @Resource
   private SpreadUserImgService spreadUserImgService;
   @Override
   public String getPortrait(Long uid) {
      return shareMapper.getPortrait(uid);
   }
   @Override
   public String drawInviteQrCode(String url, Long uid, String portrait, String inviteCode) throws IOException {
      if (url != null && !url.equals("")) {
         String targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
         String erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
         String erCode = ("http://" + Constant.wxGZConfig.getLoginHost() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
         // 生成
         try {
            QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
         } catch (Exception e) {
            e.printStackTrace();
         }
         InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 背景
         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);
         if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
            // 上传文件
            // 将url 转为 md5 让到下面中添加 在比较md5的值
            int index = url.lastIndexOf("/");
            String newUrl = url.substring(index + 1);
            String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
            String imgUrl = COSManager.getInstance()
                  .uploadFile(new File(targetPath),
                        FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg")
                  .getUrl();
            if (new File(erCodeTempPath).exists())
               new File(erCodeTempPath).delete();
            if (new File(targetPath).exists())
               new File(targetPath).delete();
            return imgUrl;
         }
      }
      return null;
   }
   @Override
   public String drawInviteQrCode(String url, Long uid, String portrait, int erCodePostionX, int erCodePostionY,
         int erCodeSize, String inviteCode) throws IOException {
      if (!StringUtil.isNullOrEmpty(url)) {
         String targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
         String erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
         String erCode = ("http://" + Constant.wxGZConfig.getLoginHost() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
         // 生成
         try {
            QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
         } catch (Exception e) {
            e.printStackTrace();
         }
         InputStream urlInputStream = HttpUtil.getAsInputStream(url); // 背景
         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);
         if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
            // 上传文件
            // 将url 转为 md5 让到下面中添加 在比较md5的值
            int index = url.lastIndexOf("/");
            String newUrl = url.substring(index + 1);
            String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
            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();
            if (new File(targetPath).exists())
               new File(targetPath).delete();
            return imgUrl;
         }
      }
      return null;
   }
   @Override
   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 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 = 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)); // 二维码
      }
      // 官方默认头像
      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);
      // 删除二维码文件
      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 = ("http://" + Constant.wxGZConfig.getLoginHost() + "/"
               + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
         // 生成
         try {
            QRCodeUtil.getInstance(250).encode(erCode, erCodeTempPath);
         } catch (Exception e) {
            e.printStackTrace();
         }
         erCodeInputStream = new FileInputStream(new File(erCodeTempPath));
         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);
      // 删除二维码文件
      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;
         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 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";
      // 上传文件
      return COSManager.getInstance().uploadInputStream(drawStream, upPath);
   }
   @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);
   }
}