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