admin
2020-06-30 e40d1c22c7202aac843c66f9ee9cc000744f9e10
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
@@ -467,21 +467,25 @@
   @Override
   @RequestSerializableByKeyService(key = "#orderUid")
   @Transactional(rollbackFor = Exception.class)
   public void winRedPackByOrder(Long orderUid, String orderNo, Integer source, Date downTime) {
   public void winRedPackByOrder(Long orderUid, String orderNo, Integer source) {
      if (orderUid == null || StringUtil.isNullOrEmpty(orderNo)) {
         return;
      }
      // 验证是否未首单
      CommonOrder firstOrder = commonOrderService.getFirstOrder(orderUid);
      if (!firstOrder.getOrderNo().equals(orderNo) && firstOrder.getSourceType() != source)
         return;
      
      Date downTime = firstOrder.getThirdCreateTime();
      // 注册时间
      UserInfoRegister register = userInfoRegisterService.selectByPrimaryKey(orderUid);
      if (register == null) 
         return;
      // 注册48小时 以内 :新人
      long registerTime = register.getCreateTime().getTime();
      // 48小时限制
      // 注册48小时内下单限制
      if (downTime.getTime() < registerTime || downTime.getTime() > registerTime + 1000*60*60*48)
         return;
      // 是否存在上下级关系
      ThreeSale threeSale = threeSaleSerivce.getByWorkerId(orderUid);
      if (threeSale == null)
@@ -490,17 +494,17 @@
      if (bossId == null)
         return;
      
      // 该邀请是否已添加
      RedPackWinInvite threeStage = redPackWinInviteMapper.getByUidAndTeamUid(bossId, orderUid);
      if (threeStage != null)
         return;
      // 小于2.1.3版本不增加
      UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
      if (activeLog == null)
         return;
      if (!VersionUtil.greaterThan_2_1_3("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
            activeLog.getVersionCode()))
         return;
      // 该邀请是否已添加
      RedPackWinInvite threeStage = redPackWinInviteMapper.getByUidAndTeamUid(bossId, orderUid);
      if (threeStage != null)
         return;
      
      // 查询订单
@@ -515,6 +519,10 @@
       boolean satisfy = false;
      // 遍历是否存在符合相应商品
      for (CommonOrder commonOrder: list) {
         // 订单未结算
         if(commonOrder.getState() != CommonOrder.STATE_JS)
            continue;
         // 邀请关系之后
         long thirdTime = commonOrder.getThirdCreateTime().getTime();
         if (thirdTime < threeSale.getCreateTime())
@@ -569,6 +577,10 @@
      if (downTime.getTime() < registerTime || downTime.getTime() > registerTime + 1000*60*60*48)
         return satisfy;
      
      CommonOrder firstOrder = commonOrderService.getFirstOrder(orderUid);
      if (!firstOrder.getOrderNo().equals(orderNo) && firstOrder.getSourceType() != source)
         return satisfy;
      // 是否已奖励
      List<UserSystemCoupon> coupons = userSystemCouponService.getUserCouponBySource(orderUid, UserSystemCoupon.SOURCE_PULL_NEW);
      if (coupons != null && coupons.size() > 0) {
@@ -605,6 +617,10 @@
         long thirdTime = commonOrder.getThirdCreateTime().getTime();
         if (thirdTime < threeSale.getCreateTime())
            continue;
         // 订单失效
         if(commonOrder.getState() != CommonOrder.STATE_FK && commonOrder.getState() != CommonOrder.STATE_JS)
            continue;
         // 付款金额限制
         BigDecimal payment = commonOrder.getPayment();
         if (payment == null || payment.compareTo(limitPayMent) < 0)