| | |
| | | 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; |
| | |
| | | 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) |
| | |
| | | .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 { |
| | |
| | | } |
| | | |
| | | List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord); |
| | | |
| | | List<WalletStatisticsDetail> walletStatisticsDetailList = new ArrayList<>(); |
| | | for (BalanceChangeRecord changeRecord : balanceChangeRecordList) { |
| | | WalletStatisticsDetail walletStatisticsDetail = new WalletStatisticsDetail(); |
| | |
| | | walletStatisticsDetailList.add(walletStatisticsDetail); |
| | | } |
| | | |
| | | walletStatisticsDetailList.addAll(r.getData().stream().map(this::createWalletStatisticsDetail).collect(Collectors.toList())); |
| | | |
| | | // 按时间排序(倒序) |
| | | walletStatisticsDetailList.sort(Comparator.comparing(WalletStatisticsDetail::getCreateTime).reversed()); |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |