Authored by chenchao

complete seller goods publish compute

... ... @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Value;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Supplier;
... ... @@ -157,7 +158,22 @@ public abstract class AbsSellerOrderComputeHandler implements OrderComputeHandle
* @param psfr
* @return
*/
protected abstract ServiceFeeRate buildServiceFeeRate(ServiceFeeRate psfr);
protected ServiceFeeRate buildServiceFeeRate(ServiceFeeRate psfr) {
//
ServiceFeeRate serviceFeeRate = orderDynamicConfig.getServiceFeeRate(getSkupType());
BigDecimal pgpr;
if (psfr !=null
&& (pgpr = psfr.getGoodsPaymentRate()) !=null){
serviceFeeRate.setGoodsPaymentRate(pgpr);
}
if (Objects.isNull(serviceFeeRate)){
serviceFeeRate = buildDefaultServiceFeeRate();
}
return serviceFeeRate;
}
protected abstract ServiceFeeRate buildDefaultServiceFeeRate();
protected abstract Collection<BuyerPenalty.Fee> buildStagedCollection();
}
... ...
... ... @@ -3,6 +3,7 @@ package com.yohoufo.order.service.seller.imperfect;
import com.yohobuy.ufo.model.order.constants.SkupType;
import com.yohoufo.order.model.dto.EarnestMoney;
import com.yohoufo.order.model.dto.PlatformFeeDto;
import com.yohoufo.order.model.dto.ServiceFeeRate;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
... ... @@ -27,5 +28,13 @@ public class FlawGoodsComputeHandler extends ImperfectGoodsComputeHandler {
return SkupType.FLAW;
}
@Override
protected ServiceFeeRate buildDefaultServiceFeeRate() {
ServiceFeeRate serviceFeeRate = new ServiceFeeRate();
serviceFeeRate.setGoodsPaymentRate(new BigDecimal(0.03));
serviceFeeRate.setPayChannelRate(new BigDecimal(0.01));
return serviceFeeRate;
}
}
... ...
... ... @@ -50,17 +50,7 @@ public abstract class ImperfectGoodsComputeHandler extends AbsSellerOrderCompute
}
@Override
protected ServiceFeeRate buildServiceFeeRate(ServiceFeeRate psfr) {
//
ServiceFeeRate serviceFeeRate = orderDynamicConfig.getServiceFeeRate(getSkupType());
BigDecimal pgpr;
if (psfr !=null
&& (pgpr = psfr.getGoodsPaymentRate()) !=null){
serviceFeeRate.setGoodsPaymentRate(pgpr);
}
return serviceFeeRate;
}
@Override
protected Collection<BuyerPenalty.Fee> buildStagedCollection() {
... ...
... ... @@ -2,6 +2,7 @@ package com.yohoufo.order.service.seller.imperfect;
import com.yohobuy.ufo.model.order.constants.SkupType;
import com.yohoufo.order.model.dto.EarnestMoney;
import com.yohoufo.order.model.dto.ServiceFeeRate;
import com.yohoufo.order.service.seller.OrderComputeHandler;
import org.springframework.stereotype.Service;
... ... @@ -25,4 +26,12 @@ public class SecondHandGoodsComputeHandler extends ImperfectGoodsComputeHandler
protected SkupType getSkupType() {
return SkupType.SECOND_HAND;
}
@Override
protected ServiceFeeRate buildDefaultServiceFeeRate() {
ServiceFeeRate serviceFeeRate = new ServiceFeeRate();
serviceFeeRate.setGoodsPaymentRate(new BigDecimal(0.06));
serviceFeeRate.setPayChannelRate(new BigDecimal(0.01));
return serviceFeeRate;
}
}
... ...
... ... @@ -62,6 +62,18 @@ public class SellerOrderComputeHandler extends AbsSellerOrderComputeHandler impl
&& (pgpr = psfr.getGoodsPaymentRate()) !=null){
serviceFeeRate.setGoodsPaymentRate(pgpr);
}
if (Objects.isNull(serviceFeeRate)){
serviceFeeRate = buildDefaultServiceFeeRate();
}
return serviceFeeRate;
}
@Override
protected ServiceFeeRate buildDefaultServiceFeeRate() {
ServiceFeeRate serviceFeeRate = new ServiceFeeRate();
serviceFeeRate.setGoodsPaymentRate(new BigDecimal(0.05));
serviceFeeRate.setPayChannelRate(new BigDecimal(0.01));
return serviceFeeRate;
}
... ...
... ... @@ -13,7 +13,6 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Map;
import java.util.Objects;
/**
... ... @@ -55,15 +54,12 @@ public class HongkongInStockComputeHandler extends AbsSellerOrderComputeHandler
}
@Override
protected ServiceFeeRate buildServiceFeeRate(ServiceFeeRate psfr) {
//
ServiceFeeRate serviceFeeRate = orderDynamicConfig.getServiceFeeRate(getSkupType());
BigDecimal pgpr;
if (psfr !=null
&& (pgpr = psfr.getGoodsPaymentRate()) !=null){
serviceFeeRate.setGoodsPaymentRate(pgpr);
}
protected ServiceFeeRate buildDefaultServiceFeeRate() {
ServiceFeeRate serviceFeeRate = new ServiceFeeRate();
serviceFeeRate.setGoodsPaymentRate(new BigDecimal(0.05));
serviceFeeRate.setPayChannelRate(new BigDecimal(0.015));
return serviceFeeRate;
}
... ...
... ... @@ -72,6 +72,17 @@ public class SellerAdvanceOrderComputeHandler extends AbsSellerOrderComputeHandl
&& (pgpr = psfr.getGoodsPaymentRate()) !=null){
serviceFeeRate.setGoodsPaymentRate(pgpr);
}
if (Objects.isNull(serviceFeeRate)){
serviceFeeRate = buildDefaultServiceFeeRate();
}
return serviceFeeRate;
}
@Override
protected ServiceFeeRate buildDefaultServiceFeeRate() {
ServiceFeeRate serviceFeeRate = new ServiceFeeRate();
serviceFeeRate.setGoodsPaymentRate(new BigDecimal(0.05));
serviceFeeRate.setPayChannelRate(new BigDecimal(0.01));
return serviceFeeRate;
}
... ...
... ... @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Objects;
@Service
public class QuickDeliverOrderComputeHandler extends AbsSellerOrderComputeHandler implements OrderComputeHandler {
... ... @@ -21,17 +22,26 @@ public class QuickDeliverOrderComputeHandler extends AbsSellerOrderComputeHandle
@Override
protected EarnestMoney calEarnestMoney(BigDecimal prdPrice) {
return null;
EarnestMoney earnestMoney = new EarnestMoney();
earnestMoney.setEarnestMoney(BigDecimal.ZERO);
return earnestMoney;
}
@Override
protected PlatformFeeDto buildDefaultPlatformFeeDto() {
return null;
PlatformFeeDto platformFeeDto = new PlatformFeeDto();
platformFeeDto.setPackageFee(BigDecimal.ZERO);
platformFeeDto.setAppraiseFee(BigDecimal.ZERO);
return platformFeeDto;
}
@Override
protected ServiceFeeRate buildServiceFeeRate(ServiceFeeRate psfr) {
return null;
protected ServiceFeeRate buildDefaultServiceFeeRate(){
ServiceFeeRate serviceFeeRate = new ServiceFeeRate();
serviceFeeRate.setGoodsPaymentRate(new BigDecimal(0.05));
serviceFeeRate.setPayChannelRate(new BigDecimal(0.01));
return serviceFeeRate;
}
@Override
... ...