admin
2020-04-26 953f4931a963e031dc35c9a42d342672317fb933
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
@@ -65,7 +65,6 @@
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private UserInfoService userInfoService;
@@ -174,30 +173,38 @@
         try {
            twoProcess(uid, limitZiGou7, null);
         } catch (UserVIPPreInfoException e) {
         }
      }
   }
   @Override
   @RequestSerializableByKeyService(key = "#uid")
   @Transactional(rollbackFor = Exception.class)
   public void upgradeVipByTeamNum(Long uid) {
      vipTeamVerify(uid);
   }
   @Override
   @RequestSerializableByKeyService(key = "#tid")
   @Transactional(rollbackFor = Exception.class)
   public void upgradeVipByTeamNum(Long tid) {
   public void upgradeBossVipByTeamNum(Long tid) {
      UserInfo boss = threeSaleSerivce.getBoss(tid);
      if (boss == null) {
         return;
      }
      Long bossId = boss.getId();
      vipTeamVerify(boss.getId());
   }
      // 验证上上级 -间接粉丝是否满足
      executor.execute(new Runnable() {
         @Override
         public void run() {
            upgradeVipByTeamNum(bossId);
         }
      });
      UserVIPPreInfo latest = getLatestProcessInfo(bossId);
   /**
    * 验证用户是否满足升级队员条件
    * @param uid
    */
   private void vipTeamVerify(Long uid) {
      UserVIPPreInfo latest = getLatestProcessInfo(uid);
      if (latest != null && latest.getProcess() == UserVIPPreInfo.PROCESS_2) {
         return;
      }
@@ -205,7 +212,7 @@
      // 有效粉丝
      int doneFirst = 0;
      int doneSecond = 0;
      UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(bossId);
      UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(uid);
      if (userInviteValidNum != null) {
         doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst();
         doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond();
@@ -225,13 +232,15 @@
      // 验证是否满足升级高级会员
      if (doneFirst >= limitFirst7 && doneSecond >= limitSecond7) {
         try {
            twoProcess(bossId, limitFirst7, limitSecond7);
            twoProcess(uid, limitFirst7, limitSecond7);
         } catch (UserVIPPreInfoException e) {
         }
      }
   }
   /**
    * 二阶段
    * 
@@ -242,7 +251,7 @@
    * @param secondTeam
    */
   @Transactional(rollbackFor = Exception.class)
   private void twoProcess(Long uid, long limit1, Long limit2) throws UserVIPPreInfoException{
   private void twoProcess(Long uid, long limit1, Long limit2) throws UserVIPPreInfoException {
      String item = null;
      if (limit2 == null) {
         item = "返利+分享订单";
@@ -302,4 +311,9 @@
      return userVIPPreInfoMapper.selectByUidAndProcess(uid, process);
   }
   @Override
   public void deleteByPrimaryKey(Long id) {
      userVIPPreInfoMapper.deleteByPrimaryKey(id);
   }
}