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 | 181 +++++++++++++++++++++++++++----------------- 1 files changed, 110 insertions(+), 71 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 1d2243d..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,26 +1,27 @@ 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; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; 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.entity.bus.user.HongBaoV2; +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; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; -import com.yeshi.fanli.vo.order.TaoBaoOrderVO; @Service public class TaoBaoOrderServiceImpl implements TaoBaoOrderService { @@ -30,6 +31,9 @@ @Resource private RedisManager redisManager; + + @Resource + private TaoBaoOrderTradeMapMapper taoBaoOrderTradeMapMapper; @Override public void addTaoBaoOrderList(List<TaoBaoOrder> list) { @@ -51,6 +55,7 @@ } catch (Exception e) { } + addTaoBaoOrder(orderId, map.get(orderId)); try { // 6灏忔椂鍐呬笉鍐嶅鐞� @@ -59,32 +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 { - 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); + } } } } @@ -96,73 +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 List<TaoBaoOrderVO> listQuery(int start, int count,Integer keyType, String key, - String startTime, String endTime, Integer state) throws Exception { - - List<TaoBaoOrderVO> listData = taoBaoOrderMapper.listQuery(start, count, keyType, key, startTime, endTime, state); - - for (TaoBaoOrderVO taoBaoOrderVO : listData) { - - String orderState = taoBaoOrderVO.getOrderState(); - if ("璁㈠崟浠樻".equals(orderState)) { - taoBaoOrderVO.setOrderState("1"); - }else if ("璁㈠崟缁撶畻".equals(orderState) || "璁㈠崟鎴愬姛".equals(orderState)) { - taoBaoOrderVO.setOrderState("2"); - } else if ("璁㈠崟澶辨晥".equals(orderState)) { - taoBaoOrderVO.setOrderState("3"); - } - - /* 鍒拌处鐘舵�� */ - String moneyState = taoBaoOrderVO.getUserMoneyState(); - if ((HongBaoV2.STATE_BUKELINGQU+"").equals(moneyState) - || (HongBaoV2.STATE_KELINGQU+"").equals(moneyState)) { - taoBaoOrderVO.setUserMoneyState("1"); // 鏈埌璐� - } else if ((HongBaoV2.STATE_YILINGQU + "").equals(moneyState)) { - taoBaoOrderVO.setUserMoneyState("2"); // 宸插埌璐� - } else { - taoBaoOrderVO.setUserMoneyState("3"); // 宸插け鏁� - } - - String userHongBaoType = taoBaoOrderVO.getUserHongBaoType(); - if ((HongBaoV2.TYPE_ZIGOU+"").equals(userHongBaoType)) { - taoBaoOrderVO.setUserHongBaoType("1"); // 鑷喘 - } else if ((HongBaoV2.TYPE_SHARE_GOODS + "").equals(userHongBaoType)) { - taoBaoOrderVO.setUserHongBaoType("2"); // 鍒嗕韩 - } else { - taoBaoOrderVO.setUserHongBaoType("3"); // 閭�璇� - } - } - - return listData; + public TaoBaoOrder selectByTradeId(String tradeId) { + return taoBaoOrderMapper.selectTaoBaoOrderByTradeId(tradeId); } - + @Override - public long countQuery(Integer keyType, String key, String startTime, String endTime, - Integer state) throws Exception { - return taoBaoOrderMapper.countQuery(keyType, key, startTime, endTime, state); + 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