From d3e9a09cb54017a8063e5bfe3ace5012f66f3130 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 25 三月 2025 18:34:34 +0800 Subject: [PATCH] 修改统计bug --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java | 32 ++++++++++++++++++++++++++------ 1 files changed, 26 insertions(+), 6 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java index 4bf672f..9f91beb 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java @@ -13,6 +13,7 @@ import com.ruoyi.account.vo.UserPointDetailVO; import com.ruoyi.account.vo.UserPointStatistics; import com.ruoyi.account.vo.UserPointVO; +import com.ruoyi.account.vo.UserStatisticsDetail; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.PhoneNumberValidator; import com.ruoyi.common.core.web.page.PageInfo; @@ -23,6 +24,7 @@ import com.ruoyi.order.model.OrderGood; import com.ruoyi.other.api.domain.VipSetting; import com.ruoyi.other.api.enums.PointChangeType; +import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -33,9 +35,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -71,7 +71,8 @@ public UserPointVO getUserPoint(Long userId) { AppUser appUser = appUserService.getById(userId); VipSetting vipSetting = vipSettingService.getVipSettingByUserId(userId); - List<AppUserGiveawayTemporary> list = appUserGiveawayTemporaryService.list(new LambdaQueryWrapper<AppUserGiveawayTemporary>().eq(AppUserGiveawayTemporary::getAppUserId, userId)); + List<AppUserGiveawayTemporary> list = appUserGiveawayTemporaryService.list(new LambdaQueryWrapper<AppUserGiveawayTemporary>() + .eq(AppUserGiveawayTemporary::getAppUserId, userId)); int totalPoint = 0; int sharePoint = 0; int shopAchievementPoint = 0; @@ -205,6 +206,16 @@ @Override public UserPointStatistics getStatistics(UserPoint userPoint) { List<UserPoint> userPointList = this.baseMapper.selectUserPoint(userPoint); + + userPointList.forEach(item -> { + int i = item.getHistoricalPoint() - item.getBalance(); + if (i>0){ + item.setVariablePoint(item.getVariablePoint() * -1); + }else { + item.setVariablePoint(item.getVariablePoint()); + } + }); + Map<Integer, Integer> userBalanceMap = userPointList.stream() .collect(Collectors.groupingBy( UserPoint::getType, @@ -216,7 +227,7 @@ int pullNewPoint = userBalanceMap.getOrDefault(PointChangeType.PULL_NEW.getCode(), 0); int registerPoint = userBalanceMap.getOrDefault(PointChangeType.REGISTER.getCode(), 0); - // 做工积分:签到积分 + 每日分享积分 + 每日签到积分 + 每日使用时长积分 + // 做工积分:每日分享积分 + 每日签到积分 + 每日使用时长积分 int share = userBalanceMap.getOrDefault(PointChangeType.SHARE.getCode(), 0); int signIn = userBalanceMap.getOrDefault(PointChangeType.SIGN_IN.getCode(), 0); int useTime = userBalanceMap.getOrDefault(PointChangeType.USE_TIME.getCode(), 0); @@ -239,6 +250,15 @@ @Override public IPage<UserPoint> getUserPointPage(Page<UserPoint> page, UserPoint userPoint) { - return this.baseMapper.queryUserPointPage(page, userPoint); + IPage<UserPoint> userPointIPage = this.baseMapper.queryUserPointPage(page, userPoint); + userPointIPage.getRecords().forEach(item -> { + int i = item.getHistoricalPoint() - item.getBalance(); + if (i>0){ + item.setVariablePoint(item.getVariablePoint() * -1); + }else { + item.setVariablePoint(item.getVariablePoint()); + } + }); + return userPointIPage; } } -- Gitblit v1.7.1