From 5c4ecf9e8b47efbbf5d21c9e109be0a60cb7e26d Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 08 四月 2019 15:15:09 +0800 Subject: [PATCH] 冲突解决 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 41 insertions(+), 19 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java index bc4b21f..4875d82 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java @@ -20,12 +20,9 @@ import com.yeshi.fanli.dao.mybatis.AccountMessageMapper; import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper; import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper; -import com.yeshi.fanli.dao.mybatis.MoneyRecordMapper; -import com.yeshi.fanli.dao.mybatis.ThreeSaleGiftMapper; import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper; import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper; -import com.yeshi.fanli.dao.mybatis.order.OrderItemMapper; import com.yeshi.fanli.dao.mybatis.order.OrderMapper; import com.yeshi.fanli.dao.mybatis.share.PidUserMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper; @@ -65,8 +62,10 @@ import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; +import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil; @Service public class OrderProcessServiceImpl implements OrderProcessService { @@ -77,25 +76,14 @@ @Resource private PidUserMapper pidUserMapper; - @Resource private UserInfoMapper userInfoMapper; - - @Resource - private OrderItemMapper orderItemMapper; - @Resource private HongBaoManageMapper hongBaoManageMapper; @Resource private AccountMessageMapper accountMessageMapper; - - @Resource - private MoneyRecordMapper moneyRecordMapper; - - @Resource - private ThreeSaleGiftMapper threeSaleGiftMapper; @Resource private OrderService orderService; @@ -155,9 +143,10 @@ Map<String, List<TaoBaoOrder>> shareOrderMap = new HashMap<>(); while (its.hasNext()) { String orderId = its.next(); + if (orders.get(orderId) != null && orders.get(orderId).size() > 0) { List<TaoBaoOrder> list = orders.get(orderId); - + LogHelper.test(String.format("璁㈠崟澶勭悊:璁㈠崟鍙�-%s 璁㈠崟鏁伴噺-%s", orderId, list.size() + "")); if (!StringUtil.isNullOrEmpty(list.get(0).getRelationId())) { shareOrderMap.put(orderId, list); } else if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())) { @@ -462,9 +451,9 @@ UserMoneyDetail userMoneyDetail = null; // 鎻掑叆鏂扮増璧勯噾鏄庣粏 try { + // 姝ゅ涓嶇敤璁㈠崟鍙峰仛鍞竴鎬х储寮� userMoneyDetail = UserMoneyDetailFactory.createFanLi(uid, hongBaoOrder.getCommonOrder().getOrderNo(), hongBaoOrder.getCommonOrder().getSourceType(), null, money); - } catch (UserMoneyDetailException e1) { try { LogHelper.errorDetailInfo(e1, "璁㈠崟鍙�:" + hongBaoOrder.getCommonOrder().getOrderNo(), ""); @@ -473,7 +462,7 @@ } } - userMoneyDetailMapper.insert(userMoneyDetail); + userMoneyDetailMapper.insertSelective(userMoneyDetail); // 娣诲姞璧勯噾鏄庣粏涓庣孩鍖呯殑鏄犲皠鍏崇郴 for (HongBaoV2 v2 : userHongBao.get(uid)) { accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), userMoneyDetail.getId()); @@ -508,7 +497,40 @@ // 缁存潈鎵f锛�2018-08-05鍚庡紑濮嬪疄琛岋級 if (hongBaoOrder.getCommonOrder().getSettleTime() != null && hongBaoOrder.getCommonOrder().getSettleTime() .getTime() >= TimeUtil.convertToTimeTemp("2018-08-05", "yyyy-MM-dd")) { - taoBaoWeiQuanDrawBackService.doWeiQuanFanli(hongBaoOrder.getCommonOrder().getOrderNo()); + try { + + taoBaoWeiQuanDrawBackService.doWeiQuanFanli(hongBaoOrder.getCommonOrder().getOrderNo()); + + } catch (TaoBaoWeiQuanException e) { + if (e.getCode() == TaoBaoWeiQuanException.CODE_NEDD_UPDATE_ORDER) { + List<TaoBaoOrder> olist = taoBaoOrderService + .getTaoBaoOrderByOrderId(hongBaoOrder.getCommonOrder().getOrderNo()); + + if (olist != null && olist.size() > 0) { + long time = TimeUtil.convertToTimeTemp(olist.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss"); + olist = TaoKeOrderApiUtil.getTaoBaoAllOrder(TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"), + TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + List<TaoBaoOrder> thirdOList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder( + TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"), 30, 1, + TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + if (thirdOList != null && thirdOList.size() > 0) + olist.addAll(thirdOList); + + if (olist != null && olist.size() > 0) { + for (int i = 0; i < olist.size(); i++) { + if (!olist.get(i).getOrderId() + .equalsIgnoreCase(hongBaoOrder.getCommonOrder().getOrderNo())) {// 鍒犻櫎鏃犲叧璁㈠崟 + olist.remove(i); + i--; + } + } + + taoBaoOrderService.addTaoBaoOrderList(olist); + } + } + } else + throw new TaoBaoWeiQuanException(e.getCode(), e.getMsg()); + } } } @@ -717,7 +739,7 @@ // 鏂扮増閫氱煡 userMoneyMsgNotificationService.inviteOrderReceived(uid, inviteOrders.size(), inviteGoodsCount, invitemoney, - userInfoMapper.selectByPrimaryKey(uid).getMyHongBao()); + userInfoMapper.selectByPKey(uid).getMyHongBao()); for (String orderId : drawBackOrders) taoBaoWeiQuanDrawBackService.doWeiQuanInvite(orderId); -- Gitblit v1.8.0