|
|
@@ -586,10 +586,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//有销售政策:产生返利=销售明细中的(特价-真实特价)X 条数 的明细和
|
|
|
correctCreateProfit = list.stream().filter(e -> ObjectUtils.isNotNull(e.getPriceType())).
|
|
|
reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().subtract(y.getRealSpecialOffer() == null ? BigDecimal.ZERO : y.getRealSpecialOffer())).multiply(y.getOrderQuantity())), BigDecimal::add);
|
|
|
-
|
|
|
- //无销售政策:产生返利=(单价*数量)* (2%+1%+1%)
|
|
|
- faultCreateProfit = list.stream().filter(e -> ObjectUtils.isNull(e.getPriceType())).
|
|
|
- reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().multiply(y.getOrderQuantity())).multiply(new BigDecimal(0.04))), BigDecimal::add);
|
|
|
+ String interestRate = sysClient.getParamService("interest.rate");
|
|
|
+ if(ObjectUtils.isNotNull(interestRate) && !"681169".equals(AuthUtil.getTenantId())){
|
|
|
+ BigDecimal rate = new BigDecimal(interestRate).divide(new BigDecimal("100"),2,RoundingMode.HALF_DOWN);
|
|
|
+ //无销售政策:产生返利=(单价*数量)* (2%+1%+1%)
|
|
|
+ faultCreateProfit = list.stream().filter(e -> ObjectUtils.isNull(e.getPriceType())).
|
|
|
+ reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().multiply(y.getOrderQuantity())).multiply(rate)), BigDecimal::add);
|
|
|
+ }else{
|
|
|
+ //无销售政策:产生返利=(单价*数量)* (2%+1%+1%)
|
|
|
+ faultCreateProfit = list.stream().filter(e -> ObjectUtils.isNull(e.getPriceType())).
|
|
|
+ reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().multiply(y.getOrderQuantity())).multiply(new BigDecimal(0.04))), BigDecimal::add);
|
|
|
+ }
|
|
|
|
|
|
//最终销售订单中产生返利=有销售政策:产生返利+无销售政策:产生返利
|
|
|
order.setCreateProfit(correctCreateProfit.add(faultCreateProfit));
|