admin
2019-07-30 573c491b4a1ba60e12a5678a01c1546c0077c1ee
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java
@@ -1,9 +1,11 @@
package com.yeshi.fanli.service.impl.taobao;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;
@@ -14,6 +16,7 @@
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderTradeMapMapper;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoOrderTradeMap;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
@@ -80,6 +83,33 @@
   @Transactional
   @Override
   public void addTaoBaoOrder(String orderId, List<TaoBaoOrder> list) {
      LogHelper.test("订单号与订单数量:" + orderId + "-" + list.size());
      // 验证orderby是否正确
      if (list != null && list.size() > 0) {
         int maxOrderBy = list.get(0).getOrderBy();
         if (list.size() > 1)
            for (TaoBaoOrder order : list) {
               if (order.getOrderBy() > maxOrderBy)
                  maxOrderBy = order.getOrderBy();
            }
         if (list.size() != maxOrderBy) {
            LogHelper.test("捕捉到排序值错误:" + orderId);
            return;
         }
      }
      // 验证tradeId问题
      Set<String> tradesIds = new HashSet<>();
      for (TaoBaoOrder order : list) {
         tradesIds.add(order.getTradeId());
      }
      // 有重复的交易ID不处理
      if (tradesIds.size() != list.size()) {
         LogHelper.test("检测到交易ID重复问题:" + orderId);
         return;
      }
      List<TaoBaoOrder> oldOrderList = taoBaoOrderMapper.selectTaoBaoOrderByOrderId(orderId);
      if (oldOrderList == null || oldOrderList.size() == 0) {
         for (TaoBaoOrder taoBaoOrder : list) {
@@ -143,4 +173,35 @@
      }
   }
   @Override
   public TaoBaoOrder selectByTradeId(String tradeId) {
      return taoBaoOrderMapper.selectTaoBaoOrderByTradeId(tradeId);
   }
   @Override
   public List<TaoBaoOrder> listAllOrder(int page, int pageSize) {
      return taoBaoOrderMapper.listAllOrder(null, (page - 1) * pageSize, pageSize);
   }
   @Override
   public long countAllOrder() {
      return taoBaoOrderMapper.countAllOrder(null);
   }
   @Override
   public TaoBaoOrder selectByPrimaryKey(Long id) {
      return taoBaoOrderMapper.selectByPrimaryKey(id);
   }
   @Override
   public List<TaoBaoOrder> listBySettlementTime(Long minTime, Long maxTime, int page, int pageSize) {
      return taoBaoOrderMapper.listBySettlementTime(minTime, maxTime, (page - 1) * pageSize, pageSize);
   }
   @Override
   public Long countBySettlementTime(Long minTime, Long maxTime) {
      return taoBaoOrderMapper.countBySettlementTime(minTime, maxTime);
   }
}