From 2c99eb1b27b9fbad752aaeab8783399af32514e6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 15 一月 2025 21:00:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java | 70 +++++++++++++++-------------------
1 files changed, 31 insertions(+), 39 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
index 943a5f1..0198cd8 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
@@ -12,6 +12,7 @@
import com.ruoyi.account.vo.WalletStatisticsDetail;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.other.api.domain.ShopBalanceStatement;
import com.ruoyi.other.api.feignClient.ShopClient;
@@ -36,13 +37,13 @@
Page<BalanceChangeRecord> page = new Page<>();
page.setCurrent(agentQuery.getPageNum());
page.setSize(agentQuery.getPageSize());
- IPage<BalanceChangeRecord> shopIPage = this.baseMapper.pageList(page, agentQuery);
- return shopIPage;
+ return this.baseMapper.pageList(page, agentQuery);
}
@Override
public CommissionStatistics commissionStatistics(Page<BalanceChangeRecord> page, BalanceChangeRecord balanceChangeRecord) {
List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord);
+
BigDecimal totalCommission = balanceChangeRecordList.stream()
.filter(item -> !(item.getChangeType().equals(2) && item.getChangeType().equals(5)))
.map(BalanceChangeRecord::getChangeAmount)
@@ -50,28 +51,31 @@
.setScale(2, RoundingMode.HALF_UP);
IPage<BalanceChangeRecord> balanceChangeRecordIPage = this.baseMapper.queryCommissionStatistics(page, balanceChangeRecord);
+ // 过滤商城购物
+ List<BalanceChangeRecord> collect = balanceChangeRecordIPage.getRecords().stream().filter(e -> e.getChangeType() != 5).collect(Collectors.toList());
+ for (BalanceChangeRecord changeRecord : collect) {
+ if (changeRecord.getBeforeAmount()!=null && changeRecord.getAfterAmount()!=null){
+ BigDecimal subtract = changeRecord.getBeforeAmount().subtract(changeRecord.getAfterAmount());
+ if (subtract.compareTo(BigDecimal.ZERO)>0){
+ // 减少
+ changeRecord.setChangeAmountString("-¥"+changeRecord.getChangeAmount());
+ }else if (subtract.compareTo(BigDecimal.ZERO)<0){
+ changeRecord.setChangeAmountString("+¥"+changeRecord.getChangeAmount());
+ }else{
+ changeRecord.setChangeAmountString("¥"+changeRecord.getChangeAmount());
+ }
+ }
+ }
+ balanceChangeRecordIPage.setRecords(collect);
return new CommissionStatistics(totalCommission, balanceChangeRecordIPage);
}
@Override
public WalletStatistics walletStatistics(Page<BalanceChangeRecord> page, BalanceChangeRecord balanceChangeRecord) {
ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
- shopBalanceStatement.setType(4);
-
- R<List<ShopBalanceStatement>> r;
- try {
- r = shopClient.getShopBalanceStatementList(shopBalanceStatement);
- } catch (Exception e) {
- log.error("获取店铺余额对账单列表时出错", e);
- return null;
- }
-
- if (R.isError(r)) {
- return null;
- }
+ shopBalanceStatement.setType(1);
List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord);
-
List<WalletStatisticsDetail> walletStatisticsDetailList = new ArrayList<>();
for (BalanceChangeRecord changeRecord : balanceChangeRecordList) {
WalletStatisticsDetail walletStatisticsDetail = new WalletStatisticsDetail();
@@ -79,7 +83,6 @@
walletStatisticsDetailList.add(walletStatisticsDetail);
}
- walletStatisticsDetailList.addAll(r.getData().stream().map(this::createWalletStatisticsDetail).collect(Collectors.toList()));
// 按时间排序(倒序)
walletStatisticsDetailList.sort(Comparator.comparing(WalletStatisticsDetail::getCreateTime).reversed());
@@ -92,12 +95,13 @@
int fromIndex = (int) ((current - 1) * size);
int toIndex = (int) Math.min(fromIndex + size, walletStatisticsDetailList.size());
+
+ Page<WalletStatisticsDetail> walletStatisticsDetailPage = new Page<>();
+ WalletStatistics walletStatistics = new WalletStatistics();
if (fromIndex >= walletStatisticsDetailList.size()) {
- throw new ServiceException("页面参数无效");
+ walletStatistics.setPage(walletStatisticsDetailPage);
+ return walletStatistics;
}
-
- List<WalletStatisticsDetail> walletStatisticsDetailList2 = walletStatisticsDetailList.subList(fromIndex, toIndex);
-
Map<Integer, BigDecimal> shopCommissionMap = walletStatisticsDetailList.stream()
.collect(Collectors.groupingBy(
@@ -113,29 +117,17 @@
BigDecimal totalWithdraw = shopCommissionMap.get(2);
BigDecimal totalShopWithdraw = shopCommissionMap.get(7);
+ List<WalletStatisticsDetail> walletStatisticsDetailList2 = walletStatisticsDetailList.subList(fromIndex, toIndex);
- WalletStatistics walletStatistics = new WalletStatistics();
- Page<WalletStatisticsDetail> page1 = new Page<>();
- page1.setRecords(walletStatisticsDetailList2);
- page1.setTotal(walletStatisticsDetailList.size());
- page1.setCurrent(current);
- page1.setSize(size);
- walletStatistics.setPage(page1);
+ walletStatisticsDetailPage.setCurrent(current);
+ walletStatisticsDetailPage.setSize(size);
+ walletStatisticsDetailPage.setTotal(walletStatisticsDetailList.size());
+ walletStatisticsDetailPage.setRecords(walletStatisticsDetailList2);
+ walletStatistics.setPage(walletStatisticsDetailPage);
walletStatistics.setTotalRecharge(totalRecharge);
walletStatistics.setTotalWithdraw(totalWithdraw);
walletStatistics.setTotalShopWithdraw(totalShopWithdraw);
return walletStatistics;
- }
-
- private WalletStatisticsDetail createWalletStatisticsDetail(ShopBalanceStatement item) {
- WalletStatisticsDetail walletStatisticsDetail = new WalletStatisticsDetail();
- walletStatisticsDetail.setShopName(item.getShopName());
- walletStatisticsDetail.setUserName(item.getShopManagerName());
- walletStatisticsDetail.setUserPhone(item.getPhone());
- walletStatisticsDetail.setChangeType(4);
- walletStatisticsDetail.setCreateTime(item.getCreateTime());
- walletStatisticsDetail.setChangeAmount(item.getVariableAmount());
- return walletStatisticsDetail;
}
}
--
Gitblit v1.7.1