From ec73339e08669dc5a0d4ff93e6640f51473c08cd Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 11 一月 2025 18:03:50 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java | 43 +++++++++++++++++++++++++++++++++---------- 1 files changed, 33 insertions(+), 10 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 4d0426c..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,9 +12,10 @@ 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.ShopBalanceStatementClient; +import com.ruoyi.other.api.feignClient.ShopClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -29,20 +30,20 @@ @Service public class BalanceChangeRecordServiceImpl extends ServiceImpl<BalanceChangeRecordMapper, BalanceChangeRecord> implements BalanceChangeRecordService { @Resource - private ShopBalanceStatementClient shopBalanceStatementClient; + private ShopClient shopClient; @Override public IPage<BalanceChangeRecord> pageList(BalanceQuery agentQuery) { 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,17 +51,20 @@ .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 { - r = shopBalanceStatementClient.getList(shopBalanceStatement); + r = shopClient.getShopBalanceStatementList(shopBalanceStatement); } catch (Exception e) { log.error("获取店铺余额对账单列表时出错", e); return null; @@ -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,17 +82,37 @@ 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()); long current = page.getCurrent(); long size = page.getSize(); - int fromIndex = (int) (current - 1); + if (current < 1) { + current = 1; + } + int fromIndex = (int) ((current - 1) * size); int toIndex = (int) Math.min(fromIndex + size, walletStatisticsDetailList.size()); - if (fromIndex < 0 || toIndex > walletStatisticsDetailList.size()) { + if (fromIndex >= walletStatisticsDetailList.size()) { throw new ServiceException("页面参数无效"); } -- Gitblit v1.7.1