|
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.trade.service.brokerage.record;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.BooleanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.number.MoneyUtils;
|
|
@@ -154,21 +155,24 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
|
|
|
int totalBrokerage = 0;
|
|
|
List<BrokerageRecordDO> records = new ArrayList<>();
|
|
|
for (BrokerageAddReqBO item : list) {
|
|
|
- Integer fixedPrice = 0;
|
|
|
+ // 计算金额
|
|
|
+ Integer fixedPrice;
|
|
|
if (BrokerageUserTypeEnum.FIRST.equals(sourceUserType)) {
|
|
|
fixedPrice = item.getFirstFixedPrice();
|
|
|
} else if (BrokerageUserTypeEnum.SECOND.equals(sourceUserType)) {
|
|
|
fixedPrice = item.getSecondFixedPrice();
|
|
|
+ } else {
|
|
|
+ throw new IllegalArgumentException(StrUtil.format("来源用户({}) 不合法", sourceUserType));
|
|
|
}
|
|
|
-
|
|
|
- int brokeragePerItem = calculatePrice(item.getBasePrice(), brokeragePercent, fixedPrice);
|
|
|
- if (brokeragePerItem <= 0) {
|
|
|
+ int brokeragePrice = calculatePrice(item.getBasePrice(), brokeragePercent, fixedPrice);
|
|
|
+ if (brokeragePrice <= 0) {
|
|
|
continue;
|
|
|
}
|
|
|
+ totalBrokerage += brokeragePrice;
|
|
|
+ // 创建记录实体
|
|
|
records.add(BrokerageRecordConvert.INSTANCE.convert(user, bizType, item.getBizId(),
|
|
|
- brokerageFrozenDays, brokeragePerItem, unfreezeTime, item.getTitle(),
|
|
|
+ brokerageFrozenDays, brokeragePrice, unfreezeTime, item.getTitle(),
|
|
|
item.getSourceUserId(), sourceUserType.getType()));
|
|
|
- totalBrokerage += brokeragePerItem;
|
|
|
}
|
|
|
if (CollUtil.isEmpty(records)) {
|
|
|
return;
|