From f18a802137a7642473891f6886d44cf0c229efed Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 11 一月 2025 18:09:10 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 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..33f6baf 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,13 +51,16 @@ .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()); + balanceChangeRecordIPage.setRecords(collect); return new CommissionStatistics(totalCommission, balanceChangeRecordIPage); } @Override public WalletStatistics walletStatistics(Page<BalanceChangeRecord> page, BalanceChangeRecord balanceChangeRecord) { ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); - shopBalanceStatement.setType(4); + shopBalanceStatement.setType(1); R<List<ShopBalanceStatement>> r; try { @@ -71,7 +75,6 @@ } List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord); - List<WalletStatisticsDetail> walletStatisticsDetailList = new ArrayList<>(); for (BalanceChangeRecord changeRecord : balanceChangeRecordList) { WalletStatisticsDetail walletStatisticsDetail = new WalletStatisticsDetail(); @@ -79,7 +82,24 @@ walletStatisticsDetailList.add(walletStatisticsDetail); } - walletStatisticsDetailList.addAll(r.getData().stream().map(this::createWalletStatisticsDetail).collect(Collectors.toList())); + List<WalletStatisticsDetail> collect = r.getData().stream().map(this::createWalletStatisticsDetail).collect(Collectors.toList()); + // 根据门店名称、用户姓名、联系电话进行模糊过滤 + collect = collect.stream() + .filter(e -> { + if (StringUtils.isNotEmpty(balanceChangeRecord.getShopName())) { + return e.getShopName().contains(balanceChangeRecord.getShopName()); + } else if (StringUtils.isNotEmpty(balanceChangeRecord.getUserName())) { + return e.getUserName().contains(balanceChangeRecord.getUserName()); + } else if (StringUtils.isNotEmpty(balanceChangeRecord.getUserPhone())) { + return e.getUserPhone().contains(balanceChangeRecord.getUserPhone()); + } + // 根据时间进行范围过滤 + if (balanceChangeRecord.getStartTime() != null && balanceChangeRecord.getEndTime() != null) { + return e.getCreateTime().isAfter(balanceChangeRecord.getStartTime()) && e.getCreateTime().isBefore(balanceChangeRecord.getEndTime()); + } + return false; + }).collect(Collectors.toList()); + walletStatisticsDetailList.addAll(collect); // 按时间排序(倒序) walletStatisticsDetailList.sort(Comparator.comparing(WalletStatisticsDetail::getCreateTime).reversed()); -- Gitblit v1.7.1