yujian
2020-04-26 4117997bad3cf3b078cf24b8718498ab919ea448
会员升级调整
2个文件已修改
49 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPPreInfoService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
@@ -177,26 +177,34 @@
            }
        }
    }
    @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;
        }
@@ -204,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();
@@ -224,13 +232,15 @@
        // 验证是否满足升级高级会员
        if (doneFirst >= limitFirst7 && doneSecond >= limitSecond7) {
            try {
                twoProcess(bossId, limitFirst7, limitSecond7);
                twoProcess(uid, limitFirst7, limitSecond7);
            } catch (UserVIPPreInfoException e) {
            }
        }
    }
    /**
     * 二阶段
     * 
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPPreInfoService.java
@@ -72,10 +72,19 @@
    /**
     * 验证自身是否满足vip条件
     * @param uid
     */
    public void upgradeVipByTeamNum(Long uid);
    /**
     * 粉丝完成收货-验证直接-间接粉丝
     * @param uid 粉丝id
     */
    public void upgradeVipByTeamNum(Long uid);
    public void upgradeBossVipByTeamNum(Long uid);
    
    
    /**