From 485b09d75ac79350392e234a62521050bf6374de Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期二, 04 三月 2025 11:00:43 +0800
Subject: [PATCH] 修改物流信息导入模板
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java | 68 +++++++++++++++++++++++++++++++--
1 files changed, 63 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 7bb7a24..3ce74d7 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
@@ -1,11 +1,15 @@
package com.ruoyi.account.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.BalanceChangeRecord;
+import com.ruoyi.account.api.model.BalanceChangeRecordCopy;
import com.ruoyi.account.dto.BalanceQuery;
import com.ruoyi.account.mapper.BalanceChangeRecordMapper;
+import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.BalanceChangeRecordService;
import com.ruoyi.account.vo.CommissionStatistics;
import com.ruoyi.account.vo.WalletStatistics;
@@ -14,6 +18,8 @@
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.order.feignClient.RemoteOrderGoodsClient;
+import com.ruoyi.order.model.Order;
import com.ruoyi.other.api.domain.ShopBalanceStatement;
import com.ruoyi.other.api.feignClient.ShopClient;
import org.springframework.stereotype.Service;
@@ -21,6 +27,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -31,6 +38,10 @@
public class BalanceChangeRecordServiceImpl extends ServiceImpl<BalanceChangeRecordMapper, BalanceChangeRecord> implements BalanceChangeRecordService {
@Resource
private ShopClient shopClient;
+ @Resource
+ private RemoteOrderGoodsClient remoteOrderGoodsClient;
+ @Resource
+ private AppUserService appUserService;
@Override
public IPage<BalanceChangeRecord> pageList(BalanceQuery agentQuery) {
@@ -42,6 +53,7 @@
@Override
public CommissionStatistics commissionStatistics(Page<BalanceChangeRecord> page, BalanceChangeRecord balanceChangeRecord) {
+ balanceChangeRecord.setChangeType(4);
List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord);
BigDecimal totalCommission = balanceChangeRecordList.stream()
@@ -77,9 +89,22 @@
List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList1(balanceChangeRecord);
List<WalletStatisticsDetail> walletStatisticsDetailList = new ArrayList<>();
+ BigDecimal totalWithdraw = BigDecimal.ZERO;
for (BalanceChangeRecord changeRecord : balanceChangeRecordList) {
+
WalletStatisticsDetail walletStatisticsDetail = new WalletStatisticsDetail();
BeanUtils.copyBeanProp(walletStatisticsDetail, changeRecord);
+
+ BigDecimal beforeAmount = changeRecord.getBeforeAmount();
+ BigDecimal afterAmount = changeRecord.getAfterAmount();
+
+ if (beforeAmount.compareTo(afterAmount) < 0 && changeRecord.getChangeType().equals(2)){
+ BigDecimal changeAmount = changeRecord.getChangeAmount();
+ totalWithdraw = totalWithdraw.add(changeAmount);
+ walletStatisticsDetail.setFlag(2);
+ }else {
+ walletStatisticsDetail.setFlag(1);
+ }
walletStatisticsDetailList.add(walletStatisticsDetail);
}
// 按时间排序(倒序)
@@ -112,15 +137,15 @@
));
BigDecimal totalRecharge = shopCommissionMap.get(1);
- BigDecimal totalWithdraw = shopCommissionMap.get(2);
BigDecimal totalShopWithdraw = shopCommissionMap.get(7);
List<WalletStatisticsDetail> walletStatisticsDetailList2 = walletStatisticsDetailList.subList(fromIndex, toIndex);
for (WalletStatisticsDetail changeRecord : walletStatisticsDetailList2) {
- if (changeRecord.getChangeType().equals(1) || changeRecord.getChangeType().equals(3) || changeRecord.getChangeType().equals(4) || changeRecord.getChangeType().equals(6)) {
- changeRecord.setChangeAmountString("+¥" + changeRecord.getChangeAmount());
- } else {
- changeRecord.setChangeAmountString("-¥" + changeRecord.getChangeAmount());
+ Integer flag = changeRecord.getFlag();
+ if (flag.equals(1)){
+ changeRecord.setChangeAmountString("+¥"+changeRecord.getChangeAmount());
+ }else {
+ changeRecord.setChangeAmountString("-¥"+changeRecord.getChangeAmount());
}
walletStatisticsDetailPage.setCurrent(current);
walletStatisticsDetailPage.setSize(size);
@@ -133,4 +158,37 @@
}
return walletStatistics;
}
+
+ @Override
+ public IPage<BalanceChangeRecordCopy> change(Page<BalanceChangeRecordCopy> page, Integer changeType, LocalDateTime startTime, LocalDateTime endTime, Long userId) {
+ List<BalanceChangeRecordCopy> change = this.baseMapper.change(page, changeType, startTime, endTime, userId);
+ List<Long> orderIds = change.stream().map(BalanceChangeRecordCopy::getOrderId).collect(Collectors.toList());
+ if (CollectionUtil.isNotEmpty(orderIds)){
+ R<List<Order>> r = remoteOrderGoodsClient.getOrderListByIds(orderIds);
+ if (!R.isSuccess(r)){
+ return null;
+ }
+ List<Order> orderList = r.getData();
+ change.forEach(bc -> {
+ orderList.stream().filter(o -> o.getId().equals(bc.getOrderId())).findFirst().ifPresent(o -> {
+ Long appUserId = o.getAppUserId();
+ AppUser appUser = appUserService.getById(appUserId);
+ if(null != appUser){
+ bc.setUserName(appUser.getName());
+ bc.setAmount(o.getPaymentAmount());
+ }
+ });
+
+ BigDecimal beforeAmount = bc.getBeforeAmount();
+ BigDecimal afterAmount = bc.getAfterAmount();
+ if (beforeAmount.compareTo(afterAmount) > 0){
+ bc.setFlag(2);
+ }else {
+ bc.setFlag(1);
+ }
+ });
+ }
+ page.setRecords(change);
+ return page;
+ }
}
--
Gitblit v1.7.1