From d146e7bca73c7605af6b718b5df0b757e0034f0e Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@Admin> Date: 星期二, 18 十二月 2018 11:17:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java index 274515f..4ae9ff4 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java @@ -31,11 +31,13 @@ import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; +import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.order.PidOrderService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.service.inter.user.UserNotificationService; +import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -88,6 +90,12 @@ @Resource private RedisManager redisManager; + + // @Resource + // private LostOrderService lostOrderService; + + @Resource + private UserShareGoodsGroupService userShareGoodsGroupService; @Override @Transactional @@ -201,11 +209,13 @@ while (its.hasNext()) { String orderId = its.next(); // 璁㈠崟閿佸畾 -// if (isRedisLockOrder(orderId)) -// continue; -// redisLockOrder(orderId); + // if (isRedisLockOrder(orderId)) + // continue; + // redisLockOrder(orderId); doPidOrder(orderId); -// redisUnlockOrder(orderId); + // 澶勭悊璁㈠崟鎵惧洖 + // lostOrderService.processSuceess(orderId); + // redisUnlockOrder(orderId); } } @@ -247,16 +257,18 @@ @Override @Transactional public void doPidOrder(String orderId) { - Map<String, String> convertMap = hongBaoManageService.convertMap(); - BigDecimal rate = new BigDecimal(convertMap.get("hongbao_goods_proportion")).divide(new BigDecimal(100)); List<PidOrder> orders = pidOrderMapper.getPidOrderListByOrderId(orderId); // 鍙湅鏈夌敤鎴稩d鐨勬儏鍐� if (orders.get(0).getUserInfo() != null) { + // 鏍规嵁绗竴涓殑璁㈠崟鍒涘缓鏃堕棿鏉ョ‘瀹氳繑鍒╂瘮渚� + BigDecimal rate = hongBaoManageService.getShareRate(orders.get(0).getOrderCreateTime().getTime()) + .divide(new BigDecimal("100")); List<HongBao> hbList = hongBaoMapper.selectByOrderId(orderId); if (hbList.size() <= 0) {// 杩樻病鏈夊姞鍏ョ孩鍖� // 鍔犲叆绾㈠寘 for (PidOrder order : orders) { + // 闃叉鍚屼竴璁㈠崟鍙锋潵婧愪簬涓嶅悓鐨凱ID if (order.getUserInfo() == null) continue; @@ -267,7 +279,10 @@ HongBao.TYPE_SHARE_GOODS, HongBao.STATE_BUKELINGQU, new Date().getTime(), new Date().getTime(), 0, "192.168.1.1", "绯荤粺娣诲姞"); hongBao.setOrderId(order.getOrderId()); - hongBao.setPayMoney(order.getPayMoney()); + if ("璁㈠崟缁撶畻".equalsIgnoreCase(order.getState())) + hongBao.setPayMoney(order.getFinalMoney()); + else + hongBao.setPayMoney(order.getPayMoney()); if (order.getBalanceTime() != null) hongBao.setBalanceTime(order.getBalanceTime()); @@ -279,6 +294,18 @@ } hongBaoMapper.insertSelective(hongBao); + + //缁熻鍒嗕韩璁㈠崟鐨勬暟鎹� + try { + userShareGoodsGroupService.updateOrderRecord(hongBao); + } catch (UserShareGoodsRecordException e1) { + try { + LogHelper.errorDetailInfo(e1); + } catch (Exception e) { + e.printStackTrace(); + } + } + try { // 绗笁鏂规彁鎴愯鍗曡缁熻鐨勯�氱煡 -- Gitblit v1.8.0