From 086a293cfc5fdf56cf25fc5989332ec40e319940 Mon Sep 17 00:00:00 2001 From: phpcjl <phpcjl@gmail.com> Date: 星期二, 17 十二月 2024 14:03:41 +0800 Subject: [PATCH] 1 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java | 119 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 84 insertions(+), 35 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java index a496d51..3b282f2 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java @@ -1,13 +1,13 @@ package com.ruoyi.account.controller; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.account.api.model.AppUser; import com.ruoyi.account.api.model.UserPoint; -import com.ruoyi.account.mapper.UserPointMapper; +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; @@ -17,16 +17,10 @@ import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,9 +30,9 @@ 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; -import java.util.Map; -import java.util.stream.Collectors; /** * <p> @@ -135,19 +129,11 @@ */ @GetMapping("/list") @ApiOperation(value = "积分变更记录", tags = "管理后台-财务统计-用户积分统计") - public R<Page<UserPoint>> list(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("大小") Integer pageSize, UserPoint userPoint) { - List<String> userIds = appUserService.listObjs(new LambdaQueryWrapper<AppUser>() - .select(AppUser::getId) - .eq(AppUser::getPhone, userPoint.getPhone()) - .like(AppUser::getName, userPoint.getUserName()), String::valueOf); - - Page<UserPoint> page = userPointService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<UserPoint>() - .in(!CollectionUtils.isEmpty(userIds), UserPoint::getAppUserId, userIds) - .eq(UserPoint::getType, userPoint.getType()) - .between(UserPoint::getCreateTime, userPoint.getStartTime(), userPoint.getEndTime()) - .orderByDesc(UserPoint::getCreateTime)); - return R.ok(page); + public R<IPage<UserPoint>> list(UserPoint userPoint) { + IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint); + return R.ok(userPointPage); } + /** * 导出 @@ -155,21 +141,84 @@ @GetMapping("/export") @ApiOperation(value = "积分变更记录导出", tags = "管理后台-财务统计-用户积分统计") public void export(HttpServletResponse response, UserPoint userPoint) { - List<String> userIds = appUserService.listObjs(new LambdaQueryWrapper<AppUser>() - .select(AppUser::getId) - .eq(AppUser::getPhone, userPoint.getPhone()) - .like(AppUser::getName, userPoint.getUserName()), String::valueOf); - - List<UserPoint> userPointList = userPointService.list(new LambdaQueryWrapper<UserPoint>() - .in(!CollectionUtils.isEmpty(userIds), UserPoint::getAppUserId, userIds) - .eq(UserPoint::getType, userPoint.getType()) - .between(UserPoint::getCreateTime, userPoint.getStartTime(), userPoint.getEndTime()) - .orderByDesc(UserPoint::getCreateTime)); - - ExcelUtil<UserPoint> util = new ExcelUtil<UserPoint>(UserPoint.class); + IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(1, Integer.MAX_VALUE), userPoint); + 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, "用户分佣统计"); + } + } -- Gitblit v1.7.1