Commit 6e692031 by wutong

订单百伦处理费份两个规则, 海外仓和FBA 的,都是直接1.2元一个单, 国内阶梯计费

parent 1a608086
......@@ -15,5 +15,6 @@ public class BailunSkuCumulative {
private BigDecimal maxSkuHight;//最大SKU高
private Integer totalQuantity;//累计销售数量
private Integer countSelfProducrSku;//自产美容SKU销售数量
private Boolean domesticOrOverseas;//国内仓或海外仓, true是国内仓
}
......@@ -148,6 +148,9 @@ public class OrderSyncJob extends PointJob {
*/
DcBaseWarehouse dcBaseWarehouse = getDcBaseWarehouse(bailunSku, omsResult);
bailunSkuStructure.setDcBaseWarehouse(dcBaseWarehouse);
if (dcBaseWarehouse != null && dcBaseWarehouse.getHqType().equals(Constant.DOMESTIC_WAREHOUSE)) {
bailunSkuCumulative.setDomesticOrOverseas(true);
}
if (PlatformType.FBA.value().equals(omsResult.getPlatformType()) && dcBaseWarehouse != null) {
switch (dcBaseWarehouse.getAreaId()) {
case 6:
......@@ -202,7 +205,7 @@ public class OrderSyncJob extends PointJob {
* 按规则计算百伦处理费
* 处理费算到订单维度
*/
caculateBailunHandleFee(dcBaseOmsOrder, bailunSkuCumulative.getCountSelfProducrSku());
caculateBailunHandleFee(dcBaseOmsOrder, bailunSkuCumulative);
}
/*
* 配货单处理,
......@@ -569,34 +572,37 @@ public class OrderSyncJob extends PointJob {
*
* @param dcBaseOmsOrder
*/
private void caculateBailunHandleFee(DcBaseOmsOrder dcBaseOmsOrder, Integer countSelfProducrSku) {
BigDecimal costBailunHandle;
switch (countSelfProducrSku) {
case 0:
case 1:
costBailunHandle = BigDecimal.valueOf(2.0);
break;
case 2:
case 3:
case 4:
case 5:
costBailunHandle = BigDecimal.valueOf(countSelfProducrSku - 1).add(BigDecimal.valueOf(2.0));
break;
case 6:
case 7:
case 8:
case 9:
case 10:
costBailunHandle = BigDecimal.valueOf(0.5).multiply(BigDecimal.valueOf(countSelfProducrSku - 5)).add(BigDecimal.valueOf(6.0));
break;
default:
costBailunHandle = BigDecimal.valueOf(8.5);
private void caculateBailunHandleFee(DcBaseOmsOrder dcBaseOmsOrder, BailunSkuCumulative bailunSkuCumulative) {
BigDecimal costBailunHandle = BigDecimal.valueOf(1.2);//海外仓和FBA 的,都是直接1.2元一个单
if(bailunSkuCumulative.getDomesticOrOverseas()) {
switch (bailunSkuCumulative.getCountSelfProducrSku()) {
case 0:
case 1:
costBailunHandle = BigDecimal.valueOf(2.0);
break;
case 2:
case 3:
case 4:
case 5:
costBailunHandle = BigDecimal.valueOf(bailunSkuCumulative.getCountSelfProducrSku() - 1).add(BigDecimal.valueOf(2.0));
break;
case 6:
case 7:
case 8:
case 9:
case 10:
costBailunHandle = BigDecimal.valueOf(0.5).multiply(BigDecimal.valueOf(bailunSkuCumulative.getCountSelfProducrSku() - 5)).add(BigDecimal.valueOf(6.0));
break;
default:
costBailunHandle = BigDecimal.valueOf(8.5);
}
}
dcBaseOmsOrder.setCostHandleBailun(costBailunHandle);
}
private BailunSkuCumulative getBailunSkuCumulative(OmsResult omsResult) {
BailunSkuCumulative bailunSkuCumulative = new BailunSkuCumulative();
bailunSkuCumulative.setDomesticOrOverseas(Boolean.FALSE);
bailunSkuCumulative.setMaxSkuLong(BigDecimal.ZERO);
bailunSkuCumulative.setMaxSkuWidth(BigDecimal.ZERO);
bailunSkuCumulative.setMaxSkuHight(BigDecimal.ZERO);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment