update 财务中心 计算金额

This commit is contained in:
Guoqs
2025-07-14 15:55:14 +08:00
parent 174b70cb46
commit 54bd952894
5 changed files with 39 additions and 17 deletions

View File

@@ -132,4 +132,6 @@ public interface AdapayMemberAccountMapper {
* @return
*/
AdapayMemberAccount selectRecentInfoByMerchantId(String merchantId);
}
List<String> selectUsedAdapayMemberIdByMerchantId(String merchantId);
}

View File

@@ -122,4 +122,6 @@ public interface AdapayMemberAccountService {
* @return
*/
AdapayMemberAccount selectRecentInfoByMerchantId(String merchantId);
List<String> selectUsedAdapayMemberIdByMerchantId(String merchantId);
}

View File

@@ -273,5 +273,13 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic
public AdapayMemberAccount selectRecentInfoByMerchantId(String merchantId) {
return adapayMemberAccountMapper.selectRecentInfoByMerchantId(merchantId);
}
/**
* 根据运营商id 查询该运营商所有使用过的AdapayMemberId
*/
@Override
public List<String> selectUsedAdapayMemberIdByMerchantId(String merchantId) {
return adapayMemberAccountMapper.selectUsedAdapayMemberIdByMerchantId(merchantId);
}
}

View File

@@ -187,6 +187,7 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
}
// 根据merchantId查询汇付账户信息
AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
List<String> usedAdapayMemberIdList = adapayMemberAccountService.selectUsedAdapayMemberIdByMerchantId(merchantId);
// 按天分组, 组装结果集 key 为 tradeDate, value 为该天的订单分账记录
Map<String, List<OrderSplitRecord>> dailyRecordMap = orderSplitRecords.stream().collect(Collectors.groupingBy(OrderSplitRecord::getTradeDate));
// 按天分组 key 为 tradeDate, value 为该天的订单分账记录
@@ -216,7 +217,9 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
orderCodeSet.remove(record.getOrderCode());
}
// 区分运营商自己分账的金额, 和他人的分账金额
if (adapayMemberAccount != null && adapayMemberAccount.getAdapayMemberId().equals(record.getAdapayMemberId())) {
// if (adapayMemberAccount != null && adapayMemberAccount.getAdapayMemberId().equals(record.getAdapayMemberId())) {
// record.getAdapayMemberId() 存在usedAdapayMemberIdList
if (CollectionUtils.isNotEmpty(usedAdapayMemberIdList) && usedAdapayMemberIdList.contains(record.getAdapayMemberId())) {
totalMerchantSplitAmount = totalMerchantSplitAmount.add(record.getElectricitySplitAmount()).add(record.getServiceSplitAmount());
} else {
totalOtherSplitAmount = totalOtherSplitAmount.add(record.getElectricitySplitAmount()).add(record.getServiceSplitAmount());