Commit 6e692031 by wutong

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

parent 1a608086
...@@ -15,5 +15,6 @@ public class BailunSkuCumulative { ...@@ -15,5 +15,6 @@ public class BailunSkuCumulative {
private BigDecimal maxSkuHight;//最大SKU高 private BigDecimal maxSkuHight;//最大SKU高
private Integer totalQuantity;//累计销售数量 private Integer totalQuantity;//累计销售数量
private Integer countSelfProducrSku;//自产美容SKU销售数量 private Integer countSelfProducrSku;//自产美容SKU销售数量
private Boolean domesticOrOverseas;//国内仓或海外仓, true是国内仓
} }
...@@ -148,6 +148,9 @@ public class OrderSyncJob extends PointJob { ...@@ -148,6 +148,9 @@ public class OrderSyncJob extends PointJob {
*/ */
DcBaseWarehouse dcBaseWarehouse = getDcBaseWarehouse(bailunSku, omsResult); DcBaseWarehouse dcBaseWarehouse = getDcBaseWarehouse(bailunSku, omsResult);
bailunSkuStructure.setDcBaseWarehouse(dcBaseWarehouse); bailunSkuStructure.setDcBaseWarehouse(dcBaseWarehouse);
if (dcBaseWarehouse != null && dcBaseWarehouse.getHqType().equals(Constant.DOMESTIC_WAREHOUSE)) {
bailunSkuCumulative.setDomesticOrOverseas(true);
}
if (PlatformType.FBA.value().equals(omsResult.getPlatformType()) && dcBaseWarehouse != null) { if (PlatformType.FBA.value().equals(omsResult.getPlatformType()) && dcBaseWarehouse != null) {
switch (dcBaseWarehouse.getAreaId()) { switch (dcBaseWarehouse.getAreaId()) {
case 6: case 6:
...@@ -202,7 +205,7 @@ public class OrderSyncJob extends PointJob { ...@@ -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 { ...@@ -569,34 +572,37 @@ public class OrderSyncJob extends PointJob {
* *
* @param dcBaseOmsOrder * @param dcBaseOmsOrder
*/ */
private void caculateBailunHandleFee(DcBaseOmsOrder dcBaseOmsOrder, Integer countSelfProducrSku) { private void caculateBailunHandleFee(DcBaseOmsOrder dcBaseOmsOrder, BailunSkuCumulative bailunSkuCumulative) {
BigDecimal costBailunHandle; BigDecimal costBailunHandle = BigDecimal.valueOf(1.2);//海外仓和FBA 的,都是直接1.2元一个单
switch (countSelfProducrSku) { if(bailunSkuCumulative.getDomesticOrOverseas()) {
case 0: switch (bailunSkuCumulative.getCountSelfProducrSku()) {
case 1: case 0:
costBailunHandle = BigDecimal.valueOf(2.0); case 1:
break; costBailunHandle = BigDecimal.valueOf(2.0);
case 2: break;
case 3: case 2:
case 4: case 3:
case 5: case 4:
costBailunHandle = BigDecimal.valueOf(countSelfProducrSku - 1).add(BigDecimal.valueOf(2.0)); case 5:
break; costBailunHandle = BigDecimal.valueOf(bailunSkuCumulative.getCountSelfProducrSku() - 1).add(BigDecimal.valueOf(2.0));
case 6: break;
case 7: case 6:
case 8: case 7:
case 9: case 8:
case 10: case 9:
costBailunHandle = BigDecimal.valueOf(0.5).multiply(BigDecimal.valueOf(countSelfProducrSku - 5)).add(BigDecimal.valueOf(6.0)); case 10:
break; costBailunHandle = BigDecimal.valueOf(0.5).multiply(BigDecimal.valueOf(bailunSkuCumulative.getCountSelfProducrSku() - 5)).add(BigDecimal.valueOf(6.0));
default: break;
costBailunHandle = BigDecimal.valueOf(8.5); default:
costBailunHandle = BigDecimal.valueOf(8.5);
}
} }
dcBaseOmsOrder.setCostHandleBailun(costBailunHandle); dcBaseOmsOrder.setCostHandleBailun(costBailunHandle);
} }
private BailunSkuCumulative getBailunSkuCumulative(OmsResult omsResult) { private BailunSkuCumulative getBailunSkuCumulative(OmsResult omsResult) {
BailunSkuCumulative bailunSkuCumulative = new BailunSkuCumulative(); BailunSkuCumulative bailunSkuCumulative = new BailunSkuCumulative();
bailunSkuCumulative.setDomesticOrOverseas(Boolean.FALSE);
bailunSkuCumulative.setMaxSkuLong(BigDecimal.ZERO); bailunSkuCumulative.setMaxSkuLong(BigDecimal.ZERO);
bailunSkuCumulative.setMaxSkuWidth(BigDecimal.ZERO); bailunSkuCumulative.setMaxSkuWidth(BigDecimal.ZERO);
bailunSkuCumulative.setMaxSkuHight(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