MonthUserLevelServiceImpl.java 46.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
package cn.wisenergy.service.app.impl;

import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.enums.TradeRecordEnum;
import cn.wisenergy.service.app.MonthUserLevelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;

@Service
@Slf4j
public class MonthUserLevelServiceImpl implements MonthUserLevelService {

    @Autowired
    private OrderMapper orderMapper;

21 22 23
    @Autowired
    private AccountMapper accountMapper;

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657
    @Autowired
    private CultivatingPrizeMapper cultivatingPrizeMapper;

    @Autowired
    private TradeRecordMapper tradeRecordMapper;

    @Autowired
    private LastMonthUserInfoMapper lastMonthUserInfoMapper;

    @Autowired
    private LastMonthRecommendUserMapper lastMonthRecommendUserMapper;

    @Autowired
    private LastMonthTeamUserInfoMapper lastMonthTeamUserInfoMapper;

    @Autowired
    private LastMonthCultivatingPrizeInfoMapper lastMonthCultivatingPrizeInfoMapper;

    //系统推荐人邀请码
    private static final String monthSysInviteCode1 = "1";
    private static final String monthSysInviteCode2 = "88888888";

    @Transactional
    @Override
    public void monthUserLevelUpgrade(String userId) {
        //当前用户对象
        LastMonthUserInfo user = lastMonthUserInfoMapper.getByUserId(userId);
        //当前用户直推表对象
        LastMonthRecommendUser recommendUser = lastMonthRecommendUserMapper.getByUserId(userId);
        //当前用户团队信息表对象
//        TeamUserInfo teamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userId);
        LastMonthTeamUserInfo teamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userId);
        //当前用户等级
        Integer userLevel = user.getUserLevel();
        //当前用户的累计消费
        BigDecimal performanceByUserid = new BigDecimal(0);
        if (userLevel == 0){
            //计算当前用户业绩
            performanceByUserid = orderMapper.getPerformanceByUserid(userId);
            if (null == performanceByUserid) {
                performanceByUserid = new BigDecimal(0);
            }
        }
        //当前用户的推荐人邀请码
        String beInvitedCode = user.getBeInvitedCode();
        //
        String inviteUserId = "";
        LastMonthRecommendUser inviteRecommendUser = new LastMonthRecommendUser();
        //若当前用户的推荐人邀请码是  “1” 时 则当前用户没有邀请人
        if (!monthSysInviteCode1.equals(beInvitedCode) && !monthSysInviteCode2.equals(beInvitedCode)) {
            //通过当前用户推荐人邀请码获取邀请人的userId
            LastMonthUserInfo byBeInvitedCode = lastMonthUserInfoMapper.getByBeInvitedCode(beInvitedCode);
            if (null != byBeInvitedCode) {
                inviteUserId = byBeInvitedCode.getUserId();
                //邀请人的直推用户信息
                inviteRecommendUser = lastMonthRecommendUserMapper.getByUserId(inviteUserId);
            }
        }
        //用户等级升级为幼苗 1
        //若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1
        //todo:根据业绩去计算  查一次表获取业绩
        if (userLevel == 0 && performanceByUserid.intValue() >= 3980) {
            user.setUserLevel(1);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
            //todo: accountInfo 和TeamPerformance 需要镜像吗
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            //用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //推荐人直推信息表数据维护
                //若邀请人直推用户信息中的普通用户数量为0是则不用变化,否则普通用户数量-1
                if (inviteRecommendUser.getNormalUserNum() == 0) {
                    inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum());
                } else {
                    //普通用户-1
                    inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum() - 1);
                }
                //邀请人直推用户信息中的幼苗用户数量为+1
                inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoNormalToSeed(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 1;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }

        }
        //用户等级升级为青铜树 2
        //当前用户等级为幼苗用户(1)时 且当前用户直推人数中幼苗等级>=5人<20人时
        if (userLevel == 1 && recommendUser.getSeedlingNum() >= 3
                && recommendUser.getSeedlingNum() < 15) {
            //用户升级成功
            user.setUserLevel(2);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            ////用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //若邀请人直推用户信息中的幼苗用户数量为0是则不用变化,否则幼苗用户数量-1
                if (inviteRecommendUser.getSeedlingNum() == 0) {
                    inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum());
                } else {
                    //幼苗用户-1
                    inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum() - 1);
                }
                //邀请人直推用户信息中的青铜树用户数量为+1
                inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoSeedToBronze(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 2;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }
        }
        //用户等级升级为白银树 3
        if (userLevel == 2 && recommendUser.getSeedlingNum() >= 15
                && recommendUser.getSeedlingNum() < 20) {
            user.setUserLevel(3);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            //用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //推荐人直推信息表数据维护
                //若邀请人直推用户信息中的青铜树用户数量为0是则不用变化,否则青铜树用户数量-1
                if (inviteRecommendUser.getBronzeTreeNum() == 0) {
                    inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum());
                } else {
                    //青铜树用户-1
                    inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() - 1);
                }
                //邀请人直推用户信息中的白银用户数量 + 1
                inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoBronzeToSilver(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 3;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }

        }
        //用户等级升级为黄金树 4
        //:todo 条件:团队中青铜树数量>=20
        if (userLevel == 3 && recommendUser.getSeedlingNum() >= 20
                && recommendUser.getSilverTreeNum() >= 2
                && teamUserInfoMapperByUserId.getSeedlingNum() >= 30
                && teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20) {
            user.setUserLevel(4);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            ////用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //推荐人直推信息表数据维护
                //若邀请人直推用户信息中的白银树用户数量为0是则不用变化,否则白银树用户数量-1
                if (inviteRecommendUser.getSilverTreeNum() == 0) {
                    inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum());
                } else {
                    //白银树用户-1
                    inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() - 1);
                }
                //邀请人直推用户信息中的黄金用户数量 + 1
                inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoSilverToGoldTree(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 4;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }
        }
        //用户等级级升级为农场主 5
        //:todo 条件:团队中白银树数量>=40
        if (userLevel == 4 && recommendUser.getSeedlingNum() >= 30
                && recommendUser.getGoldTreeNum() >= 2
                && teamUserInfoMapperByUserId.getSeedlingNum() >=70
                && teamUserInfoMapperByUserId.getSilverTreeNum() >= 40) {
            user.setUserLevel(5);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            //用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //推荐人直推信息表数据维护
                //若邀请人直推用户信息中的黄金树用户数量为0是则不用变化,否则黄金树用户数量-1
                if (inviteRecommendUser.getGoldTreeNum() == 0) {
                    inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum());
                } else {
                    //黄金树用户-1
                    inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() - 1);
                }
                //邀请人直推用户信息中的农场主用户数量 + 1
                inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getFarmerNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoGoldTreeToFarmer(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 5;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }
        }

        //用户等级升级为森林之星 6
        if (userLevel == 5 && recommendUser.getSeedlingNum() >= 40
                && recommendUser.getFarmerNum() >= 2
                && teamUserInfoMapperByUserId.getSeedlingNum() >=80
                && teamUserInfoMapperByUserId.getSilverTreeNum() >= 70
                && teamUserInfoMapperByUserId.getGoldTreeNum() >= 30) {
            user.setUserLevel(6);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            //用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //推荐人直推信息表数据维护
                //若邀请人直推用户信息中的农场主用户数量为0是则不用变化,否则农场主用户数量-1
                if (inviteRecommendUser.getFarmerNum() == 0) {
                    inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum());
                } else {
                    //农场主用户-1
                    inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum() - 1);
                }
                //邀请人直推用户信息中的森林之星用户数量 + 1
                inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoFarmerToForestStart(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 6;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }
        }
        //用户等级升级为西田森合伙人 7
        //:todo 条件:团队中白银树数量>=90 && 条件:团队中黄金树数量>=50 条件:团队中农场主数量>=30
        if (userLevel == 6 && recommendUser.getSeedlingNum() >= 50
                && recommendUser.getForestStartNum() >= 2
                && teamUserInfoMapperByUserId.getSeedlingNum() >= 100
                && teamUserInfoMapperByUserId.getSilverTreeNum() >= 90
                && teamUserInfoMapperByUserId.getGoldTreeNum() >= 50
                && teamUserInfoMapperByUserId.getFarmerNum() >= 30) {
            user.setUserLevel(7);
            lastMonthUserInfoMapper.updateById(user);
            //同步accountInfo 和TeamPerformance 的用户等级
//            accountAndTeamPerformanceUserLevelUpdate(userId);
            //用户的推荐人邀请码为1或者88888888时  没有上级用户
            if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
                return;
            } else {
                //推荐人直推信息表数据维护
                //若邀请人直推用户信息中的森林之星用户数量为0是则不用变化,否则森林之星用户数量-1
                if (inviteRecommendUser.getForestStartNum() == 0) {
                    inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum());
                } else {
                    //森林之星用户-1
                    inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() - 1);
                }
                //邀请人直推用户信息中的西田森合伙人用户数量 + 1
                inviteRecommendUser.setPartnerNum(inviteRecommendUser.getPartnerNum() + 1);
                lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
                //团队用户表数据维护
                lastmonthTeamUserInfoForestStartToPartner(inviteUserId);
                //上级用户获得幼苗等级的培育奖
                int level = 7;
                lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
                //用户升级成功时,进行邀请人等级自查是否达到升级条件
                monthUserLevelUpgrade(inviteUserId);
            }
        }
    }
    /**
     * 团队用户表数据维护(普通用户升级至幼苗用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoNormalToSeed(String inviteUserId) {
        if (!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo intiveUserByUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            //邀请人的推荐人邀请码
            String inviteCode = intiveUserByUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                LastMonthUserInfo byBeInvitedCode = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode);
                if (null != byBeInvitedCode) {
                    beinvitedCodeUserId = byBeInvitedCode.getUserId();
                }
            }
            if (teamNumInfoBuyId.getNormalUserNum() == 0) {
                teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum());
            } else {
                //普通用户数量-1
                teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum() - 1);
            }
            //邀请人的团队用户信息表中幼苗数量 + 1
            //第一波用户是谁邀请的
            teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            //递归向上修改团队用户信息表
            if (!"".equals(beinvitedCodeUserId)) {
                lastmonthTeamUserInfoNormalToSeed(beinvitedCodeUserId);
            }
        }
    }

    /**
     * 团队用户表数据维护(幼苗用户升级至青铜用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoSeedToBronze(String inviteUserId) {
        if (!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            String inviteCode = byUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).getUserId();
            }
            //通过邀请人的用户信息获取邀请人的推荐人邀请码
            //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
            //邀请人团队信息表中幼苗用户数量 = 0 时,幼苗用户数量不用变化,否则幼苗用户数量 - 1
            if (teamNumInfoBuyId.getSeedlingNum() == 0) {
                teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum());
            } else {
                //幼苗用户数量-1
                teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() - 1);
            }
            //邀请人的团队用户信息表中青铜树数量 + 1
            teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            //递归向上修改团队用户信息表
            if ("".equals(beinvitedCodeUserId)){

                lastmonthTeamUserInfoSeedToBronze(beinvitedCodeUserId);
            }
        }
    }

    /**
     * 团队用户表数据维护(青铜树用户升级至白银树用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoBronzeToSilver(String inviteUserId) {
        if (!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            String inviteCode = byUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).getUserId();
            }
            //通过邀请人的用户信息获取邀请人的推荐人邀请码
            //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
            //邀请人团队信息表中青铜树用户数量 = 0 时,青铜树用户数量不用变化,否则青铜树用户数量 - 1
            if (teamNumInfoBuyId.getBronzeTreeNum() == 0) {
                teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum());
            } else {
                //青铜树用户数量 - 1
                teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() - 1);
            }
            //白银树用户数量+1
            teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            //递归向上修改团队用户信息表
            if ("".equals(beinvitedCodeUserId)){

                lastmonthTeamUserInfoBronzeToSilver(beinvitedCodeUserId);
            }
        }
    }

    /**
     * 团队用户表数据维护(白银树用户升级至黄金树用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoSilverToGoldTree(String inviteUserId) {
        if(!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            String inviteCode = byUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).getUserId();
            }
            //通过邀请人的用户信息获取邀请人的推荐人邀请码
            //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
            //邀请人团队信息表中白银树用户数量 = 0 时,白银树用户数量不用变化,否则白银树用户数量 - 1
            if (teamNumInfoBuyId.getSilverTreeNum() == 0) {
                teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum());
            } else {
                //白银树用户数量 - 1
                teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() - 1);
            }
            //黄金树用户数量 - 1
            teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            //递归向上修改团队用户信息表
            if ("".equals(beinvitedCodeUserId)){

                lastmonthTeamUserInfoSilverToGoldTree(beinvitedCodeUserId);
            }
        }
    }

    /**
     * 团队用户表数据维护(黄金树用户升级至农场主用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoGoldTreeToFarmer(String inviteUserId) {
        if (!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            String inviteCode = byUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).getUserId();
            }
            //通过邀请人的用户信息获取邀请人的推荐人邀请码
            // String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
            //邀请人团队信息表中黄金树用户数量 = 0 时,黄金树用户数量不用变化,否则黄金树用户数量 - 1
            if (teamNumInfoBuyId.getGoldTreeNum() == 0) {
                teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum());
            } else {
                //黄金树用户数量 - 1
                teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() - 1);
            }
            //农场主数量 + 1
            teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            //递归向上修改团队用户信息表
            if ("".equals(beinvitedCodeUserId)){

                lastmonthTeamUserInfoGoldTreeToFarmer(beinvitedCodeUserId);
            }
        }
    }

    /**
     * 团队用户表数据维护(农场主用户升级至森林之星用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoFarmerToForestStart(String inviteUserId) {
        if (!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            String inviteCode = byUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).getUserId();
            }
            //通过邀请人的用户信息获取邀请人的推荐人邀请码
            //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
            //邀请人团队信息表中农场主用户数量 = 0 时,农场主用户数量不用变化,否则农场主用户数量 - 1
            if (teamNumInfoBuyId.getFarmerNum() == 0) {
                teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum());
            } else {
                //农场主用户数量 - 1
                teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() - 1);
            }
            //森林之星用户数量 + 1
            teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            //递归向上修改团队用户信息表
            if ("".equals(beinvitedCodeUserId)){

                lastmonthTeamUserInfoFarmerToForestStart(beinvitedCodeUserId);
            }
        }
    }

    /**
     * 团队用户表数据维护(森林之星用户升级至西田森合伙人用户时)
     *
     * @param inviteUserId 邀请人userid
     */
    private void lastmonthTeamUserInfoForestStartToPartner(String inviteUserId) {
        if (!"".equals(inviteUserId)){

            //邀请人的团队信息表对象
//            TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
            //邀请人的用户表对象
            LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());

            String beinvitedCodeUserId = "";
            String inviteCode = byUserId.getBeInvitedCode();
            if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
                //通过邀请人的用户信息获取邀请人的推荐人邀请码
                beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).getUserId();
            }
            //通过邀请人的用户信息获取邀请人的推荐人邀请码
            //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
            //邀请人团队信息表中森林之星用户数量 = 0 时,森林之星用户数量不用变化,否则森林之星用户数量 - 1
            if (teamNumInfoBuyId.getForestStartNum() == 0) {
                teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum());
            } else {
                //森林之星用户数量 - 1
                teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() - 1);
            }
            //西田森合伙人用户数量 + 1
            teamNumInfoBuyId.setPartnerNum(teamNumInfoBuyId.getPartnerNum() + 1);
            lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
            if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
                return;
            }
            if ("".equals(beinvitedCodeUserId)){

                lastmonthTeamUserInfoForestStartToPartner(beinvitedCodeUserId);
            }
        }
    }



    /**
     * 培育奖给到上级用户
     *
     * @param userId       当前用户id
     * @param inviteUserId 上级用户id
     * @param level        当前用户升级后的等级
     */
    public void lastmonthCultivatingPrizeToInvitedUser(String userId, String inviteUserId, int level) {
        //当前用户的培育奖记录
        LastMonthCultivatingPrizeInfo cultivatingPrizeInfo = lastMonthCultivatingPrizeInfoMapper.getOneByUserId(userId);
        //判断当前用户等级
        if (1 == level) {
            //获取等级对应的培育奖记录状态
            int seedling = cultivatingPrizeInfo.getSeedling();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
            if (0 == seedling) {
                //1、判断推荐人的等级是否大与当前用户等级
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                int inviteUserLevel = inviteUser.getUserLevel();
                if (null != inviteUser) {
                    if (inviteUserLevel >= level) {
                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        seedling = 1;
                        cultivatingPrizeInfo.setSeedling(seedling);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
658
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692
                    } else {
                        //3.修改培育奖记录状态 ==2
                        seedling = 2;
                        cultivatingPrizeInfo.setSeedling(seedling);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }

                }
            }
        } else if (2 == level) {
            //培育奖记录状态
            int bronzeTree = cultivatingPrizeInfo.getBronzeTree();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();

            if (0 == bronzeTree) {
                //1、判断推荐人的等级是否大与当前用户等级
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                if (null != inviteUser) {
                    int inviteUserLevel = inviteUser.getUserLevel();
                    if (inviteUserLevel >= level) {
                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        bronzeTree = 1;
                        cultivatingPrizeInfo.setBronzeTree(bronzeTree);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
693
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727
                    } else {
                        //3.修改培育奖记录状态 ==2
                        bronzeTree = 2;
                        cultivatingPrizeInfo.setBronzeTree(bronzeTree);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }

                }
            }
        } else if (3 == level) {
            //获取当前等级的培育奖状态
            int silverTree = cultivatingPrizeInfo.getSilverTree();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();

            if (0 == silverTree) {
                //1、判断推荐人的等级是否大与当前用户等级
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                if (null != inviteUser) {
                    int inviteUserLevel = inviteUser.getUserLevel();
                    if (inviteUserLevel >= level) {
                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        silverTree = 1;
                        cultivatingPrizeInfo.setBronzeTree(silverTree);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
728
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761
                    } else {
                        //3.修改培育奖记录状态 ==2
                        silverTree = 2;
                        cultivatingPrizeInfo.setBronzeTree(silverTree);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }
                }
            }
        } else if (4 == level) {
            int goldTree = cultivatingPrizeInfo.getGoldTree();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();

            if (0 == goldTree) {
                //1、判断推荐人的等级是否大与当前用户等级
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                if (null != inviteUser) {
                    int userLevel = inviteUser.getUserLevel();
                    if (userLevel >= level){

                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        goldTree = 1;
                        cultivatingPrizeInfo.setGoldTree(goldTree);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
762
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795
                    }else {
                        //3.修改培育奖记录状态 ==2
                        goldTree = 2;
                        cultivatingPrizeInfo.setGoldTree(goldTree);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }
                }
            }
        } else if (5 == level) {
            int farmer = cultivatingPrizeInfo.getFarmer();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();

            if (0 == farmer) {
                //上级用户
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                if (null != inviteUser) {
                    int userLevel = inviteUser.getUserLevel();
                    if (userLevel >= level){

                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        farmer = 1;
                        cultivatingPrizeInfo.setGoldTree(farmer);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
796
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829
                    }else {
                        //3.修改培育奖记录状态 ==2
                        farmer = 2;
                        cultivatingPrizeInfo.setGoldTree(farmer);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }
                }
            }
        } else if (6 == level) {
            int forestStart = cultivatingPrizeInfo.getForestStart();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();

            if (0 == forestStart) {
                //上级用户
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                if (null != inviteUser) {
                    int userLevel = inviteUser.getUserLevel();
                    if (userLevel >= level){

                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        forestStart = 1;
                        cultivatingPrizeInfo.setGoldTree(forestStart);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
830
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863
                    }else {
                        //3.修改培育奖记录状态 ==2
                        forestStart = 2;
                        cultivatingPrizeInfo.setGoldTree(forestStart);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }
                }
            }
        } else if (7 == level) {
            int partner = cultivatingPrizeInfo.getPartner();
            //用户等级对应的培育奖金额
            BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();

            if (0 == partner) {
                //上级用户
                LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
                if (null != inviteUser) {
                    int userLevel = inviteUser.getUserLevel();
                    if (userLevel >= level ){

                        //2.交易流水新增一条数据
                        TradeRecord tradeRecord = new TradeRecord();
                        tradeRecord.setUserId(inviteUserId);
                        tradeRecord.setMoney(cultivatingPrize);
                        tradeRecord.setTradeNo(null);
                        tradeRecord.setStatus(1);
                        tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
                        tradeRecordMapper.add(tradeRecord);

                        //3.修改培育奖记录状态 ==1
                        partner = 1;
                        cultivatingPrizeInfo.setGoldTree(partner);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
864
                        accountAddFromCultivatingPrize(inviteUserId,cultivatingPrize);
865 866 867 868 869 870 871 872 873 874 875
                    }else {
                        //3.修改培育奖记录状态 ==2
                        partner = 2;
                        cultivatingPrizeInfo.setGoldTree(partner);
                        lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
                    }
                }
            }
        }
    }

876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898
    /**
     * 月度升级定时任务校准执行完成以后若有下级用户升级成功后
     *          需要将用户的培育奖收益与账户表进行累加
     *
     */
    public void accountAddFromCultivatingPrize(String userId,BigDecimal cultivatingPrize){

        AccountInfo accountMapperByUserId = accountMapper.getByUserId(userId);
        //可提现金额
        BigDecimal extractMoney = accountMapperByUserId.getExtractMoney();
        //本月收益
        BigDecimal earningsMonth = accountMapperByUserId.getEarningsMonth();
        //累计收益
        BigDecimal earningsTotal = accountMapperByUserId.getEarningsTotal();

        accountMapperByUserId.setExtractMoney(extractMoney.add(cultivatingPrize));
        accountMapperByUserId.setEarningsMonth(earningsMonth.add(cultivatingPrize));
        accountMapperByUserId.setEarningsTotal(earningsTotal.add(cultivatingPrize));

        accountMapper.edit(accountMapperByUserId);

    }

899
}