From 69f4e7bafd3d81696aa00affd6b9ddfa6b50503f Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期六, 08 二月 2025 13:36:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 1 deletions(-)
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java
index 74bf2d2..9799f6b 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java
@@ -1,10 +1,18 @@
package com.ruoyi.other.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.other.mapper.ShopBalanceStatementMapper;
import com.ruoyi.other.api.domain.ShopBalanceStatement;
+import com.ruoyi.other.api.domain.ShopPoint;
+import com.ruoyi.other.mapper.ShopBalanceStatementMapper;
import com.ruoyi.other.service.ShopBalanceStatementService;
+import com.ruoyi.other.vo.ShopCommissionStatisticsVO;
import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -17,4 +25,43 @@
@Service
public class ShopBalanceStatementServiceImpl extends ServiceImpl<ShopBalanceStatementMapper, ShopBalanceStatement> implements ShopBalanceStatementService {
+
+ @Override
+ public ShopCommissionStatisticsVO shopCommissionStatistics(IPage<ShopBalanceStatement> page, ShopBalanceStatement shopBalanceStatement) {
+ ShopCommissionStatisticsVO shopCommissionStatisticsVO = new ShopCommissionStatisticsVO();
+ List<ShopBalanceStatement> shopBalanceStatements = this.baseMapper.selectShopBalanceStatementList(shopBalanceStatement);
+
+ Map<Integer, BigDecimal> shopCommissionMap = shopBalanceStatements.stream()
+ .collect(Collectors.groupingBy(
+ ShopBalanceStatement::getType,
+ Collectors.reducing(
+ BigDecimal.ZERO,
+ ShopBalanceStatement::getVariableAmount,
+ BigDecimal::add
+ )
+ ));
+
+ BigDecimal totalCommission = shopCommissionMap.getOrDefault(1,BigDecimal.ZERO);
+ BigDecimal totalSubordinateCommission = shopCommissionMap.getOrDefault(2,BigDecimal.ZERO);
+ BigDecimal totalServiceCharge = shopCommissionMap.getOrDefault(3,BigDecimal.ZERO);
+ shopCommissionStatisticsVO.setTotalCommission(totalCommission);
+ shopCommissionStatisticsVO.setTotalSubordinateCommission(totalSubordinateCommission);
+ shopCommissionStatisticsVO.setTotalServiceCharge(totalServiceCharge);
+ BigDecimal totalAmount = totalCommission.add(totalSubordinateCommission).add(totalServiceCharge);
+ shopCommissionStatisticsVO.setTotalAmount(totalAmount);
+ IPage<ShopBalanceStatement> statementIPage = this.baseMapper.queryShopBalanceStatementPage(page, shopBalanceStatement);
+ for (ShopBalanceStatement record : statementIPage.getRecords()) {
+ BigDecimal subtract = record.getHistoricalBalance().subtract(record.getBalance());
+ if (subtract.compareTo(BigDecimal.ZERO)>0){
+ // 减少
+ record.setVariableAmountString("-¥"+record.getVariableAmount());
+ }else if (subtract.compareTo(BigDecimal.ZERO)<0){
+ record.setVariableAmountString("+¥"+record.getVariableAmount());
+ }else{
+ record.setVariableAmountString("¥"+record.getVariableAmount());
+ }
+ }
+ shopCommissionStatisticsVO.setStatementIPage(statementIPage);
+ return shopCommissionStatisticsVO;
+ }
}
--
Gitblit v1.7.1