yujian
2019-07-29 cdd852f8e8eff7eb2e8f7c3fceaa955b9fc3f9d3
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -120,6 +120,11 @@
   public long countQueryByUid(Long uid, String source) {
      return userShareGoodsRecordMapper.countQueryByUid(uid, source);
   }
   @Override
   public List<UserShareGoodsGroup> listByRecordId(Long shareId) {
      return  userShareGoodsGroupService.listByRecordId(shareId);
   }
   @Override
   public List<UserShareGoodsRecord> listCountRecord(List<Long> list) {
@@ -708,6 +713,45 @@
      return recordDTO;
   }
   @Override
   public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<TaoBaoGoodsBrief> listGoodsBrief, List<Long> listStorageID)
         throws UserShareGoodsRecordException {
      if (uid == null || uid <= 0 || listGoodsBrief == null || listGoodsBrief.size() == 0) {
         throw new UserShareGoodsRecordException(1, "传递参数不正确");
      }
      // 插入记录
      UserShareGoodsRecord record = new UserShareGoodsRecord();
      record.setUid(uid);
      record.setShareState(0); // 初始未分享
      record.setSource(ShareSourceTypeEnum.storage);
      record.setPicture(listGoodsBrief.get(0).getPictUrl()); // 取一个商品图片作为主图
      record.setCreateTime(new Date());
      userShareGoodsRecordMapper.insertSelective(record);
      Long id = record.getId();
      // 分享链接
      String shareUrl = getShareUrlV2(record);
      // 分享二维码链接
      FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoodsBrief);
      ShareGoodsRecordDTO recordDTO = new ShareGoodsRecordDTO();
      recordDTO.setUid(uid);
      recordDTO.setShareId(id);
      recordDTO.setShareUrl(shareUrl);
      recordDTO.setListId(listStorageID);
      recordDTO.setListGoodsBrief(listGoodsBrief);
      recordDTO.setSharePictureUrl(uploadResult.getUrl());
      recordDTO.setSource(ShareSourceTypeEnum.storage);
      // 缓存分享商品信息
      String key = StringUtil.Md5(uid + "#GoodsStorage#" + id);
      recordDTO.setRedisKey(key);
      redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(recordDTO), 60 * 20);
      return recordDTO;
   }
   @Override
   public ShareGoodsRecordDTO addRecordActivity(Long uid, List<TaoBaoGoodsBrief> listGoodsBrief)
@@ -862,6 +906,27 @@
      }
      return url;
   }
   /**
    * 分享链接
    *
    * @param shareRecord
    * @return
    */
   public String getShareUrlV2(UserShareGoodsRecord shareRecord) {
      Long uid = shareRecord.getUid();
      Long shareId = shareRecord.getId();
      String url = String.format("http://%s/share_mushGoods_1.6.0.html?uid=%s&shareId=%s",
            configService.getH5Host(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareId + "");
      String shortLink = HttpUtil.getShortLink(url);
      if (!StringUtil.isNullOrEmpty(shortLink)) {
         url = shortLink;
      }
      return url;
   }
   /**
    * 生成分享图