luodangjia
2025-02-06 4ea15c3e2a3f0434df79a1b49fe4e90f7337b025
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
@@ -71,7 +71,8 @@
        VipSetting vipSetting = vipSettingService.getVipSettingByUserId(userId);
        UserPointVO userPointVO = new UserPointVO();
        userPointVO.setTotalPoint(appUser.getTotalPoint());
        // todo bug说取剩余积分
        userPointVO.setTotalPoint(appUser.getLavePoint());
        userPointVO.setConsumePoint(appUser.getAvailablePoint());
        userPointVO.setShopPoint(appUser.getShopPoint());
        userPointVO.setSharePoint(appUser.getSharePoint());
@@ -92,10 +93,20 @@
        if (CollectionUtil.isNotEmpty(page.getRecords())) {
            List<UserPointDetailVO> collect = page.getRecords().stream().map(p -> {
                UserPointDetailVO userPointDetailVO = new UserPointDetailVO();
                if (p.getType() != null && (p.getType().equals(12) || p.getType().equals(13))){
                    Long appUserId = p.getObjectId();
                    AppUser appUser = appUserService.getById(appUserId);
                    userPointDetailVO.setName(appUser.getName());
                }
                userPointDetailVO.setType(p.getType());
                userPointDetailVO.setVariablePoint(p.getVariablePoint());
                String format = p.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
                userPointDetailVO.setCreateTime(format);
                Integer historicalPoint = p.getHistoricalPoint();
                Integer balance = p.getBalance();
                if (historicalPoint != null && balance != null) {
                    userPointDetailVO.setFlag(historicalPoint > balance ? 2 : 1);
                }
                return userPointDetailVO;
            }).collect(Collectors.toList());
            PageInfo<UserPointDetailVO> pageInfo1 = new PageInfo<>(pageCurr, pageSize);
@@ -156,14 +167,17 @@
        appUserForPhoe.setTotalAvailablePoint(appUserForPhoe.getTotalAvailablePoint() + point);
        appUserService.updateById(appUserForPhoe);
        //构建积分流水记录
        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());
        userPointService.save(userPoint);
        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);
            userPointService.save(userPoint);
        }
        Integer lavePoint = appUser.getLavePoint();
        appUser.setLavePoint(appUser.getLavePoint() - point);
@@ -171,14 +185,17 @@
        appUser.setAvailablePoint(appUser.getAvailablePoint() - point);
        appUserService.updateById(appUser);
        //构建积分流水记录
        userPoint = new UserPoint();
        userPoint.setType(13);
        userPoint.setHistoricalPoint(lavePoint);
        userPoint.setVariablePoint(point);
        userPoint.setBalance(appUser.getLavePoint());
        userPoint.setCreateTime(LocalDateTime.now());
        userPoint.setAppUserId(appUser.getId());
        userPointService.save(userPoint);
        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());
            userPointService.save(userPoint);
        }
        return R.ok();
    }