From f6c948f093a35f20e8fc94b5d0f893c5647c41b7 Mon Sep 17 00:00:00 2001 From: phpcjl <phpcjl@gmail.com> Date: 星期二, 17 十二月 2024 14:57:47 +0800 Subject: [PATCH] 1 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java | 87 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 83 insertions(+), 4 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java index 3ed2f97..7750928 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java @@ -1,19 +1,26 @@ package com.ruoyi.account.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.model.BalanceChangeRecord; import com.ruoyi.account.api.model.UserClickLog; +import com.ruoyi.account.api.model.UserPoint; import com.ruoyi.account.dto.BalanceQuery; import com.ruoyi.account.dto.UserCancelQuery; +import com.ruoyi.account.excel.UserPointEx; import com.ruoyi.account.service.BalanceChangeRecordService; +import com.ruoyi.account.vo.CommissionStatistics; +import com.ruoyi.account.vo.UserPointStatistics; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.poi.ExcelUtil; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; /** * @author zhibing.pu @@ -45,6 +52,78 @@ return R.ok(balanceChangeRecordService.pageList(agentQuery)); } + /** + * 用户分佣统计 + */ + @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