From b9f8ef2c4737b6e6be4b12fc8f7bafb033bfcfe5 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期日, 22 九月 2019 16:47:33 +0800
Subject: [PATCH] 金币BUG修改

---
 fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java |   90 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 83 insertions(+), 7 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 bf805f4..a9569b2 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -17,7 +17,9 @@
 import org.yeshi.utils.tencentcloud.COSManager;
 import org.yeshi.utils.tencentcloud.entity.COSInitParams;
 
+import com.yeshi.fanli.dto.ad.DouYinDeviceActiveQueueDTO;
 import com.yeshi.fanli.dto.money.UserMoneyChangeDTO;
+import com.yeshi.fanli.entity.ad.DouYinClickEvent;
 import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.Order;
@@ -27,30 +29,35 @@
 import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.pdd.PDDOrder;
+import com.yeshi.fanli.entity.push.DeviceActive;
 import com.yeshi.fanli.entity.push.PushQueueRecord;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
 import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
 import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
-import com.yeshi.fanli.service.inter.integral.IntegralGetService;
-import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService;
-import com.yeshi.fanli.service.inter.jd.JDOrderService;
+import com.yeshi.fanli.service.inter.ad.DouYinClickEventService;
 import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService;
 import com.yeshi.fanli.service.inter.lable.LabelService;
 import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
 import com.yeshi.fanli.service.inter.money.extract.ExtractService;
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
+import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.order.OrderProcessService;
-import com.yeshi.fanli.service.inter.pdd.PDDOrderService;
+import com.yeshi.fanli.service.inter.order.jd.JDOrderService;
+import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
+import com.yeshi.fanli.service.inter.push.DeviceActiveService;
 import com.yeshi.fanli.service.inter.push.IOSPushService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.util.ad.DouYinAdUtil;
+import com.yeshi.fanli.util.cmq.DouYinDeviceActiveCMQManager;
 import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager;
 import com.yeshi.fanli.util.cmq.JDOrderCMQManager;
 import com.yeshi.fanli.util.cmq.PDDOrderCMQManager;
@@ -128,6 +135,9 @@
 	@Resource
 	private IntegralTaskRecordService integralTaskRecordService;
 
+	@Resource
+	private DeviceActiveService deviceActiveService;
+
 	private static boolean isInited = false;
 
 	public void onApplicationEvent(ContextRefreshedEvent arg0) {
@@ -164,6 +174,7 @@
 			doImportantTaoBaoGoodsUpdateJob();// 娣樺疂閲嶈鍟嗗搧鐨勪俊鎭洿鏂�
 			doHongBaoRecieveIntegralGetJob();// 杩斿埄鍒拌处锛岄噾甯佸鍔�
 			doPlaceOrderIntegralJob();// 涓嬪崟璧犻�侀噾甯佷换鍔�
+			doDouYinDeviceActiveJob();// 鎶栭煶璁惧婵�娲诲箍鍛婄洃娴�
 		}
 
 	}
@@ -893,4 +904,69 @@
 		});
 	}
 
+	@Resource
+	private DouYinClickEventService douYinClickEventService;
+
+	// 鎶栭煶
+	public void doDouYinDeviceActiveJob() {
+		LogHelper.test("寮�濮嬫墽琛�:doDouYinDeviceActiveJob");
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				LogHelper.test("寮�濮嬫墽琛�:doDouYinDeviceActiveJob-run");
+				while (true) {
+					Map<String, DouYinDeviceActiveQueueDTO> map = DouYinDeviceActiveCMQManager.getInstance()
+							.consume(16);
+					if (map != null) {
+						// 鏄惁鏄鍗�
+						for (Iterator<String> its = map.keySet().iterator(); its.hasNext();) {
+							String key = its.next();
+							DouYinDeviceActiveQueueDTO active = map.get(key);
+							if (active.getType() == DouYinDeviceActiveQueueDTO.TYPE_AD) {// 鎶栭煶
+								DouYinClickEvent event = douYinClickEventService.selectByAid(active.getAid());
+								if (event != null) {
+									if (event.getOs() == 0) {
+										DeviceActive deviceActive = deviceActiveService
+												.getFirstActiveInfoByImei(event.getUuid());
+										if (deviceActive != null) {
+											if (event != null) {
+												if (event.getOs() == 0)
+													DouYinAdUtil.activeAndroid(event.getCallback(), event.getImei(),
+															deviceActive.getCreateTime().getTime());
+												else if (event.getOs() == 1)
+													DouYinAdUtil.activeIOS(event.getCallback(), event.getIdfa(),
+															deviceActive.getCreateTime().getTime());
+											}
+										}
+									} else {// TODO 澶勭悊IOS
+
+									}
+								}
+
+							} else if (active.getType() == DouYinDeviceActiveQueueDTO.TYPE_DEVICE) {// 璁惧
+
+								if (active.getPlatform() == 1) {
+									DeviceActive deviceActive = deviceActiveService
+											.getFirstActiveInfo(active.getDevice());
+									if (deviceActive != null && deviceActive.getImei() != null) {
+										DouYinClickEvent event = douYinClickEventService
+												.selectByUuid(deviceActive.getImei());
+										if (event != null) {// 鍥炶皟
+											if (deviceActive != null)
+												DouYinAdUtil.activeAndroid(event.getCallback(), event.getImei(),
+														deviceActive.getCreateTime().getTime());
+										}
+									}
+								} else {
+									// TODO 鍏煎IOS
+								}
+							}
+							DouYinDeviceActiveCMQManager.getInstance().delete(key);
+						}
+					}
+				}
+			}
+		});
+	}
+
 }

--
Gitblit v1.8.0