admin
2019-12-13 a3e7322a0aa6b5b13a84bc76923d0c6b68b13276
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -24,6 +24,8 @@
import com.aliyun.openservices.ons.api.transaction.TransactionProducer;
import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
import com.google.gson.Gson;
import com.opensymphony.xwork2.util.Element;
import com.sun.org.apache.xml.internal.serializer.ElemDesc;
import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
@@ -51,6 +53,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.exception.elme.ElmeOrderException;
import com.yeshi.fanli.exception.money.OrderMoneySettleException;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.exception.order.CommonOrderException;
@@ -202,6 +205,7 @@
      Iterator<String> its = orders.keySet().iterator();
      Map<String, List<TaoBaoOrder>> fanliOrderMap = new HashMap<>();
      Map<String, List<TaoBaoOrder>> shareOrderMap = new HashMap<>();
      Map<String, List<TaoBaoOrder>> elmeOrderMap = new HashMap<>();
      while (its.hasNext()) {
         String orderId = its.next();
@@ -209,7 +213,12 @@
            List<TaoBaoOrder> list = orders.get(orderId);
            String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(),
                  list.get(0).getSourceMediaId(), list.get(0).getAdPositionId());
            if ("饿了么".equalsIgnoreCase(list.get(0).getOrderType())) {
               // 处理饿了么订单
               elmeOrderMap.put(orderId, list);
            }
            else {
            if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())
                  || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 设置渠道ID当做会员运营ID的位置ID
               fanliOrderMap.put(orderId, list);
@@ -232,11 +241,52 @@
            }
         }
      }
      }
      // 处理返利订单
      processShopingFanliOrder(fanliOrderMap);
      // 处理分享赚订单
      processShareGoodsOrder(shareOrderMap);
      // 处理饿了么订单
      processElemeOrder(elmeOrderMap);
   }
   private ElmeOrder createElmeOrder(TaoBaoOrder taoBaoOrder) {
      ElmeOrder elmeOrder = new ElmeOrder();
      elmeOrder.setChannelId("");
      elmeOrder.setCreateTime(new Date());
      elmeOrder
            .setOrderDate(new Date(TimeUtil.convertToTimeTemp(taoBaoOrder.getCreateTime(), "yyyy-MM-dd HH:mm:ss")));
      elmeOrder.setOrderId(taoBaoOrder.getOrderId());
      elmeOrder.setPayMoney(taoBaoOrder.getPayment());
      elmeOrder.setRid(taoBaoOrder.getRelationId());
      if (taoBaoOrder.getOrderState().equalsIgnoreCase("订单结算"))
         elmeOrder.setIsSettle(true);
      else
         elmeOrder.setIsSettle(false);
      elmeOrder.setTrackPid(
            String.format("mm_124933865_%s_%s", taoBaoOrder.getSourceMediaId(), taoBaoOrder.getAdPositionId()));
      if (!StringUtil.isNullOrEmpty(taoBaoOrder.getRelationId())) {
         UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByRelationId(taoBaoOrder.getRelationId());
         if (extraInfo != null)
            elmeOrder.setUid(extraInfo.getUser().getId());
      }
      return elmeOrder;
   }
   private void processElemeOrder(Map<String, List<TaoBaoOrder>> orders) {
      for (Iterator<String> its = orders.keySet().iterator(); its.hasNext();) {
         String orderId = its.next();
         List<TaoBaoOrder> orderList = orders.get(orderId);
         for (TaoBaoOrder taoBaoOrder : orderList) {
            ElmeOrder elmeOrder = createElmeOrder(taoBaoOrder);
            try {
               elmeOrderService.addOrder(elmeOrder);
            } catch (ElmeOrderException e) {
               e.printStackTrace();
            }
         }
      }
   }
   @Override