Pu Zhibing
2025-01-01 e0623f1a914ecbc99d5926c0df3cf26032c02499
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -312,7 +312,7 @@
         appUser.setTotalDistributionAmount(BigDecimal.ZERO);
         appUser.setBalance(BigDecimal.ZERO);
         //新用户才能奖励积分,老用户注销重新注册没有
         AppUser old = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).eq(AppUser::getDelFlag, 0));
         long old = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).eq(AppUser::getDelFlag, 0));
         R<PointSetting> pointSettingR = pointSettingClient.getPointSetting(1);
         if (R.isError(pointSettingR)){
            throw new RuntimeException("获取积分设置失败");
@@ -322,14 +322,17 @@
            throw new RuntimeException("积分设置不存在");
         }
         Integer regisPoint = pointSetting.getRegisPoint();
         if(null == old){
            Integer regisPoint1 = regisPoint;
         if(0 == old){
            Integer regisPoint1 = 0;
            //计算可用积分比例
            if(1 == pointSetting.getGetRegisPointOpen()){
               regisPoint1 = new BigDecimal(regisPoint1).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
               regisPoint1 = new BigDecimal(regisPoint).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
            }
            appUser.setLavePoint(regisPoint);
            appUser.setAvailablePoint(regisPoint1);
            if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
               appUser.setTransferablePoint(regisPoint1);
            }
            appUser.setTotalRegisterPoint(regisPoint);
            appUser.setTotalPoint(regisPoint);
         }
@@ -352,7 +355,7 @@
         }
         this.save(appUser);
         //增加积分变动记录
         if(null == old && regisPoint > 0){
         if(0 == old && regisPoint > 0){
            //构建积分流水记录
            UserPoint userPoint = new UserPoint();
            userPoint.setType(7);
@@ -368,12 +371,15 @@
         //拉新分佣
         if(null != appUser2){
            Integer newPoint = pointSetting.getNewPoint();
            Integer newPoint1 = newPoint;
            Integer newPoint1 = 0;
            if(1 == pointSetting.getGetRegisPointOpen()){
               newPoint1 = new BigDecimal(newPoint1).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
               newPoint1 = new BigDecimal(newPoint).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
            }
            appUser2.setLavePoint(appUser2.getLavePoint() + newPoint);
            appUser2.setAvailablePoint(appUser2.getAvailablePoint() + newPoint1);
            if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
               appUser2.setTransferablePoint(appUser2.getTransferablePoint() + newPoint1);
            }
            appUser2.setTotalInvitePoint(appUser2.getTotalInvitePoint() + newPoint);
            appUser2.setTotalPoint(appUser2.getTotalPoint() + newPoint);
            this.updateById(appUser2);
@@ -394,6 +400,9 @@
               AppUser appUser3 = this.getById(appUser2.getInviteUserId());
               appUser3.setLavePoint(appUser3.getLavePoint() + newPoint);
               appUser3.setAvailablePoint(appUser3.getAvailablePoint() + newPoint1);
               if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
                  appUser3.setTransferablePoint(appUser3.getTransferablePoint() + newPoint1);
               }
               appUser3.setTotalInvitePoint(appUser3.getTotalInvitePoint() + newPoint);
               appUser3.setTotalPoint(appUser3.getTotalPoint() + newPoint);
               this.updateById(appUser3);
@@ -688,14 +697,17 @@
            PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
            if(null != pointSetting){
               int hourPoint = pointSetting.getHourPoint().intValue();
               int hourPoint1 = hourPoint;
               int hourPoint1 = 0;
               if(1 == pointSetting.getWorkPointOpen()){
                  hourPoint1 = new BigDecimal(hourPoint1).multiply(pointSetting.getWorkPoint().divide(new BigDecimal(100))).intValue();
                  hourPoint1 = new BigDecimal(hourPoint).multiply(pointSetting.getWorkPoint().divide(new BigDecimal(100))).intValue();
               }
               Integer lavePoint = appUser.getLavePoint();
               appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint);
               appUser.setLavePoint(appUser.getLavePoint() + hourPoint);
               appUser.setAvailablePoint(appUser.getAvailablePoint() + hourPoint1);
               if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){
                  appUser.setTransferablePoint(appUser.getTransferablePoint() + hourPoint1);
               }
               appUser.setTotalHourPoint(appUser.getTotalHourPoint() + hourPoint);
               this.updateById(appUser);
               //添加积分变动记录