admin
2024-01-23 81da61b828e29b7745e1382dfbbaeb685dc083ef
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
@@ -17,6 +17,7 @@
import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.QrCodeService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.util.Constant;
@@ -26,6 +27,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.UserInviteUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.user.PullNewRuleVO;
@Service
public class QrCodeServiceImpl implements QrCodeService {
@@ -307,6 +309,41 @@
   
   
   @Override
   public FileUploadResult drawGoodsQuickhShare(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.drawGoodsQuickhShare(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 drawDynamicGoodsPoster(String erCodeUrl, String portrait, String inviteCode,
         String mainPic, GoodsDetailVO goods) {
      // 二维码流
@@ -384,4 +421,34 @@
      return COSManager.getInstance().uploadInputStream(drawStream, upPath);
   }
   @Override
   public String drawPullNewPoster(Long uid, String portrait, String inviteCode, PullNewRuleVO rule) {
      // 头像流
      InputStream portraitStream = HttpUtil.getAsInputStream(portrait);
      // 生成二维码
      String erCode = UserInviteUtil.getShareUrl(uid);
      InputStream erCodeStream = null;
      try {
         erCodeStream = QRCodeUtil.getInstance(250).encodeDeleteWhite(erCode);
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
      }
      if (erCodeStream == null)
         return null;
      // 画图
      InputStream drawStream = ImageUtil.drawPullNewPoster(erCodeStream,portraitStream, inviteCode, rule);
      if (drawStream == null)
         return null;
      // 上传位置
      String uuid = UUID.randomUUID().toString().replace("-", "");
      String upPath = FilePathEnum.ercodeActivity.getPath() + uuid + "_" +uid + "_" + System.currentTimeMillis() + ".png";
      // 上传文件
       FileUploadResult result = COSManager.getInstance().uploadInputStream(drawStream, upPath);
       if (result == null)
          return null;
       return result.getUrl();
   }
}