From 11261b1ecf556ebb6cc4d619c6e685ed0e08e9a9 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 06 十一月 2019 18:14:09 +0800
Subject: [PATCH] 红包领取
---
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java | 298 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 221 insertions(+), 77 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
index fe0000f..4c17f81 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.util;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -173,10 +174,9 @@
doPDDOrderJob();// 鎷煎澶氳鍗曞鐞�
doImportantTaoBaoGoodsUpdateJob();// 娣樺疂閲嶈鍟嗗搧鐨勪俊鎭洿鏂�
doHongBaoRecieveIntegralGetJob();// 杩斿埄鍒拌处锛岄噾甯佸鍔�
-// doPlaceOrderIntegralJob();// 涓嬪崟璧犻�侀噾甯佷换鍔�
-// doDouYinDeviceActiveJob();// 鎶栭煶璁惧婵�娲诲箍鍛婄洃娴�
+ // doPlaceOrderIntegralJob();// 涓嬪崟璧犻�侀噾甯佷换鍔�
+ // doDouYinDeviceActiveJob();// 鎶栭煶璁惧婵�娲诲箍鍛婄洃娴�
}
-
}
/**
@@ -722,7 +722,6 @@
}
}
});
-
}
/**
@@ -744,20 +743,146 @@
HongBaoV2 hongBaoV2 = hongBaoV2Service.selectByPrimaryKey(hongBaoId);
if (hongBaoV2 != null && hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU
&& hongBaoV2.getMoney().compareTo(new BigDecimal(0)) > 0) {
+ // 鍒拌处閫侀噾甯�
+ fanliGetIntegral(hongBaoV2);
+ HongBaoRecieveCMQManager.getInstance()
+ .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, key);
+
+ //杩斿埄涓嶈冻0.01鍏冮�侀噾甯�
if (hongBaoV2.getType() == HongBaoV2.TYPE_ZIGOU) {// 鑷喘
- integralGetService.addRebateOrder(hongBaoV2.getUserInfo().getId());
+ // 鍒ゆ柇鏄惁涓鸿鐢ㄦ埛鐨勯绗旂孩鍖�
+ List<Integer> typeList = new ArrayList<>();
+ typeList.add(HongBaoV2.TYPE_ZIGOU);
+ HongBaoV2 firstHongBao = hongBaoV2Service.getFirstValidHongBaoByTypeAndUid(
+ typeList, hongBaoV2.getUserInfo().getId());
+ if (firstHongBao != null
+ && firstHongBao.getId().longValue() == hongBaoV2.getId()) {// 鑷喘棣栧崟鍒拌处
+ // 鏌ヨ涓嬬骇绾㈠寘
+ BigDecimal firstLevelMoney = new BigDecimal(0);
+ BigDecimal secondLevelMoney = new BigDecimal(0);
+ // 鑾峰彇鏀瑰崟涓嬮潰鐨勭孩鍖�
+ List<HongBaoV2> hongBaoList = new ArrayList<>();
+ HongBaoOrder hongBaoOrder = hongBaoOrderService
+ .selectDetailByHongBaoId(hongBaoV2.getId());
+ if (hongBaoOrder != null && hongBaoOrder.getCommonOrder() != null) {// 璁$畻鏀硅鍗曞彿涓嬮潰鐨勬墍鏈夎繑鍒╅噾棰�
+ CommonOrder commonOrder = hongBaoOrder.getCommonOrder();
+ List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId(
+ commonOrder.getSourceType(), commonOrder.getOrderNo());
+ for (CommonOrder co : list) {
+ HongBaoOrder hbo = hongBaoOrderService
+ .selectDetailByCommonOrderId(co.getId());
+ if (hbo != null && hbo.getHongBaoV2() != null)
+ hongBaoList.add(hbo.getHongBaoV2());
+ }
+ }
+
+ for (HongBaoV2 hb : hongBaoList) {
+ List<HongBaoV2> children = hongBaoV2Service
+ .listChildrenById(hb.getId());
+ if (children != null)
+ for (HongBaoV2 child : children)
+ if (child.getType() == HongBaoV2.TYPE_YIJI) {
+ firstLevelMoney = firstLevelMoney.add(child.getMoney());
+ } else if (child.getType() == HongBaoV2.TYPE_ERJI) {
+ secondLevelMoney = secondLevelMoney.add(child.getMoney());
+ }
+ }
+
+ // 鏌ヨ涓嬬骇鐨勭敓鏁堟椂闂�
+ ThreeSale threeSale = threeSaleSerivce.selectLatestByWorkerIdAndState(
+ hongBaoV2.getUserInfo().getId(), ThreeSale.STATE_SUCCESS);
+ if (threeSale != null && threeSale.getSucceedTime() != null && threeSale
+ .getSucceedTime() < hongBaoV2.getCreateTime().getTime()) {// 閭�璇锋垚鍔熺殑鏃堕棿鏄惁鍦ㄤ笅鍗曠殑鏃堕棿涔嬪墠
+ // 鎴愬姛鏃堕棿瑕佸ぇ浜�20190910鏃ユ墠寮�濮嬮�侀噾甯�
+ if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901",
+ "yyyyMMdd")) {
+ if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 涓�绾ц繑鍒╁皬浜�0.01
+ integralTaskRecordService.firstRebateOrderRewardBoss(
+ threeSale.getBoss().getId(),
+ hongBaoV2.getUserInfo().getId(), null);
+ LogHelper.test("鑷喘-涓�绾х敤鎴�-" + threeSale.getBoss().getId()
+ + "-hongBaoId:" + hongBaoV2.getId());
+ }
+ }
+ }
+ // 鏌ヨ涓嬩笅绾х敓鏁堟椂闂�
+ if (threeSale != null) {
+ threeSale = threeSaleSerivce.selectLatestByWorkerIdAndState(
+ threeSale.getBoss().getId(), ThreeSale.STATE_SUCCESS);
+ if (threeSale != null && threeSale.getSucceedTime() != null && threeSale
+ .getSucceedTime() < hongBaoV2.getCreateTime().getTime()) {// 閭�璇锋垚鍔熺殑鏃堕棿鏄惁鍦ㄤ笅鍗曠殑鏃堕棿涔嬪墠
+ // 鎴愬姛鏃堕棿瑕佸ぇ浜�20190910鏃ユ墠寮�濮嬮�侀噾甯�
+ if (threeSale.getSucceedTime() > TimeUtil
+ .convertToTimeTemp("20190901", "yyyyMMdd")) {
+ if (secondLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 浜岀骇杩斿埄灏忎簬0.01
+ integralTaskRecordService.firstRebateOrderRewardBossSuper(
+ threeSale.getBoss().getId(),
+ hongBaoV2.getUserInfo().getId(), null);
+ LogHelper.test("鑷喘-浜岀骇鐢ㄦ埛-" + threeSale.getBoss().getId()
+ + "-hongBaoId:" + hongBaoV2.getId());
+ }
+ }
+ }
+ }
+ }
} else if (hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_GOODS) {// 鍒嗕韩璧�
- integralGetService.addShareOrder(hongBaoV2.getUserInfo().getId());
- } else if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI
- || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 涓�绾ч個璇疯禋
- integralGetService.addInviteOrderLevelOne(hongBaoV2.getUserInfo().getId());
- } else if (hongBaoV2.getType() == HongBaoV2.TYPE_ERJI
- || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 浜岀骇閭�璇疯禋
- integralGetService.addInviteOrderLevelOne(hongBaoV2.getUserInfo().getId());
+ // 鍒ゆ柇鏄惁涓鸿鐢ㄦ埛鐨勯绗旂孩鍖�
+ List<Integer> typeList = new ArrayList<>();
+ typeList.add(HongBaoV2.TYPE_SHARE_GOODS);
+ HongBaoV2 firstHongBao = hongBaoV2Service.getFirstValidHongBaoByTypeAndUid(
+ typeList, hongBaoV2.getUserInfo().getId());
+ if (firstHongBao != null
+ && firstHongBao.getId().longValue() == hongBaoV2.getId()) // 鍒嗕韩棣栫瑪鍒拌处
+ {
+
+ // 鏌ヨ涓嬬骇绾㈠寘
+ BigDecimal firstLevelMoney = new BigDecimal(0);
+ // 鑾峰彇鏀瑰崟涓嬮潰鐨勭孩鍖�
+ List<HongBaoV2> hongBaoList = new ArrayList<>();
+ HongBaoOrder hongBaoOrder = hongBaoOrderService
+ .selectDetailByHongBaoId(hongBaoV2.getId());
+ if (hongBaoOrder != null && hongBaoOrder.getCommonOrder() != null) {// 璁$畻鏀硅鍗曞彿涓嬮潰鐨勬墍鏈夎繑鍒╅噾棰�
+ CommonOrder commonOrder = hongBaoOrder.getCommonOrder();
+ List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId(
+ commonOrder.getSourceType(), commonOrder.getOrderNo());
+ for (CommonOrder co : list) {
+ HongBaoOrder hbo = hongBaoOrderService
+ .selectDetailByCommonOrderId(co.getId());
+ if (hbo != null && hbo.getHongBaoV2() != null)
+ hongBaoList.add(hbo.getHongBaoV2());
+ }
+ }
+
+ for (HongBaoV2 hb : hongBaoList) {
+ List<HongBaoV2> children = hongBaoV2Service
+ .listChildrenById(hb.getId());
+ if (children != null)
+ for (HongBaoV2 child : children)
+ if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
+ firstLevelMoney = firstLevelMoney.add(child.getMoney());
+ }
+ }
+
+ ThreeSale threeSale = threeSaleSerivce.selectLatestByWorkerIdAndState(
+ hongBaoV2.getUserInfo().getId(), ThreeSale.STATE_SUCCESS);
+ if (threeSale != null && threeSale.getSucceedTime() != null && threeSale
+ .getSucceedTime() < hongBaoV2.getCreateTime().getTime()) {// 閭�璇锋垚鍔熺殑鏃堕棿鏄惁鍦ㄤ笅鍗曠殑鏃堕棿涔嬪墠
+ // 鎴愬姛鏃堕棿瑕佸ぇ浜�20190910鏃ユ墠寮�濮嬮�侀噾甯�
+ if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901",
+ "yyyyMMdd")) {
+ if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 涓�绾ц繑鍒╁皬浜�0.01
+ integralTaskRecordService.firstSharerOrderRewardBoss(
+ threeSale.getBoss().getId(),
+ hongBaoV2.getUserInfo().getId(), null);
+ LogHelper.test("鍒嗕韩-涓�绾х敤鎴�-" + threeSale.getBoss().getId()
+ + "-hongBaoId:" + hongBaoV2.getId());
+ }
+ }
+ }
+ }
}
}
- HongBaoRecieveCMQManager.getInstance()
- .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, key);
+
} catch (Exception e) {
try {
LogHelper.errorDetailInfo(e);
@@ -772,6 +897,21 @@
}
}
});
+ }
+
+ private void fanliGetIntegral(HongBaoV2 hongBaoV2) {
+ if (hongBaoV2 != null && hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU
+ && hongBaoV2.getMoney().compareTo(new BigDecimal(0)) > 0) {
+ if (hongBaoV2.getType() == HongBaoV2.TYPE_ZIGOU) {// 鑷喘璁㈠崟
+ integralGetService.addRebateOrder(hongBaoV2.getUserInfo().getId());
+ } else if (hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_GOODS) {// 鍒嗕韩璁㈠崟
+ integralGetService.addShareOrder(hongBaoV2.getUserInfo().getId());
+ } else if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 涓�绾ч個璇�
+ integralGetService.addInviteOrderLevelOne(hongBaoV2.getUserInfo().getId());
+ } else if (hongBaoV2.getType() == HongBaoV2.TYPE_ERJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 浜岀骇閭�璇�
+ integralGetService.addInviteOrderLevelTwo(hongBaoV2.getUserInfo().getId());
+ }
+ }
}
private boolean isFirstValidOrder(String orderId, int sourceType, Long uid) {
@@ -792,78 +932,82 @@
Map<String, Order> map = PlaceOrderCMQManager.getInstance()
.consumeQueueMsg(PlaceOrderCMQManager.QUEUE_INTEGRAL, 16);
if (map != null) {
- // 鏄惁鏄鍗�
+
for (Iterator<String> its = map.keySet().iterator(); its.hasNext();) {
try {
String key = its.next();
Order order = map.get(key);
- // 缁熻璁㈠崟涓嬬殑鐢ㄦ埛鎵�鑾峰緱鐨勮繑鍒╅噾棰�
- List<CommonOrder> list = commonOrderService
- .listBySourceTypeAndOrderId(order.getOrderType(), order.getOrderId());
- Map<Long, BigDecimal> hongBaoMoney = new HashMap<>();
- if (list != null)
- for (CommonOrder commonOrder : list) {
- HongBaoOrder hongBaoOrder = hongBaoOrderService
- .selectDetailByCommonOrderId(commonOrder.getId());
- if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) {
- Long mainUid = hongBaoOrder.getHongBaoV2().getUserInfo().getId();
- if (hongBaoMoney.get(mainUid) == null)
- hongBaoMoney.put(mainUid, new BigDecimal(0));
- hongBaoMoney.put(mainUid, hongBaoMoney.get(mainUid)
- .add(hongBaoOrder.getHongBaoV2().getMoney()));
- // 鏌ヨ涓婄骇
- List<HongBaoV2> children = hongBaoV2Service
- .listChildrenById(hongBaoOrder.getHongBaoV2().getId());
- if (children != null) {
- for (HongBaoV2 hongBao : children) {
- Long uid = hongBao.getUserInfo().getId();
- if (hongBaoMoney.get(uid) == null)
- hongBaoMoney.put(uid, new BigDecimal(0));
- hongBaoMoney.put(uid,
- hongBaoMoney.get(uid).add(hongBao.getMoney()));
+ // 鏄惁鏄鍗�
+ if (isFirstValidOrder(order.getOrderId(), order.getOrderType(),
+ order.getUserInfo().getId())) {
+ // 缁熻璁㈠崟涓嬬殑鐢ㄦ埛鎵�鑾峰緱鐨勮繑鍒╅噾棰�
+ List<CommonOrder> list = commonOrderService
+ .listBySourceTypeAndOrderId(order.getOrderType(), order.getOrderId());
+ Map<Long, BigDecimal> hongBaoMoney = new HashMap<>();
+ if (list != null)
+ for (CommonOrder commonOrder : list) {
+ HongBaoOrder hongBaoOrder = hongBaoOrderService
+ .selectDetailByCommonOrderId(commonOrder.getId());
+ if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) {
+ Long mainUid = hongBaoOrder.getHongBaoV2().getUserInfo().getId();
+ if (hongBaoMoney.get(mainUid) == null)
+ hongBaoMoney.put(mainUid, new BigDecimal(0));
+ hongBaoMoney.put(mainUid, hongBaoMoney.get(mainUid)
+ .add(hongBaoOrder.getHongBaoV2().getMoney()));
+ // 鏌ヨ涓婄骇
+ List<HongBaoV2> children = hongBaoV2Service
+ .listChildrenById(hongBaoOrder.getHongBaoV2().getId());
+ if (children != null) {
+ for (HongBaoV2 hongBao : children) {
+ Long uid = hongBao.getUserInfo().getId();
+ if (hongBaoMoney.get(uid) == null)
+ hongBaoMoney.put(uid, new BigDecimal(0));
+ hongBaoMoney.put(uid,
+ hongBaoMoney.get(uid).add(hongBao.getMoney()));
+ }
}
}
}
- }
- if (isFirstValidOrder(order.getOrderId(), order.getOrderType(),
- order.getUserInfo().getId())) {// 鏈夋晥鐨勯鍗�
- if (hongBaoMoney.get(order.getUserInfo().getId()) == null || hongBaoMoney
- .get(order.getUserInfo().getId()).compareTo(new BigDecimal("0")) <= 0) {
- // 鍒嗕韩濂栭噾鏄�0
- integralTaskRecordService.firstShareOrderReward(order.getUserInfo().getId(),
- null);
- }
-
- // 鑾峰彇涓婁袱绾ф暟鎹�
- UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
- if (boss != null) {// 鍒ゆ柇涓婄骇鐨勭孩鍖�
- if (hongBaoMoney.get(boss.getId()) == null
- || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
- // 琛ュ伩閲戝竵
- integralTaskRecordService.firstSharerOrderRewardBoss(boss.getId(),
- order.getUserInfo().getId(), null);
+ if (isFirstValidOrder(order.getOrderId(), order.getOrderType(),
+ order.getUserInfo().getId())) {// 鏈夋晥鐨勯鍗�
+ if (hongBaoMoney.get(order.getUserInfo().getId()) == null || hongBaoMoney
+ .get(order.getUserInfo().getId()).compareTo(new BigDecimal("0")) <= 0) {
+ // 鍒嗕韩濂栭噾鏄�0
+ integralTaskRecordService.firstShareOrderReward(order.getUserInfo().getId(),
+ null);
}
- }
- } else {// 鑷喘璁㈠崟
- UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
- if (boss != null) {// 鍒ゆ柇涓婄骇鐨勭孩鍖�
- if (hongBaoMoney.get(boss.getId()) == null
- || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
- // 琛ュ伩閲戝竵1绾�
- integralTaskRecordService.firstRebateOrderRewardBoss(boss.getId(),
- order.getUserInfo().getId(), null);
+ // 鑾峰彇涓婁袱绾ф暟鎹�
+ UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
+ if (boss != null) {// 鍒ゆ柇涓婄骇鐨勭孩鍖�
+ if (hongBaoMoney.get(boss.getId()) == null || hongBaoMoney.get(boss.getId())
+ .compareTo(new BigDecimal("0")) <= 0) {
+ // 琛ュ伩閲戝竵
+ integralTaskRecordService.firstSharerOrderRewardBoss(boss.getId(),
+ order.getUserInfo().getId(), null);
+ }
}
- }
- boss = threeSaleSerivce.getBoss(boss.getId());
- if (boss != null) {// 鍒ゆ柇涓婄骇鐨勭孩鍖�
- if (hongBaoMoney.get(boss.getId()) == null
- || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
- // 琛ュ伩閲戝竵2绾�
- integralTaskRecordService.firstRebateOrderRewardBossSuper(boss.getId(),
- order.getUserInfo().getId(), null);
+ } else {// 鑷喘璁㈠崟
+ UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
+ if (boss != null) {// 鍒ゆ柇涓婄骇鐨勭孩鍖�
+ if (hongBaoMoney.get(boss.getId()) == null || hongBaoMoney.get(boss.getId())
+ .compareTo(new BigDecimal("0")) <= 0) {
+ // 琛ュ伩閲戝竵1绾�
+ integralTaskRecordService.firstRebateOrderRewardBoss(boss.getId(),
+ order.getUserInfo().getId(), null);
+ }
+
+ boss = threeSaleSerivce.getBoss(boss.getId());
+ if (boss != null) {// 鍒ゆ柇涓婄骇鐨勭孩鍖�
+ if (hongBaoMoney.get(boss.getId()) == null || hongBaoMoney
+ .get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
+ // 琛ュ伩閲戝竵2绾�
+ integralTaskRecordService.firstRebateOrderRewardBossSuper(
+ boss.getId(), order.getUserInfo().getId(), null);
+ }
+ }
}
}
}
@@ -923,9 +1067,9 @@
String key = its.next();
DouYinDeviceActiveQueueDTO active = map.get(key);
if (active.getType() == DouYinDeviceActiveQueueDTO.TYPE_AD) {// 鎶栭煶
- DouYinClickEvent event = douYinClickEventService.selectByAid(active.getAid());
+ DouYinClickEvent event = douYinClickEventService.selectByCallback(active.getCallback());
if (event != null) {
- if (event.getOs() == 0) {
+ if (event.getOs() == 0 && !StringUtil.isNullOrEmpty(event.getUuid())) {
DeviceActive deviceActive = deviceActiveService
.getFirstActiveInfoByImei(event.getUuid());
if (deviceActive != null) {
@@ -948,7 +1092,7 @@
if (active.getPlatform() == 1) {
DeviceActive deviceActive = deviceActiveService
.getFirstActiveInfo(active.getDevice());
- if (deviceActive != null && deviceActive.getImei() != null) {
+ if (deviceActive != null && !StringUtil.isNullOrEmpty(deviceActive.getImei())) {
DouYinClickEvent event = douYinClickEventService
.selectByUuid(deviceActive.getImei());
if (event != null) {// 鍥炶皟
--
Gitblit v1.8.0