puzhibing
2024-12-24 7cddb7125f2095facea68c11068e269809ef4108
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java
@@ -4,10 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.model.UserPoint;
import com.ruoyi.account.excel.UserPointEx;
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.UserPointService;
import com.ruoyi.account.vo.CommissionStatistics;
import com.ruoyi.account.vo.UserPointDetailVO;
import com.ruoyi.account.vo.UserPointStatistics;
import com.ruoyi.account.vo.UserPointVO;
@@ -30,8 +28,6 @@
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
@@ -134,6 +130,14 @@
        return R.ok(userPointPage);
    }
    @GetMapping("/user/list")
    @ApiOperation(value = "积分管理-用户积分明细(必传用户id)", tags = "后台")
    public R<Page<UserPoint>> userlist(UserPoint userPoint) {
        Page<UserPoint> page = userPointService.lambdaQuery().eq(UserPoint::getAppUserId, userPoint.getAppUserId()).orderByDesc(UserPoint::getCreateTime).page(Page.of(userPoint.getPageNum(), userPoint.getPageSize()));
        return R.ok(page);
    }
    /**
     * 导出
@@ -145,78 +149,6 @@
        List<UserPoint> userPointList = userPointPage.getRecords();
        ExcelUtil<UserPoint> util = new ExcelUtil<>(UserPoint.class);
        util.exportExcel(response, userPointList, "用户积分统计");
    }
    /**
     * 用户分佣统计
     */
    @GetMapping("/commissionStatistics")
    @ApiOperation(value = "用户分佣统计", tags = "管理后台-财务统计-用户分佣统计")
    public R<CommissionStatistics> commissionStatistics(UserPoint userPoint) {
        userPoint.setType(2);
        IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint);
        UserPointStatistics statistics = userPointService.getStatistics(userPoint);
        CommissionStatistics commissionStatistics = new CommissionStatistics();
        commissionStatistics.setStatistics(statistics);
        commissionStatistics.setUserPointPage(userPointPage);
        return R.ok(commissionStatistics);
    }
    /**
     * 导出用户分佣统计
     */
    @GetMapping("/commissionExport")
    @ApiOperation(value = "用户分佣统计导出", tags = "管理后台-财务统计-用户分佣统计")
    public void commissionExport(HttpServletResponse response, UserPoint userPoint) {
        userPoint.setType(2);
        IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(1, Integer.MAX_VALUE), userPoint);
        List<UserPoint> userPointList = userPointPage.getRecords();
        List<UserPointEx> userPointExList = new ArrayList<>();
        for (UserPoint point : userPointList) {
            UserPointEx userPointEx = new UserPointEx();
            userPointEx.setUserName(point.getUserName());
            userPointEx.setPhone(point.getPhone());
            userPointEx.setChangeTime(point.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
            userPointEx.setChangeNum(point.getVariablePoint().toString());
            Integer type = point.getType();
            switch (type) {
                case 1:
                    userPointEx.setType("消费积分");
                    break;
                    case 2:
                        userPointEx.setType("返佣积分");
                        break;
                    case 3:
                        userPointEx.setType("拉新人积分");
                        break;
                    case 4:
                        userPointEx.setType("兑换商品");
                        break;
                    case 5:
                        userPointEx.setType("门店业绩");
                        break;
                    case 6:
                        userPointEx.setType("门店返佣");
                        break;
                    case 7:
                        userPointEx.setType("技师业绩");
                        break;
                    case 8:
                        userPointEx.setType("转赠积分");
                        break;
                    case 9:
                        userPointEx.setType("做工积分");
                        break;
                    case 10:
                        userPointEx.setType("注册积分");
                        break;
                    default:
                        userPointEx.setType("未知积分");
            }
            userPointExList.add(userPointEx);
        }
        ExcelUtil<UserPointEx> util = new ExcelUtil<>(UserPointEx.class);
        util.exportExcel(response, userPointExList, "用户分佣统计");
    }