From e7f23c16b1d1c6553a0442f3d0d129248d267670 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 16 十二月 2024 15:57:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 47 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java index 64a32a1..a58ae1f 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java @@ -306,8 +306,14 @@ if (pointSetting == null){ throw new RuntimeException("积分设置不存在"); } - appUser.setLavePoint(pointSetting.getGetRegisPoint()); - appUser.setTotalPoint(0); + Integer getRegisPoint = pointSetting.getGetRegisPoint(); + Integer getRegisPoint1 = getRegisPoint; + //计算可用积分比例 + if(1 == pointSetting.getGetRegisPointOpen()){ + getRegisPoint1 = getRegisPoint1 * (100 - pointSetting.getGetRegisPoint()); + } + appUser.setLavePoint(getRegisPoint1); + appUser.setTotalPoint(getRegisPoint); //根据平台的配置未达标,则标注为可修改推广人 appUser.setChangePromoter(0); appUser.setLongitude(registerAccount.getLongitude()); @@ -320,6 +326,18 @@ // appUser.setDistrict(); // appUser.setDistrictCode(); this.save(appUser); + //增加积分变动记录 + if(getRegisPoint1 > 0){ + //构建积分流水记录 + UserPoint userPoint = new UserPoint(); + userPoint.setType(10); + userPoint.setHistoricalPoint(0); + userPoint.setVariablePoint(getRegisPoint1); + userPoint.setBalance(appUser.getLavePoint()); + userPoint.setCreateTime(LocalDateTime.now()); + userPoint.setAppUserId(appUser.getId()); + userPointService.save(userPoint); + } //获取微信推广二维码 String fileName = UUID.randomUUID() + ".jpg"; weChatUtil.getwxacodeunlimit("pages/login/login", "id=" + appUser.getId(), EnvVersion.DEVELOP, filePath + fileName); @@ -376,6 +394,28 @@ */ public void vipUpgrade(Long id){ AppUser appUser = this.getById(id); + Integer lavePoint = appUser.getLavePoint(); + //计算积分 + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + Integer newPoint = pointSetting.getNewPoint(); + Integer newPoint1 = newPoint; + if(null != pointSetting && 1 == pointSetting.getGetNewPointOpen()){ + newPoint1 = newPoint1 * (100 - pointSetting.getGetNewPoint()); + } + appUser.setLavePoint(appUser.getLavePoint() + newPoint1); + appUser.setTotalPoint(appUser.getTotalPoint() + newPoint); + //记录积分变动 + if(newPoint1 > 0){ + //构建积分流水记录 + UserPoint userPoint = new UserPoint(); + userPoint.setType(3); + userPoint.setHistoricalPoint(lavePoint); + userPoint.setVariablePoint(newPoint1); + userPoint.setBalance(appUser.getLavePoint()); + userPoint.setCreateTime(LocalDateTime.now()); + userPoint.setAppUserId(appUser.getId()); + userPointService.save(userPoint); + } Integer vipId = appUser.getVipId(); //钻石会员 VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData(); @@ -592,9 +632,13 @@ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); if(null != pointSetting){ int hourPoint = pointSetting.getHourPoint().intValue(); + int hourPoint1 = hourPoint; + if(1 == pointSetting.getWorkPointOpen()){ + hourPoint1 = hourPoint1 * (100 - pointSetting.getWorkPoint()); + } Integer lavePoint = appUser.getLavePoint(); appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint); - appUser.setLavePoint(appUser.getLavePoint() + hourPoint); + appUser.setLavePoint(appUser.getLavePoint() + hourPoint1); this.updateById(appUser); //添加积分变动记录 UserPoint userPoint = new UserPoint(); -- Gitblit v1.7.1