From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java | 142 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 114 insertions(+), 28 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java index 009b7d9..59cc845 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java +++ b/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; @@ -11,8 +13,10 @@ import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderMapper; -import com.yeshi.fanli.entity.admin.ReslutOrder; +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; @@ -27,6 +31,9 @@ @Resource private RedisManager redisManager; + + @Resource + private TaoBaoOrderTradeMapMapper taoBaoOrderTradeMapMapper; @Override public void addTaoBaoOrderList(List<TaoBaoOrder> list) { @@ -48,6 +55,7 @@ } catch (Exception e) { } + addTaoBaoOrder(orderId, map.get(orderId)); try { // 6灏忔椂鍐呬笉鍐嶅鐞� @@ -56,36 +64,85 @@ } catch (Exception e) { } - } + } + + @Transactional + private void addTaoBaoOrderTradeMap(TaoBaoOrder order) { + if (order == null || StringUtil.isNullOrEmpty(order.getTradeId())) + return; + TaoBaoOrderTradeMap map = new TaoBaoOrderTradeMap(); + map.setCreateTime(new Date()); + map.setTaoBaoOrder(order); + map.setTradeId(order.getTradeId()); + TaoBaoOrderTradeMap oldMap = taoBaoOrderTradeMapMapper.selectByTradeId(order.getTradeId()); + if (oldMap == null) + taoBaoOrderTradeMapMapper.insertSelective(map); } @Transactional @Override public void addTaoBaoOrder(String orderId, List<TaoBaoOrder> list) { + LogHelper.test("璁㈠崟鍙蜂笌璁㈠崟鏁伴噺:" + orderId + "-" + list.size()); + // 楠岃瘉orderby鏄惁姝g‘ + 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) { taoBaoOrder.setLatestUpdateTime(new Date()); taoBaoOrderMapper.insertSelective(taoBaoOrder); + addTaoBaoOrderTradeMap(taoBaoOrder); } } else { - //娴嬭瘯 - if(1>0) - return; - - boolean hasPayOrder = false; - for (TaoBaoOrder order : oldOrderList) - if (order.getOrderState().equalsIgnoreCase("璁㈠崟浠樻")) { - hasPayOrder = true; - break; - } - // 鍒犻櫎鍘熸潵鐨勮鍗曪紝鍔犲叆鏂拌鍗� - if (hasPayOrder) { + if (StringUtil.isNullOrEmpty(oldOrderList.get(0).getTradeId())) { taoBaoOrderMapper.deleteByOrderId(orderId); for (TaoBaoOrder taoBaoOrder : list) { taoBaoOrder.setLatestUpdateTime(new Date()); taoBaoOrderMapper.insertSelective(taoBaoOrder); + addTaoBaoOrderTradeMap(taoBaoOrder); + } + } else { + // 鎸塼radeId鏇存柊 + for (TaoBaoOrder taoBaoOrder : list) { + TaoBaoOrder order = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(taoBaoOrder.getTradeId()); + if (order == null) { + taoBaoOrder.setLatestUpdateTime(new Date()); + taoBaoOrderMapper.insertSelective(taoBaoOrder); + addTaoBaoOrderTradeMap(taoBaoOrder); + } else { + taoBaoOrder.setId(order.getId()); + if (!StringUtil.isNullOrEmpty(order.getRelationId())) + taoBaoOrder.setRelationId(order.getRelationId()); + if (!StringUtil.isNullOrEmpty(order.getSpecialId())) + taoBaoOrder.setSpecialId(order.getSpecialId()); + taoBaoOrder.setLatestUpdateTime(new Date()); + taoBaoOrderMapper.updateByPrimaryKeySelective(taoBaoOrder); + addTaoBaoOrderTradeMap(taoBaoOrder); + } } } } @@ -97,25 +154,54 @@ } @Override - public List<ReslutOrder> queryJoinHongBao(int start, int count, String key, String startTime, String endTime, - Integer type, Integer days) throws Exception { - return taoBaoOrderMapper.queryJoinHongBao(start, count, key, startTime, endTime, type, days); - } - - @Override - public int countQueryJoinHongBao(String key, String startTime, String endTime, Integer type, Integer days) - throws Exception { - return taoBaoOrderMapper.countQueryJoinHongBao(key, startTime, endTime, type, days); - } - - @Override public double countEstimate(String date) throws Exception { return taoBaoOrderMapper.countEstimate(date); } @Override - public List<TaoBaoOrder> getStateByOrderIdAndPayment(String orderId, String payment) throws Exception { - return taoBaoOrderMapper.getStateByOrderIdAndPayment(orderId, payment); + public void bindSpecialIdAndRealtionId(String tradeId, String specialId, String realtionId) { + if (StringUtil.isNullOrEmpty(specialId) && StringUtil.isNullOrEmpty(realtionId)) + return; + TaoBaoOrder order = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(tradeId); + if (order != null) { + TaoBaoOrder update = new TaoBaoOrder(); + update.setId(order.getId()); + update.setSpecialId(specialId); + update.setRelationId(realtionId); + update.setLatestUpdateTime(new Date()); + taoBaoOrderMapper.updateByPrimaryKeySelective(update); + } + } + + @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); } } -- Gitblit v1.8.0