From 24681c81c09022f584a57006f2534b5f74723414 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 30 六月 2026 09:27:31 +0800
Subject: [PATCH] 初始化项目
---
yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordServiceImpl.java | 31 ++++++++++++++++---------------
1 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordServiceImpl.java b/yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordServiceImpl.java
index ed314c3..845fea7 100644
--- a/yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordServiceImpl.java
+++ b/yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordServiceImpl.java
@@ -38,7 +38,6 @@
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.getMaxValue;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.getMinValue;
-import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.BROKERAGE_WITHDRAW_USER_BALANCE_NOT_ENOUGH;
/**
@@ -143,7 +142,7 @@
int calculatePrice(Integer basePrice, Integer percent, Integer fixedPrice) {
// 1. 浼樺厛浣跨敤鍥哄畾浣i噾
if (fixedPrice != null && fixedPrice >= 0) {
- return ObjectUtil.defaultIfNull(fixedPrice, 0);
+ return fixedPrice;
}
// 2. 鏍规嵁姣斾緥璁$畻浣i噾
if (basePrice != null && basePrice > 0 && percent != null && percent > 0) {
@@ -329,7 +328,7 @@
return respVO;
}
// 2.2 鏍¢獙鐢ㄦ埛鏄惁鏈夊垎閿�璧勬牸
- respVO.setEnabled(brokerageUserService.getUserBrokerageEnabled(getLoginUserId()));
+ respVO.setEnabled(brokerageUserService.getUserBrokerageEnabled(userId));
if (BooleanUtil.isFalse(respVO.getEnabled())) {
return respVO;
}
@@ -339,22 +338,24 @@
return respVO;
}
- // 3.1 鍟嗗搧鍗曠嫭鍒嗕剑妯″紡
- Integer fixedMinPrice = 0;
- Integer fixedMaxPrice = 0;
- Integer spuMinPrice = 0;
- Integer spuMaxPrice = 0;
+ // 3.1 鑾峰彇鍟嗗搧 SKU 鍒楄〃
List<ProductSkuRespDTO> skuList = productSkuApi.getSkuListBySpuId(ListUtil.of(spuId));
if (BooleanUtil.isTrue(spu.getSubCommissionType())) {
- fixedMinPrice = getMinValue(skuList, ProductSkuRespDTO::getFirstBrokeragePrice);
- fixedMaxPrice = getMaxValue(skuList, ProductSkuRespDTO::getFirstBrokeragePrice);
- // 3.2 鍏ㄥ眬鍒嗕剑妯″紡锛堟牴鎹晢鍝佷环鏍兼瘮渚嬭绠楋級
+ // 3.2.1 鍟嗗搧鐙珛鍒嗛攢妯″紡锛氱洿鎺ュ彇 SKU 鍥哄畾浣i噾
+ // 娉ㄦ剰锛氬浐瀹氫剑閲戝厑璁镐负 0锛岃〃绀哄晢瀹朵富鍔ㄨ涓洪浂浣i噾锛涗负绌烘椂锛屼篃鎸� 0 澶勭悊
+ Integer fixedMinPrice = getMinValue(skuList,
+ sku -> ObjectUtil.defaultIfNull(sku.getFirstBrokeragePrice(), 0));
+ Integer fixedMaxPrice = getMaxValue(skuList,
+ sku -> ObjectUtil.defaultIfNull(sku.getFirstBrokeragePrice(), 0));
+ respVO.setBrokerageMinPrice(calculatePrice(null, tradeConfig.getBrokerageFirstPercent(), fixedMinPrice))
+ .setBrokerageMaxPrice(calculatePrice(null, tradeConfig.getBrokerageFirstPercent(), fixedMaxPrice));
} else {
- spuMinPrice = getMinValue(skuList, ProductSkuRespDTO::getPrice);
- spuMaxPrice = getMaxValue(skuList, ProductSkuRespDTO::getPrice);
+ // 3.2.2 鍏ㄥ眬姣斾緥妯″紡锛氬浐瀹氫剑閲戜紶 null锛岄伩鍏嶈榛樿鍊� 0 鎻愬墠鎷︽埅
+ Integer spuMinPrice = getMinValue(skuList, ProductSkuRespDTO::getPrice);
+ Integer spuMaxPrice = getMaxValue(skuList, ProductSkuRespDTO::getPrice);
+ respVO.setBrokerageMinPrice(calculatePrice(spuMinPrice, tradeConfig.getBrokerageFirstPercent(), null))
+ .setBrokerageMaxPrice(calculatePrice(spuMaxPrice, tradeConfig.getBrokerageFirstPercent(), null));
}
- respVO.setBrokerageMinPrice(calculatePrice(spuMinPrice, tradeConfig.getBrokerageFirstPercent(), fixedMinPrice));
- respVO.setBrokerageMaxPrice(calculatePrice(spuMaxPrice, tradeConfig.getBrokerageFirstPercent(), fixedMaxPrice));
return respVO;
}
--
Gitblit v1.9.3