From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoOrderServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoOrderServiceImpl.java index ce17e2b..d2988bf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoOrderServiceImpl.java @@ -15,9 +15,11 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.DefaultTransactionDefinition; +import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderGoodsMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderTradeMapMapper; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; +import com.yeshi.fanli.entity.taobao.TaoBaoOrderGoods; import com.yeshi.fanli.entity.taobao.TaoBaoOrderTradeMap; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; @@ -42,6 +44,9 @@ @Resource(name = "transactionManager") private DataSourceTransactionManager transactionManager; + @Resource + private TaoBaoOrderGoodsMapper taoBaoOrderGoodsMapper; + /** * 鑾峰彇璁㈠崟鐨勫搱甯屽�� * @@ -57,7 +62,8 @@ Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String orderId = its.next(); - String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrder, TaoBaoOrderUtil.getOrderDataHashCode(map.get(orderId))); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrder, + TaoBaoOrderUtil.getOrderDataHashCode(map.get(orderId))); // redis鍋氶鐜囬檺鍒� try { if (Constant.IS_OUTNET) { @@ -94,6 +100,13 @@ taoBaoOrderTradeMapMapper.insertSelective(map); } + // 娣诲姞娣樺疂璁㈠崟 + private void insertTaoBaoOrder(TaoBaoOrder taoBaoOrder) { + taoBaoOrderMapper.insertSelective(taoBaoOrder); + addTaoBaoOrderTradeMap(taoBaoOrder); + addTaoBaoOrderGoods(taoBaoOrder.getGoods()); + } + @Transactional @Override public void addTaoBaoOrder(String orderId, List<TaoBaoOrder> list) { @@ -101,7 +114,7 @@ try { LogHelper.test("璁㈠崟鍙蜂笌璁㈠崟鏁伴噺:" + orderId + "-" + list.size()); - + // 楠岃瘉orderby鏄惁姝g‘ if (list != null && list.size() > 0) { int maxOrderBy = list.get(0).getOrderBy(); @@ -124,24 +137,31 @@ // 鏈夐噸澶嶇殑浜ゆ槗ID涓嶅鐞� if (tradesIds.size() != list.size()) { + // 鍘婚櫎閲嶅浜ゆ槗ID + tradesIds = new HashSet<>(); + for (int i = 0; i < list.size(); i++) { + if (tradesIds.contains(list.get(i).getTradeId())) { + list.remove(i--); + } else + tradesIds.add(list.get(i).getTradeId()); + } + LogHelper.test("妫�娴嬪埌浜ゆ槗ID閲嶅闂:" + orderId); - throw new Exception(); +// throw new Exception(); } 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); + insertTaoBaoOrder(taoBaoOrder); } } else { if (StringUtil.isNullOrEmpty(oldOrderList.get(0).getTradeId())) { taoBaoOrderMapper.deleteByOrderId(orderId); for (TaoBaoOrder taoBaoOrder : list) { taoBaoOrder.setLatestUpdateTime(new Date()); - taoBaoOrderMapper.insertSelective(taoBaoOrder); - addTaoBaoOrderTradeMap(taoBaoOrder); + insertTaoBaoOrder(taoBaoOrder); } } else { // 鎸塼radeId鏇存柊 @@ -149,8 +169,7 @@ TaoBaoOrder order = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(taoBaoOrder.getTradeId()); if (order == null) { taoBaoOrder.setLatestUpdateTime(new Date()); - taoBaoOrderMapper.insertSelective(taoBaoOrder); - addTaoBaoOrderTradeMap(taoBaoOrder); + insertTaoBaoOrder(taoBaoOrder); } else { taoBaoOrder.setId(order.getId()); if (!StringUtil.isNullOrEmpty(order.getRelationId())) @@ -167,6 +186,7 @@ // 鎻愪氦浜嬪姟 transactionManager.commit(transactionStatus); } catch (Exception e) { + e.printStackTrace(); transactionManager.rollback(transactionStatus); } } @@ -232,4 +252,22 @@ return taoBaoOrderMapper.listByStateAndCreateTime(state, minCreateTime.getTime(), maxCreateTime.getTime()); } + @Override + public Long countOrderByDay(String preDay) { + return taoBaoOrderMapper.countOrderByDay(preDay); + } + + @Override + public void addTaoBaoOrderGoods(TaoBaoOrderGoods goods) { + if (goods == null || StringUtil.isNullOrEmpty(goods.getTradeId())) + return; + TaoBaoOrderGoods oldGoods = taoBaoOrderGoodsMapper.selectByTradeId(goods.getTradeId()); + if (oldGoods != null) + return; + + if (goods.getCreateTime() == null) + goods.setCreateTime(new Date()); + taoBaoOrderGoodsMapper.insertSelective(goods); + } + } -- Gitblit v1.8.0