admin
2020-06-10 271ae63c20fcbe28d29c47f1881138ff6551a2a1
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -18,10 +18,10 @@
import org.yeshi.utils.tencentcloud.COSManager;
import org.yeshi.utils.tencentcloud.entity.COSInitParams;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.ad.DouYinDeviceActiveQueueDTO;
import com.yeshi.fanli.dto.money.UserMoneyChangeDTO;
import com.yeshi.fanli.dto.mq.UidDateDTO;
import com.yeshi.fanli.dto.order.dividents.UserDividentsDayDTO;
import com.yeshi.fanli.entity.ad.DouYinClickEvent;
import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
@@ -34,10 +34,13 @@
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.suning.SuningOrderInfo;
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.entity.vipshop.VipShopOrder;
import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
import com.yeshi.fanli.exception.order.dividents.TeamDividentsRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.ad.DouYinClickEventService;
import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService;
@@ -50,7 +53,9 @@
import com.yeshi.fanli.service.inter.order.OrderProcessService;
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.suning.SuningOrderService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.order.vipshop.VipShopOrderService;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.service.inter.push.IOSPushService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
@@ -59,14 +64,18 @@
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.service.manger.money.TeamEincomeManager;
import com.yeshi.fanli.service.manger.order.TeamDividentsManager;
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;
import com.yeshi.fanli.util.cmq.PlaceOrderCMQManager;
import com.yeshi.fanli.util.cmq.UserMoneyChangeCMQManager;
import com.yeshi.fanli.util.cmq.order.JDOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.PDDOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.PlaceOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.SuningOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.TeamOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.VipShopOrderCMQManager;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
/**
@@ -144,6 +153,15 @@
   @Resource
   private TeamDividentsManager teamDividentsManager;
   @Resource
   private TeamEincomeManager teamEincomeManager;
   @Resource
   private VipShopOrderService vipShopOrderService;
   @Resource
   private SuningOrderService suningOrderService;
   private static boolean isInited = false;
   public void onApplicationEvent(ContextRefreshedEvent arg0) {
@@ -168,7 +186,6 @@
         doTaoBaoOrders();// 处理淘宝订单
         doTaoBaoNewOrders();// 处理淘宝订单(刚刚产生的)
         doOrderFanLiNew();// 新版返利
         doOrderTeamIncomeFanLi();// 处理订单提成返利
         doOrderShareFanLi();
         doWeiQuanOrder();// 处理维权订单
         doPushIOS();// 处理发送IOS消息
@@ -177,14 +194,19 @@
         doUpdateGoodsJob(); // 更新商品队列
         doJDOrderJob();// 京东订单处理
         doPDDOrderJob();// 拼多多订单处理
         doVipShopOrderJob();// 唯品会订单处理
         doSuningOrderJob();// 苏宁订单处理
         doImportantTaoBaoGoodsUpdateJob();// 淘宝重要商品的信息更新
         doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加
         // doPlaceOrderIntegralJob();// 下单赠送金币任务
         // doDouYinDeviceActiveJob();// 抖音设备激活广告监测
         doOrderTeamIncomePreFanLi();// 处理订单提成返利
         doDividentsPreJob();
         doOrderTeamIncomeFanLi();
         doDividentsJob();
      }
   }
   /**
@@ -373,13 +395,14 @@
   /**
    * 处理团队订单返利
    */
   public void doOrderTeamIncomeFanLi() {
   public void doOrderTeamIncomePreFanLi() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               try {
                  Map<String, UidDateDTO> map = CMQManager.getInstance().consumeFanLiTeamIncomeMsg(16);
                  Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance()
                        .consumeFanLiTeamIncomePreMsg(16);
                  if (map != null) {
                     Iterator<String> its = map.keySet().iterator();
                     while (its.hasNext()) {
@@ -387,7 +410,42 @@
                        try {
                           UidDateDTO dto = map.get(handler);
                           orderProcessService.fanliPreInvaite(dto.getUid(), dto.getDate());
                           CMQManager.getInstance().deleteTeamIncomeMsg(handler);
                           TeamOrderCMQManager.getInstance().deleteTeamIncomePreMsg(handler);
                        } catch (Exception e) {
                           try {
                              LogHelper.errorDetailInfo(e,new Gson().toJson(map.get(handler)).toString(), "");
                           } catch (Exception e1) {
                              e1.printStackTrace();
                           }
                        }
                     }
                  }
               } catch (Exception e) {
               }
            }
         }
      });
   }
   /**
    * 处理团队订单返利
    */
   public void doOrderTeamIncomeFanLi() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               try {
                  Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeFanLiTeamIncomeMsg(16);
                  if (map != null) {
                     Iterator<String> its = map.keySet().iterator();
                     while (its.hasNext()) {
                        String handler = its.next();
                        try {
                           UidDateDTO dto = map.get(handler);
                           teamEincomeManager.addTeamIncomeTOUserAccount(dto.getDate(), dto.getUid());
                           TeamOrderCMQManager.getInstance().deleteTeamIncomeMsg(handler);
                        } catch (Exception e) {
                           try {
                              LogHelper.errorDetailInfo(e, map.get(handler).toString(), "");
@@ -657,6 +715,76 @@
                  }
               } catch (Exception e) {
                  LogHelper.error("拼多多订单:" + e.getMessage());
               }
            }
         }
      });
   }
   public void doVipShopOrderJob() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               try {
                  Map<String, String> map = VipShopOrderCMQManager.getInstance().consumeVipShopOrder(16);
                  if (map != null) {
                     Iterator<String> its = map.keySet().iterator();
                     while (its.hasNext()) {
                        String key = its.next();
                        try {
                           String orderId = map.get(key);
                           LogHelper.test("唯品会订单消费:"+orderId);
                           if (!StringUtil.isNullOrEmpty(orderId)) {
                              List<VipShopOrder> orderList = vipShopOrderService.listDetailByOrderSn(orderId);
                              if (orderList != null)
                                 for (VipShopOrder order : orderList)
                                    orderProcessService.processVipShopOrder(order);
                           }
                           VipShopOrderCMQManager.getInstance().deleteVipShopOrder(key);
                        } catch (Exception e) {
                           LogHelper.errorDetailInfo(e);
                        }
                     }
                  }
               } catch (Exception e) {
                  LogHelper.errorDetailInfo(e);
               }
            }
         }
      });
   }
   public void doSuningOrderJob() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               try {
                  Map<String, String> map = SuningOrderCMQManager.getInstance().consumeSuningOrder(16);
                  if (map != null) {
                     Iterator<String> its = map.keySet().iterator();
                     while (its.hasNext()) {
                        String key = its.next();
                        try {
                           String orderId = map.get(key);
                           if (!StringUtil.isNullOrEmpty(orderId)) {
                              List<SuningOrderInfo> orderList = suningOrderService.listByOrderCode(orderId);
                              if (orderList != null)
                                 for (SuningOrderInfo order : orderList)
                                    orderProcessService.processSuningOrder(order);
                           }
                           SuningOrderCMQManager.getInstance().deleteSuningOrder(key);
                        } catch (Exception e) {
                           LogHelper.errorDetailInfo(e);
                        }
                     }
                  }
               } catch (Exception e) {
                  LogHelper.errorDetailInfo(e);
               }
            }
         }
@@ -1106,19 +1234,63 @@
   }
   // 分红
   public void doDividentsPreJob() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeTeamDividentsPreMsg(16);
               if (map != null) {
                  Iterator<String> its = map.keySet().iterator();
                  while (its.hasNext()) {
                     String key = its.next();
                     UidDateDTO dto = map.get(key);
                     try {
                        teamDividentsManager.addToTeamEincome(dto.getUid(), dto.getDate());
                        TeamOrderCMQManager.getInstance().deleteTeamDividentsPreMsg(key);
                     } catch (TeamDividentsRecordException e1) {
                        if (e1.getCode() == TeamDividentsRecordException.CODE_EXIST) {
                           TeamOrderCMQManager.getInstance().deleteTeamDividentsPreMsg(key);
                        } else {
                           try {
                              LogHelper.errorDetailInfo(e1);
                           } catch (Exception e2) {
                              e2.printStackTrace();
                           }
                        }
                     }
                     catch (Exception e) {
                        try {
                           LogHelper.errorDetailInfo(e);
                        } catch (Exception e1) {
                           e1.printStackTrace();
                        }
                     } finally {
                     }
                  }
               }
            }
         }
      });
   }
   // 分红
   public void doDividentsJob() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               Map<String, UserDividentsDayDTO> map = CMQManager.getInstance().consumeTeamDividentsMsg(16);
               Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeTeamDividentsMsg(16);
               if (map != null) {
                  Iterator<String> its = map.keySet().iterator();
                  while (its.hasNext()) {
                     String key = its.next();
                     UserDividentsDayDTO dto = map.get(key);
                     UidDateDTO dto = map.get(key);
                     try {
                        teamDividentsManager.addToTeamEincome(dto.getUid(), dto.getPreGetTime());
                        teamEincomeManager.addTeamDividentsTOUserAccount(dto.getDate(), dto.getUid());
                        TeamOrderCMQManager.getInstance().deleteTeamDividentsMsg(key);
                     } catch (Exception e) {
                        try {
                           LogHelper.errorDetailInfo(e);