yujian
2019-01-22 88b54772dbcf5ecab1e2316e4e4626ac901b8908
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderItemServcieImpl.java
@@ -2,6 +2,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -16,6 +17,7 @@
import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper;
import com.yeshi.fanli.dao.mybatis.ThreeSaleGiftMapper;
import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
import com.yeshi.fanli.dao.mybatis.goods.CommonGoodsMapper;
import com.yeshi.fanli.dao.mybatis.order.OrderItemMapper;
import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
import com.yeshi.fanli.dao.order.OrderItemDao;
@@ -24,6 +26,7 @@
import com.yeshi.fanli.entity.bus.user.OrderItem;
import com.yeshi.fanli.entity.bus.user.ThreeSaleGift;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.exception.OrderItemException;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
@@ -94,6 +97,9 @@
   @Resource
   private RedisManager redisManager;
   @Resource
   private CommonGoodsMapper commonGoodsMapper;
   @Transactional(propagation = Propagation.REQUIRES_NEW)
   public void saveOrUpdate(List<OrderItem> list) {
@@ -270,7 +276,7 @@
   @Override
   public void synOldOrder(List<TaoBaoOrder> tborderList) {
      BigDecimal rate = new BigDecimal(hongBaoManageService.get("hongbao_goods_proportion"));
      BigDecimal  rate = hongBaoManageService.getFanLiRate();
      Map<String, Order> map = new HashMap<String, Order>();
      tborderList.stream().forEach((tbo) -> {
         Order order = map.get(tbo.getOrderId());
@@ -307,7 +313,7 @@
   @Override
   public void processOrderItem(String orderId, List<TaoBaoOrder> orderList) {
      List<OrderItem> orderItemList = orderItemMapper.findOrderByOrderIdAndTypeAndVersion(orderId, 1, 2);
      BigDecimal rate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue());
      BigDecimal  rate = hongBaoManageService.getFanLiRate();
      Order order = orderMapper.selectOrderByOrderId(orderId);
      // 尚未插入子订单
      if (orderItemList == null || orderItemList.size() == 0) {
@@ -406,9 +412,18 @@
   @Transactional
   @Override
   public OrderItem addOrderItem(TaoBaoOrder taoBaoOrder, Order order, BigDecimal rate) throws OrderItemException {
      //如果下架则从CommonGoods里面获取图片
      List<String> imgList=redisManager.getTBImg(taoBaoOrder.getAuctionId());
      if(imgList.size()==0)
         {imgList=new ArrayList<>();
         CommonGoods  commonGoods=   commonGoodsMapper.selectByGoodsIdAndGoodsType(taoBaoOrder.getAuctionId(), CommonGoods.GOODS_TYPE_TB);
         if(commonGoods!=null)
         imgList.add(commonGoods.getPicture());
         }
      OrderItem orderItem = TaoBaoOrderUtil.convert(taoBaoOrder, order, rate,
            redisManager.getTBImg(taoBaoOrder.getAuctionId()));
            imgList);
      orderItem.setFanTime(0L);
      orderItem.setIsGift(false);
@@ -471,8 +486,22 @@
         updateOrderItem.setSettlementTime(newOrderItem.getSettlementTime());
         updateOrderItem.setState(newOrderItem.getState());
         updateOrderItem.setPrePayMoney(taoBaoOrder.getPrice().multiply(new BigDecimal(taoBaoOrder.getCount())));
         updateOrderItem.setPayMoney(newOrderItem.getPayMoney());
         updateOrderItem.setFanMoney(newOrderItem.getFanMoney());
         orderItemMapper.updateByPrimaryKeySelective(updateOrderItem);
      }
      }
//      else if (newOrderItem.getState() == OrderItem.STATE_JIESUAN) {
//         OrderItem updateOrderItem = new OrderItem();
//         // 处理正常状态
//         updateOrderItem.setId(oldOrderItem.getId());
//         // updateOrderItem.setSettlementTime(newOrderItem.getSettlementTime());
//         // updateOrderItem.setState(newOrderItem.getState());
//         updateOrderItem.setPrePayMoney(taoBaoOrder.getPrice().multiply(new BigDecimal(taoBaoOrder.getCount())));
//         updateOrderItem.setPayMoney(newOrderItem.getPayMoney());
//         updateOrderItem.setFanMoney(newOrderItem.getFanMoney());
//         orderItemMapper.updateByPrimaryKeySelective(updateOrderItem);
//      }
      // 更新分销状态
      if (oldOrderItem.getIsGift()) {