yujian
2020-06-08 b3da9f82b7740d39742fef1a81a56c22fe1c8b9c
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -18,8 +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.entity.ad.DouYinClickEvent;
import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
@@ -36,6 +38,7 @@
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.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;
@@ -57,13 +60,16 @@
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.TeamOrderCMQManager;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
/**
@@ -138,6 +144,15 @@
   @Resource
   private DeviceActiveService deviceActiveService;
   @Resource
   private TeamDividentsManager teamDividentsManager;
   @Resource
   private TeamEincomeManager teamEincomeManager;
//   @Resource
//   private VipShopOrderService vipShopOrderService;
   private static boolean isInited = false;
   public void onApplicationEvent(ContextRefreshedEvent arg0) {
@@ -162,7 +177,7 @@
         doTaoBaoOrders();// 处理淘宝订单
         doTaoBaoNewOrders();// 处理淘宝订单(刚刚产生的)
         doOrderFanLiNew();// 新版返利
//         doOrderTiChengFanLi();// 处理订单提成返利
         doOrderShareFanLi();
         doWeiQuanOrder();// 处理维权订单
         doPushIOS();// 处理发送IOS消息
         doUserMoneyDebtJob();// 债务偿还
@@ -170,11 +185,18 @@
         doUpdateGoodsJob(); // 更新商品队列
         doJDOrderJob();// 京东订单处理
         doPDDOrderJob();// 拼多多订单处理
//         doVipShopOrderJob();// 唯品会订单处理
         doImportantTaoBaoGoodsUpdateJob();// 淘宝重要商品的信息更新
         doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加
         // doPlaceOrderIntegralJob();// 下单赠送金币任务
         // doDouYinDeviceActiveJob();// 抖音设备激活广告监测
         doOrderTeamIncomePreFanLi();// 处理订单提成返利
         doDividentsPreJob();
         doOrderTeamIncomeFanLi();
         doDividentsJob();
      }
   }
   /**
@@ -327,7 +349,8 @@
                        try {
                           HongBaoV2 hongbao = map.get(handler);
                           if (hongbao != null) {
                              String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.hongBaoFanLi, hongbao.getId() + "");
                              String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.hongBaoFanLi,
                                    hongbao.getId() + "");
                              if (StringUtil.isNullOrEmpty(redisManager.getCommonString(key))) {
                                 // 处理之后要隔2小时再次进行处理
                                 redisManager.cacheCommonString(key, "1", 60 * 60 * 2);
@@ -360,29 +383,94 @@
   }
   /**
    * 处理淘宝提成订单返利
    * 处理团队订单返利
    */
   public void doOrderTiChengFanLi() {
   public void doOrderTeamIncomePreFanLi() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               try {
                  Map<String, Long> map = CMQManager.getInstance().consumeFanLiTiChengMsg(16);
                  Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance()
                        .consumeFanLiTeamIncomePreMsg(16);
                  if (map != null) {
                     Iterator<String> its = map.keySet().iterator();
                     while (its.hasNext()) {
                        String handler = its.next();
                        try {
                           orderProcessService.fanliInvaiteAndShare(map.get(handler));
                           CMQManager.getInstance().deleteFanLiTiChengMsg(handler);
                        } catch (TaoBaoWeiQuanException e) {
                           UidDateDTO dto = map.get(handler);
                           orderProcessService.fanliPreInvaite(dto.getUid(), dto.getDate());
                           TeamOrderCMQManager.getInstance().deleteTeamIncomePreMsg(handler);
                        } catch (Exception e) {
                           try {
                              LogHelper.errorDetailInfo(e);
                              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(), "");
                           } catch (Exception e1) {
                              e1.printStackTrace();
                           }
                        }
                     }
                  }
               } catch (Exception e) {
               }
            }
         }
      });
   }
   /**
    * 处理分享订单返利
    */
   public void doOrderShareFanLi() {
      executor.execute(new Runnable() {
         @Override
         public void run() {
            while (true) {
               try {
                  Map<String, UidDateDTO> map = CMQManager.getInstance().consumeFanLiShareMsg(16);
                  if (map != null) {
                     Iterator<String> its = map.keySet().iterator();
                     while (its.hasNext()) {
                        String handler = its.next();
                        try {
                           UidDateDTO dto = map.get(handler);
                           orderProcessService.fanliShare(dto.getUid(), dto.getDate());
                           CMQManager.getInstance().deleteFanLiShareMsg(handler);
                        } catch (Exception e) {
                           try {
                              LogHelper.errorDetailInfo(e, map.get(handler).toString(), "");
@@ -623,6 +711,40 @@
      });
   }
//   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);
//                           if (!StringUtil.isNullOrEmpty(orderId)) {
//                              List<VipShopOrder> orderList = vipShopOrderService.listByOrderSn(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.error("拼多多订单:" + e.getMessage());
//               }
//            }
//         }
//      });
//
//   }
   /**
    * 重要的淘宝商品信息更新
@@ -1065,4 +1187,78 @@
      });
   }
   // 分红
   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, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeTeamDividentsMsg(16);
               if (map != null) {
                  Iterator<String> its = map.keySet().iterator();
                  while (its.hasNext()) {
                     String key = its.next();
                     UidDateDTO dto = map.get(key);
                     try {
                        teamEincomeManager.addTeamDividentsTOUserAccount(dto.getDate(), dto.getUid());
                        TeamOrderCMQManager.getInstance().deleteTeamDividentsMsg(key);
                     } catch (Exception e) {
                        try {
                           LogHelper.errorDetailInfo(e);
                        } catch (Exception e1) {
                           e1.printStackTrace();
                        }
                     } finally {
                     }
                  }
               }
            }
         }
      });
   }
}