Authored by chenchao

Merge branch 'dev_6.8.7_order_出售权限' into test6.8.8

# Conflicts:
#	order/src/main/java/com/yohoufo/order/service/seller/AbsSellerOrderComputeHandler.java
... ... @@ -33,13 +33,16 @@ public abstract class AbsSellerOrderComputeHandler implements OrderComputeHandle
private Double packageFee ;
@Override
public SellerOrderComputeResult compute(BigDecimal prdPrice){
public SellerOrderComputeResult compute(BigDecimal prdPrice,
SellerOrderComputeResult personalComputeConfig){
//保证金(28-200(按照卖家发布商品的货款金额5%计算,最低28,封顶200))
EarnestMoney earnestMoney = calEarnestMoney(prdPrice);
//init fee rate
ServiceFeeRate serviceFeeRate = buildServiceFeeRate();
PlatformFeeDto platformFeeDto = calPlatformFee(prdPrice, serviceFeeRate);
ServiceFeeRate psfr = personalComputeConfig!=null ? personalComputeConfig.getServiceFeeRate() : null;
ServiceFeeRate serviceFeeRate = buildServiceFeeRate(psfr);
PlatformFeeDto ppf = personalComputeConfig!=null ? personalComputeConfig.getPlatformFee() : null;
PlatformFeeDto platformFeeDto = calPlatformFee(prdPrice, serviceFeeRate, ppf);
BigDecimal bankTransferFee = calBankTransferFee(prdPrice, serviceFeeRate.getPayChannelRate());
logger.info("in SellerOrder Compute, prdPrice {}, platformFee {}, bankTransferFee {}",
prdPrice, platformFeeDto, bankTransferFee);
... ... @@ -49,7 +52,7 @@ public abstract class AbsSellerOrderComputeHandler implements OrderComputeHandle
result.setEarnestMoney(earnestMoney);
result.setPlatformFee(platformFeeDto);
result.setIncome(halfUp(income));
//TODO 根据配置文件
//根据配置文件
result.setServiceFeeRate(serviceFeeRate);
result.setBankTransferfee(bankTransferFee);
result.setPenaltyFeeRate(buildStagedCollection());
... ... @@ -93,6 +96,8 @@ public abstract class AbsSellerOrderComputeHandler implements OrderComputeHandle
return halfUp(prdPrice.multiply(payServiceFeeRate));
}
/**
* 通过相加得出的数据
* 服务费参与计算后需要考虑精度问题(四舍五入)
... ...