From c90a8ac772937f8f084356ea1f04c5dba1d9e5d5 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期五, 24 一月 2025 11:15:33 +0800 Subject: [PATCH] 12.18 --- 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