From 1f09f6daaf73bc83cceb4ae22b862b7b365635cf Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 03 四月 2025 19:59:17 +0800 Subject: [PATCH] 修改反馈文档bug --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java | 74 ++++++++++++++++++++++++------------- 1 files changed, 48 insertions(+), 26 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 4365edb..57987a9 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,18 +1,18 @@ package com.ruoyi.other.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.other.api.domain.Shop; -import com.ruoyi.other.mapper.ShopBalanceStatementMapper; +import com.ruoyi.common.core.web.page.PageInfo; 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.service.ShopService; import com.ruoyi.other.vo.ShopCommissionStatisticsVO; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -25,35 +25,57 @@ */ @Service public class ShopBalanceStatementServiceImpl extends ServiceImpl<ShopBalanceStatementMapper, ShopBalanceStatement> implements ShopBalanceStatementService { - @Resource - private ShopBalanceStatementMapper shopBalanceStatementMapper; - @Resource - private ShopService shopService; @Override public ShopCommissionStatisticsVO shopCommissionStatistics(IPage<ShopBalanceStatement> page, ShopBalanceStatement shopBalanceStatement) { - List<ShopBalanceStatement> latestChangeByType = shopBalanceStatementMapper.findLatestChangeByType(shopBalanceStatement); ShopCommissionStatisticsVO shopCommissionStatisticsVO = new ShopCommissionStatisticsVO(); - for (ShopBalanceStatement sp : latestChangeByType) { - switch (sp.getType()) { - case 1: - shopCommissionStatisticsVO.setTotalCommission(sp.getBalance()); - break; - case 2: - shopCommissionStatisticsVO.setTotalSubordinateCommission(sp.getBalance()); - break; - case 3: - shopCommissionStatisticsVO.setTotalServiceCharge(sp.getBalance()); - break; - } - } - shopCommissionStatisticsVO.setTotalAmount(shopCommissionStatisticsVO.getTotalCommission() - .add(shopCommissionStatisticsVO.getTotalSubordinateCommission()) - .add(shopCommissionStatisticsVO.getTotalServiceCharge())); + List<ShopBalanceStatement> shopBalanceStatements = this.baseMapper.selectShopBalanceStatementList(shopBalanceStatement); + + shopBalanceStatements.forEach(s->s.setVariableAmount(s.getVariableAmount().multiply(new BigDecimal(s.getChangeDirection())))); + 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()) { + if (record.getChangeDirection() == -1){ + // 减少 + record.setVariableAmountString("-¥"+record.getVariableAmount()); + }else{ + record.setVariableAmountString("+¥"+record.getVariableAmount()); + } + } shopCommissionStatisticsVO.setStatementIPage(statementIPage); return shopCommissionStatisticsVO; } + + + /** + * 获取余额明细列表 + * @param type + * @param pageNum + * @param pageSize + * @return + */ + @Override + public PageInfo<ShopBalanceStatement> shopCommissionStatisticslist(Integer shopId, Integer type, Integer pageNum, Integer pageSize) { + PageInfo<ShopBalanceStatement> pageInfo = new PageInfo<>(pageNum, pageSize); + return this.baseMapper.shopCommissionStatisticslist(pageInfo, shopId, type); + } } -- Gitblit v1.7.1