Pu Zhibing
2025-03-26 cbf2486983b77a27af9968bbb362cb8d43789115
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;
@@ -173,12 +173,11 @@
        if(point > 0){
            UserPoint userPoint = new UserPoint();
            userPoint.setType(12);
            userPoint.setHistoricalPoint(lavePoint1);
            userPoint.setVariablePoint(point);
            userPoint.setBalance(appUserForPhoe.getLavePoint());
            userPoint.setCreateTime(LocalDateTime.now());
            userPoint.setAppUserId(appUserForPhoe.getId());
            userPoint.setObjectId(userid);
            userPoint.setChangeDirection(1);
            userPointService.save(userPoint);
        }
@@ -191,12 +190,11 @@
        if(point > 0){
            UserPoint userPoint = new UserPoint();
            userPoint.setType(13);
            userPoint.setHistoricalPoint(lavePoint);
            userPoint.setVariablePoint(point);
            userPoint.setBalance(appUser.getLavePoint());
            userPoint.setCreateTime(LocalDateTime.now());
            userPoint.setAppUserId(appUser.getId());
            userPoint.setObjectId(appUserForPhoe.getId());
            userPoint.setChangeDirection(-1);
            userPointService.save(userPoint);
        }
        return R.ok();
@@ -208,12 +206,7 @@
        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());
            }
            item.setVariablePoint(item.getVariablePoint() * item.getChangeDirection());
        });
        Map<Integer, Integer> userBalanceMap = userPointList.stream()
@@ -227,7 +220,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);
@@ -252,12 +245,7 @@
    public IPage<UserPoint> getUserPointPage(Page<UserPoint> page, UserPoint 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());
            }
            item.setVariablePoint(item.getVariablePoint() * item.getChangeDirection());
        });
        return userPointIPage;
    }