From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 22 一月 2019 15:58:24 +0800 Subject: [PATCH] 邀请码添加返回状态 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java | 112 +++++++++++++++++++------------------------------------- 1 files changed, 38 insertions(+), 74 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..3bae6f8 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; @@ -43,6 +45,7 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.factory.AccountDetailsFactory; import com.yeshi.fanli.util.factory.HongBaoFactory; +import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; @Service @@ -88,6 +91,12 @@ @Resource private RedisManager redisManager; + + // @Resource + // private LostOrderService lostOrderService; + + @Resource + private UserShareGoodsGroupService userShareGoodsGroupService; @Override @Transactional @@ -201,11 +210,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 +258,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 +280,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,14 +295,19 @@ } hongBaoMapper.insertSelective(hongBao); - + + //缁熻鍒嗕韩璁㈠崟鐨勬暟鎹� try { - // 绗笁鏂规彁鎴愯鍗曡缁熻鐨勯�氱煡 - userNotificationService.tiChengStatisticed(hongBao.getUserInfo().getId(), - hongBao.getOrderId(), hongBao.getMoney()); - } catch (Exception e) { - + hongBao.setAuctionId(order.getAuctionId()); + userShareGoodsGroupService.updateOrderRecord(hongBao); + } catch (UserShareGoodsRecordException e1) { + try { + LogHelper.errorDetailInfo(e1); + } catch (Exception e) { + e.printStackTrace(); + } } + PidOrder updatePidOrder = new PidOrder(); updatePidOrder.setId(order.getId()); @@ -313,12 +334,7 @@ hongBao2.setOrderId(order.getOrderId()); hongBaoMapper.insertSelective(hongBao2); - try { - // 绗笁鏂规彁鎴愯鍗曡缁熻鐨勯�氱煡 - userNotificationService.tiChengStatisticed(hongBao2.getUserInfo().getId(), - hongBao2.getOrderId(), hongBao2.getMoney()); - } catch (Exception e) { - } + } @@ -341,12 +357,6 @@ hongBao3.setOrderId(order.getOrderId()); hongBaoMapper.insertSelective(hongBao3); - try { - // 绗笁鏂规彁鎴愯鍗曡缁熻鐨勯�氱煡 - userNotificationService.tiChengStatisticed(hongBao3.getUserInfo().getId(), - hongBao3.getOrderId(), hongBao3.getMoney()); - } catch (Exception e) { - } } } } @@ -447,22 +457,6 @@ // 缁撶畻鍒拌处鎴� @Override - public void balanceOrder() { - // 鑾峰彇鍒拌鏈�25鏃ュ彲缁撶畻鐨勮鍗� - List<PidOrder> list = pidOrderMapper.getCanBalanceList(1000); - if (list != null) { - Map<String, List<PidOrder>> map = parseOrderMap(list); - Iterator<String> its = map.keySet().iterator(); - while (its.hasNext()) { - String orderId = its.next(); - List<PidOrder> orders = map.get(orderId); - for (int i = 0; i < orders.size(); i++) - balanceOrder(orders.get(i)); - } - } - } - - @Override public void compareOrderAndHongBao() { List<PidOrder> list = pidOrderMapper.selectByState("璁㈠崟浠樻", 100); list.addAll(pidOrderMapper.selectByState("璁㈠崟缁撶畻", 100)); @@ -492,39 +486,6 @@ } } - @Transactional - @Override - public void balanceOrder(PidOrder pidOrder) { - if (pidOrder.getHongBao() == null) - return; - // 鏌ユ壘绾㈠寘 - HongBao hongBao = hongBaoMapper.selectByPrimaryKey(pidOrder.getHongBao().getId()); - if (hongBao.getState() == HongBao.STATE_SHIXIAO || hongBao.getState() == HongBao.STATE_YILINGQU) - return; - - HongBao updateHongBao = new HongBao(); - updateHongBao.setId(hongBao.getId()); - updateHongBao.setGetTime(System.currentTimeMillis()); - updateHongBao.setState(HongBao.STATE_YILINGQU); - hongBaoMapper.updateByPrimaryKeySelective(updateHongBao); - - // 鍔犲叆鐢ㄦ埛浣欓 - userInfoMapper.addHongBaoByUid(hongBao.getUserInfo().getId(), hongBao.getMoney()); - // 鍔犲叆璐︽埛鏄庣粏 - AccountDetails ad = AccountDetailsFactory.create("+" + hongBao.getMoney(), AccountDetailsFactory.SHARE_GOODS, - null, null, hongBao.getUserInfo()); - accountDetailsMapper.insertSelective(ad); - try { - userNotificationService.tiChengRecieved(hongBao.getUserInfo().getId(), hongBao.getMoney()); - } catch (Exception e) { - } - - PidOrder updatePidOrder = new PidOrder(); - updatePidOrder.setId(pidOrder.getId()); - updatePidOrder.setAccountBalance(true); - updatePidOrder.setAccountBalanceTime(new Date()); - pidOrderMapper.updateByPrimaryKeySelective(updatePidOrder); - } @Override public void weiQuan(String orderId) { @@ -560,6 +521,9 @@ AccountDetails ad = AccountDetailsFactory.create("-" + hongBao.getMoney(), AccountDetailsFactory.SHARE_GOODS_DRAWBACK, null, null, hongBao.getUserInfo()); accountDetailsMapper.insertSelective(ad); + + + // 缁存潈閫氱煡 try { -- Gitblit v1.8.0