yujian
2019-05-21 ff33cdfa1bd3a89ad9f5a72067b1c9b47376ef22
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -368,13 +368,10 @@
      userShareGoodsRecord.setUpdateTime(date);
      userShareGoodsRecordMapper.insertSelective(userShareGoodsRecord);
      Map<String, Object> map = new HashMap<String, Object>();
      // 多个商品分享
      FileUploadResult loadResult = multipleGoodsShare(userShareGoodsRecord, listGoods);
       multipleGoodsShareRecord(userShareGoodsRecord, listGoods);
   
      ShareInfoDTO shareInfo = new ShareInfoDTO();
      shareInfo.setMd5(loadResult.getMd5());
      shareInfo.setCodeUrl(loadResult.getUrl());
      shareInfo.setShareId(userShareGoodsRecord.getId());
      shareInfo.setShareUrl(getShareUrl(userShareGoodsRecord));
      
@@ -441,6 +438,57 @@
   }
   /**
    * 多个商品分享生成记录
    *
    * @param userShareGoodsRecord
    * @param listGoods
    */
   @Transactional
   public void multipleGoodsShareRecord(UserShareGoodsRecord userShareGoodsRecord,
         List<TaoBaoGoodsBrief> listGoods) throws UserShareGoodsRecordException {
      // 分享记录
      Date date = new Date();
      List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
      List<UserShareGoodsGroup> listGroup = new ArrayList<UserShareGoodsGroup>();
      for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
         CommonGoods commonGoods = CommonGoodsFactory.create(taoBaoGoodsBrief);
         commonGoods.setState(taoBaoGoodsBrief.getState());
         try {
            CommonGoods resultCommonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods);
            if (resultCommonGoods != null) {
               TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(resultCommonGoods);
               listGoodsBrief.add(goodsBrief);
            }
            UserShareGoodsGroup shareGoodsGroup = new UserShareGoodsGroup();
            shareGoodsGroup.setTotalOrder(0);
            shareGoodsGroup.setTotalBrowse(0);
            shareGoodsGroup.setTodayBrowse(0);
            shareGoodsGroup.setTotalMoney(new BigDecimal(0));
            shareGoodsGroup.setCreateTime(date);
            shareGoodsGroup.setUpdateTime(date);
            shareGoodsGroup.setCommonGoods(resultCommonGoods);
            shareGoodsGroup.setRecordId(userShareGoodsRecord.getId());
            listGroup.add(shareGoodsGroup);
         } catch (CommonGoodsException e) {
            e.printStackTrace();
            continue;
         }
      }
      if (listGroup.size() > 0) {
         userShareGoodsGroupService.insertBatch(listGroup);
      }
   }
   /**
    * 多个商品分享生成记录
    * 
@@ -754,15 +802,19 @@
      }
      shareRecord.setShareState(1);// 分享生效
      updateByPrimaryKeySelective(shareRecord);
      // 更新商品为已分享
      userGoodsStorageService.updateShareState(shareId);
      updateByPrimaryKeySelective(shareRecord);// 更新商品为已分享
      // 更新选品库商品为已分享
      executor.execute(new Runnable() {
         @Override
         public void run() {
            userGoodsStorageService.updateShareState(shareId);
         }
      });
   }
   @Override
   public long countShareRecordByUid(Long uid) {
      return userShareGoodsRecordMapper.countQueryByUid(uid, null);
   }
}