...
|
...
|
@@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Optional;
|
|
|
import java.util.function.Supplier;
|
|
|
|
|
|
/**
|
|
|
* Created by chao.chen on 2019/2/1.
|
...
|
...
|
@@ -105,8 +107,18 @@ public abstract class AbsSellerOrderComputeHandler implements OrderComputeHandle |
|
|
protected PlatformFeeDto calPlatformFee(BigDecimal price, ServiceFeeRate serviceFeeRate, PlatformFeeDto ppf){
|
|
|
BigDecimal goodsServiceRate = serviceFeeRate.getGoodsPaymentRate();
|
|
|
PlatformFeeDto platformFee = new PlatformFeeDto();
|
|
|
BigDecimal appraiseFee = ppf!=null && ppf.getAppraiseFee() != null ? ppf.getAppraiseFee() : new BigDecimal(getAppraiseFee());
|
|
|
BigDecimal packageFee = ppf!=null && ppf.getPackageFee() != null ? ppf.getPackageFee() : new BigDecimal(getPackageFee());
|
|
|
Supplier<PlatformFeeDto> plaformFeeConfigSupplier = ()->getPlatformFeeDtoConfig();
|
|
|
BigDecimal appraiseFee;
|
|
|
BigDecimal packageFee;
|
|
|
if (ppf == null){
|
|
|
PlatformFeeDto pfc = plaformFeeConfigSupplier.get();
|
|
|
appraiseFee = pfc.getAppraiseFee();
|
|
|
packageFee = pfc.getPackageFee();
|
|
|
}else{
|
|
|
appraiseFee = ppf.getAppraiseFee() != null ? ppf.getAppraiseFee() : plaformFeeConfigSupplier.get().getAppraiseFee();
|
|
|
packageFee = ppf.getPackageFee() != null ? ppf.getPackageFee() : plaformFeeConfigSupplier.get().getPackageFee();
|
|
|
}
|
|
|
|
|
|
BigDecimal serviceFee = price.multiply(goodsServiceRate);
|
|
|
|
|
|
platformFee.setAppraiseFee(halfUp(appraiseFee));
|
...
|
...
|
@@ -118,13 +130,14 @@ public abstract class AbsSellerOrderComputeHandler implements OrderComputeHandle |
|
|
return platformFee;
|
|
|
}
|
|
|
|
|
|
public Double getAppraiseFee() {
|
|
|
return appraiseFee;
|
|
|
public PlatformFeeDto getPlatformFeeDtoConfig(){
|
|
|
PlatformFeeDto platformFeeDto = new PlatformFeeDto();
|
|
|
platformFeeDto.setPackageFee(new BigDecimal(packageFee));
|
|
|
platformFeeDto.setAppraiseFee(new BigDecimal(appraiseFee));
|
|
|
return platformFeeDto;
|
|
|
}
|
|
|
|
|
|
public Double getPackageFee() {
|
|
|
return packageFee;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* add input
|
...
|
...
|
|