admin
2019-09-22 b9f8ef2c4737b6e6be4b12fc8f7bafb033bfcfe5
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,12 +29,14 @@
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.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;
@@ -44,6 +48,7 @@
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.user.UserInfoService;
@@ -51,6 +56,8 @@
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);
                  }
               }
            }
         }
      });
   }
}