喻健
2018-12-19 9f09e749e7198051b9af6c2421336a80b58b79a4
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
@@ -4,6 +4,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;
@@ -14,7 +15,6 @@
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Service;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.entity.FileUploadResult;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
@@ -129,6 +129,11 @@
   @Override
   public long countQueryByUid(Long uid) {
      return userGoodsStorageMapper.countQueryByUid(uid);
   }
   @Override
   public void updateShareState(Long shareId) {
      userGoodsStorageMapper.updateShareState(shareId);
   }
   @Override
@@ -322,32 +327,44 @@
         throw new UserGoodsStorageException(1, "选品库商品不存在");
      }
      
      List<UserGoodsStorage> listResult = new ArrayList<UserGoodsStorage>();
      // 还原顺序 用于制图
      for (Long sid: listStorageID) {
         for (UserGoodsStorage torage: listStorage) {
            Long id = torage.getId();
            if (sid == id || sid.equals(id)) {
               listResult.add(torage);
               break;
            }
         }
      }
      BigDecimal totalMoney = new BigDecimal(0.00);
      List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
      
      for (UserGoodsStorage userGoodsStorage: listStorage) {
      String rateStr = hongBaoManageService.get("hongbao_goods_proportion");
      for (UserGoodsStorage userGoodsStorage: listResult) {
         CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
         TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
         listGoodsBrief.add(goodsBrief);
         // 已分享
         userGoodsStorage.setState(1);
         userGoodsStorage.setUpdateTime(new Date());
         
         String rateStr = hongBaoManageService.get("hongbao_goods_proportion");
         BigDecimal money = TaoBaoUtil.getGoodsHongBaoMoney(goodsBrief, new BigDecimal(rateStr));
         totalMoney = MoneyBigDecimalUtil.add(totalMoney, money);
      }
      
      String revenue = listGoodsBrief.size() + "个商品预估分享奖金:¥"+totalMoney;
      FileUploadResult loadResult = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.storage, listGoodsBrief);
      // 更新为已分享
      userGoodsStorageMapper.updateBatchSelective(listStorage);
      Map<String,Object> map = userShareGoodsRecordService.save(uid, ShareSourceTypeEnum.storage,
            null, listGoodsBrief);
      
      JSONObject data = new JSONObject();
      data.put("shareImg", loadResult);
      data.put("revenue", revenue);
      data.put("notifyDesc", configService.get("goods_share_notify"));
      data.put("shareId", map.get("shareId"));
      data.put("shareImg", map.get("loadResult"));
      data.put("notifyDesc", configService.get("goods_share_multiple_notify"));
      return data;
   }