Commit 3c7c9981 by wutong

销售额不分平台计算, 统一改为 销售额=产品金额+运费-促销; 新增了部分注释

parent 05d36f6d
...@@ -103,7 +103,7 @@ public class OrderSyncJob extends PointJob { ...@@ -103,7 +103,7 @@ public class OrderSyncJob extends PointJob {
*/ */
public void analyseOmsOrder(List<OmsResult> bailunOrderList) { public void analyseOmsOrder(List<OmsResult> bailunOrderList) {
for (OmsResult omsResult : bailunOrderList) { for (OmsResult omsResult : bailunOrderList) {
log.warn(omsResult.getOriginOrderId()); log.warn(omsResult.getOriginOrderId()); //打印订单号, 出了问题可以快速定位到订单, 再单独跑测试可以排查出问题
if (omsResult != null && omsResult.getBailunPaymentStatus() != null && omsResult.getBailunPaymentStatus().equals(Constant.PAYMENT_STATUS)) { if (omsResult != null && omsResult.getBailunPaymentStatus() != null && omsResult.getBailunPaymentStatus().equals(Constant.PAYMENT_STATUS)) {
DcBaseOmsOrder dcBaseOmsOrder = new DcBaseOmsOrder(); DcBaseOmsOrder dcBaseOmsOrder = new DcBaseOmsOrder();
assignmentOrderInfo(omsResult, dcBaseOmsOrder); assignmentOrderInfo(omsResult, dcBaseOmsOrder);
...@@ -116,28 +116,23 @@ public class OrderSyncJob extends PointJob { ...@@ -116,28 +116,23 @@ public class OrderSyncJob extends PointJob {
listOrderExceptions(omsResult, dcBaseOmsOrder); listOrderExceptions(omsResult, dcBaseOmsOrder);
//获取汇率 //获取汇率
getExchangeRate(omsResult, dcBaseOmsOrder); getExchangeRate(omsResult, dcBaseOmsOrder);
//遍历平台SKU拿销售额
BigDecimal totalAmountSale = BigDecimal.ZERO;
if (omsResult.getPlatformSku() != null && omsResult.getPlatformSku().size() > 0) {
for (PlatformSku platformSku : omsResult.getPlatformSku()) {
if (platformSku.getPlatformSkuUnitPrice() != null && platformSku.getPlatformSkuUnitPrice().getAmount() != null && platformSku.getPlatformSkuQuantityOrdered() != null) {
BigDecimal platformSkuUnitPrice = platformSku.getPlatformSkuUnitPrice().getAmount().compareTo(BigDecimal.ZERO) == 1 ? platformSku.getPlatformSkuUnitPrice().getAmount() : BigDecimal.ZERO;
totalAmountSale = platformSkuUnitPrice.multiply(BigDecimal.valueOf(platformSku.getPlatformSkuQuantityOrdered())).add(totalAmountSale).setScale(2, RoundingMode.HALF_EVEN);
}
}
}
//这个MAP, key放仓库. value放线物流路 //这个MAP, key放仓库. value放线物流路
HashMap<String, Logistics> logisticsHashMap = new HashMap<>(); HashMap<String, Logistics> logisticsHashMap = new HashMap<>();
//由LMS线路计算的物流费 //由LMS线路计算的物流费
BigDecimal totalCostLogistics = getTotalCostLogistics(omsResult.getLogisticsItems(), logisticsHashMap); BigDecimal totalCostLogistics = getTotalCostLogistics(omsResult.getLogisticsItems(), logisticsHashMap);
//如果订单中存在百伦SKU, 去拿一些放在SKU里的信息 //如果订单中存在百伦SKU, 去拿一些放在SKU里的信息
Map<String, BailunSkuStructure> bailunSkuInfoMap = new HashMap<>(); Map<String, BailunSkuStructure> bailunSkuInfoMap = new HashMap<>();
//将每个SKU的头程费汇总为总头程费
BigDecimal totalCostFirst = BigDecimal.ZERO; BigDecimal totalCostFirst = BigDecimal.ZERO;
if (omsResult.getBailunSku() != null && omsResult.getBailunSku().size() > 0) { /**
/*
* 遍历所有百伦SKU(omsResult.getBailunSku()) * 遍历所有百伦SKU(omsResult.getBailunSku())
* 拿到SKU累计信息, 自发货运费按SKU重量比重取 * 拿到SKU累计信息, 自发货运费按SKU重量比重取
*/ */
if (omsResult.getBailunSku() != null && omsResult.getBailunSku().size() > 0) {
/*
* 遍历SKU,先拿到SKU部分数据的累计值
* 比如累计数量,累计重量
*/
BailunSkuCumulative bailunSkuCumulative = getBailunSkuCumulative(omsResult); BailunSkuCumulative bailunSkuCumulative = getBailunSkuCumulative(omsResult);
//SKU总个数 //SKU总个数
dcBaseOmsOrder.setQuantityBailunSku(bailunSkuCumulative.getTotalQuantity()); dcBaseOmsOrder.setQuantityBailunSku(bailunSkuCumulative.getTotalQuantity());
...@@ -189,7 +184,7 @@ public class OrderSyncJob extends PointJob { ...@@ -189,7 +184,7 @@ public class OrderSyncJob extends PointJob {
dcBaseOmsSku.setHasDelete(false); dcBaseOmsSku.setHasDelete(false);
dcBaseOmsSku.setHasScalp(dcBaseOmsOrder.getHasScalp()); dcBaseOmsSku.setHasScalp(dcBaseOmsOrder.getHasScalp());
/* /*
* 赋值, 初始值避免null * 赋值, 给初始值是为了避免null
*/ */
assignmentSkuInfo(omsResult, dcBaseOmsOrder, dcBaseOmsSku, bailunSku, dcBaseWarehouse, logisticsHashMap); assignmentSkuInfo(omsResult, dcBaseOmsOrder, dcBaseOmsSku, bailunSku, dcBaseWarehouse, logisticsHashMap);
if (PlatformType.FBA.value().equals(omsResult.getPlatformType().toUpperCase())) { if (PlatformType.FBA.value().equals(omsResult.getPlatformType().toUpperCase())) {
...@@ -213,30 +208,15 @@ public class OrderSyncJob extends PointJob { ...@@ -213,30 +208,15 @@ public class OrderSyncJob extends PointJob {
* 配货单处理, * 配货单处理,
*/ */
handPickingOrder(dcBaseOmsOrder, omsResult, bailunSkuInfoMap); handPickingOrder(dcBaseOmsOrder, omsResult, bailunSkuInfoMap);
/* /**
* Order费用处理 * Order费用处理
* 费用计算都从这里开始
*/ */
//促销费 BigDecimal productAmount = dcBaseOmsOrder.getAmountProduct().compareTo(BigDecimal.ZERO) == 1 ? dcBaseOmsOrder.getAmountProduct() : dcBaseOmsOrder.getAmountTotal();
dcBaseOmsOrder.setCostPromotion((omsResult.getOrderCharge().getCostPromotion() != null && omsResult.getOrderCharge().getCostPromotion().getAmount() != null) ? omsResult.getOrderCharge().getCostPromotion().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountProduct(productAmount);//部分订单 AmountProduct(产品金额)字段没值或等于0, 就取AmountTotal(商品总收入)
//手工单销售额 = 平台SKU产品总售价 - 促销费, 手工单没有SKU售价, 只能拿订单收入 //销售额统一改为 销售额=产品金额+运费-促销
if (StringUtils.isNotBlank(omsResult.getPlatformOrderType()) && omsResult.getPlatformOrderType().equals(Constant.MANUAL_ORDER) && omsResult.getOrderCharge().getAmountTotal() != null) { dcBaseOmsOrder.setAmountSales(productAmount.add(dcBaseOmsOrder.getAmountShipping()).subtract(dcBaseOmsOrder.getCostPromotion()));
totalAmountSale = omsResult.getOrderCharge().getAmountTotal().getAmount(); //平台渠道费人民币 - Ebay的平台费币种不一样, 要取不同的汇率计算
dcBaseOmsOrder.setAmountProduct(omsResult.getOrderCharge().getAmountTotal().getAmount());
}
//销售额
//如果是速卖通,销售额直接取, 其他平台还是算
if (omsResult.getPlatformType().toUpperCase().equals(PlatformType.Aliexpress.value())) {
dcBaseOmsOrder.setAmountSales(omsResult.getOrderCharge().getAmountTotal().getAmount());
} else {
dcBaseOmsOrder.setAmountSales(totalAmountSale //商品收入
.add((omsResult.getPlatformType().toUpperCase().equals(PlatformType.FBA.value())?BigDecimal.ZERO : dcBaseOmsOrder.getAmountShipping())) //运费收入, FBA不算
.subtract(dcBaseOmsOrder.getAmountGiftWrap()) //礼品包装
.subtract(dcBaseOmsOrder.getCostPromotion())); //促销费
}
//平台渠道费
dcBaseOmsOrder.setCostPlatformFee((omsResult.getOrderCharge().getCostPlatformFee() != null && omsResult.getOrderCharge().getCostPlatformFee().getAmount() != null) ? omsResult.getOrderCharge().getCostPlatformFee().getAmount() : BigDecimal.ZERO);
//平台渠道费人民币 - Ebay的平台费币种不一样
BigDecimal costPlatformFeeRMB; BigDecimal costPlatformFeeRMB;
if (PlatformType.Ebay.value().equals(dcBaseOmsOrder.getPlatformType().toUpperCase())) { if (PlatformType.Ebay.value().equals(dcBaseOmsOrder.getPlatformType().toUpperCase())) {
costPlatformFeeRMB = dcBaseOmsOrder.getCostPlatformFee().multiply(dcBaseOmsOrder.getSellerOtherExchangeRate()).setScale(3, RoundingMode.HALF_EVEN); costPlatformFeeRMB = dcBaseOmsOrder.getCostPlatformFee().multiply(dcBaseOmsOrder.getSellerOtherExchangeRate()).setScale(3, RoundingMode.HALF_EVEN);
...@@ -260,38 +240,37 @@ public class OrderSyncJob extends PointJob { ...@@ -260,38 +240,37 @@ public class OrderSyncJob extends PointJob {
if (bailunSkuInfoMap.size() > 0) { if (bailunSkuInfoMap.size() > 0) {
/* /*
* OMS过来的详细费用不用动 * OMS过来的详细费用不用动
* 按比例算出SKU的售价 * 按比例算出SKU的售价(运费相关按重量比例, 其他费用按采购价比例)
* 利润 = 销售额 -退款 -操作费 - 平台费 -头程-尾程- 处理费-采购成本 * 利润 = 销售额 -退款 -操作费 - 平台费 -头程-尾程- 处理费-采购成本
* FBA费用相当于FBA订单的尾程费 * FBA费用相当于FBA订单的尾程费
* 跟重量有关的费用按重量分摊
*/ */
for (BailunSkuStructure bailunSkuStructure : bailunSkuInfoMap.values()) { for (BailunSkuStructure bailunSkuStructure : bailunSkuInfoMap.values()) {
DcBaseOmsSku dcBaseOmsSku = bailunSkuStructure.getDcBaseOmsSku(); DcBaseOmsSku dcBaseOmsSku = bailunSkuStructure.getDcBaseOmsSku();
DcBaseWarehouse dcBaseWarehouse = bailunSkuStructure.getDcBaseWarehouse(); DcBaseWarehouse dcBaseWarehouse = bailunSkuStructure.getDcBaseWarehouse();
dcBaseOmsSku.setRatioPrice(bailunSkuStructure.getSkuCostRatio()); dcBaseOmsSku.setRatioPrice(bailunSkuStructure.getSkuCostRatio());
dcBaseOmsSku.setRatioWeight(bailunSkuStructure.getSkuWeightRatio()); dcBaseOmsSku.setRatioWeight(bailunSkuStructure.getSkuWeightRatio());
//总收入 //SKU总收入
BigDecimal skuAmountTotal = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountTotal()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountTotal = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountTotal()).setScale(3, RoundingMode.HALF_EVEN);
//退款 //SKU退款
BigDecimal skuAmountRefund = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountRefund()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountRefund = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountRefund()).setScale(3, RoundingMode.HALF_EVEN);
//商品收入 //SKU商品收入
BigDecimal skuAmountProduct = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountProduct()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountProduct = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountProduct()).setScale(3, RoundingMode.HALF_EVEN);
//礼品包装收入 //SKU礼品包装收入
BigDecimal skuGiftAmountFee = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountGiftWrap()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuGiftAmountFee = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountGiftWrap()).setScale(3, RoundingMode.HALF_EVEN);
//调整收入 //SKU调整收入
BigDecimal skuAmountAdjustment = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountAdjustment()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountAdjustment = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountAdjustment()).setScale(3, RoundingMode.HALF_EVEN);
//税费收入 //SKU税费收入
BigDecimal skuAmountTax = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountTax()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountTax = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountTax()).setScale(3, RoundingMode.HALF_EVEN);
//运费收入 //SKU运费收入
BigDecimal skuAmountShipping = bailunSkuStructure.getSkuWeightRatio().multiply(dcBaseOmsOrder.getAmountShipping()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountShipping = bailunSkuStructure.getSkuWeightRatio().multiply(dcBaseOmsOrder.getAmountShipping()).setScale(3, RoundingMode.HALF_EVEN);
//将总销售额按比例摊分到SKU-原币种, SKU可能有多个 //SKU销售额 = 将总销售额按比例摊分到SKU-原币种, SKU可能有多个
BigDecimal skuAmountSales = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountSales()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountSales = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getAmountSales()).setScale(3, RoundingMode.HALF_EVEN);
//单个SKU售价-原币种 //单个SKU售价-原币种
BigDecimal skuSalesPrice = bailunSkuStructure.getSkuQuantityOrderd() > 0 ? skuAmountSales.divide(BigDecimal.valueOf(bailunSkuStructure.getSkuQuantityOrderd()), 3, RoundingMode.HALF_EVEN) : BigDecimal.ZERO; BigDecimal skuSalesPrice = bailunSkuStructure.getSkuQuantityOrderd() > 0 ? skuAmountSales.divide(BigDecimal.valueOf(bailunSkuStructure.getSkuQuantityOrderd()), 3, RoundingMode.HALF_EVEN) : BigDecimal.ZERO;
//平台费-原币种 //SKU平台费-原币种
BigDecimal skuCostPlatformFee = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getCostPlatformFee()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuCostPlatformFee = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getCostPlatformFee()).setScale(3, RoundingMode.HALF_EVEN);
BigDecimal skuCostPlatformFeeRMB = bailunSkuStructure.getSkuCostRatio().multiply(costPlatformFeeRMB).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuCostPlatformFeeRMB = bailunSkuStructure.getSkuCostRatio().multiply(costPlatformFeeRMB).setScale(3, RoundingMode.HALF_EVEN);
// Paypal费 // SKUPaypal费
BigDecimal skuPaypalFee = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getCostPaypalFee()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuPaypalFee = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getCostPaypalFee()).setScale(3, RoundingMode.HALF_EVEN);
BigDecimal skuPaypalFeeRmb = bailunSkuStructure.getSkuCostRatio().multiply(totalCostPaypalFeeRMB).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuPaypalFeeRmb = bailunSkuStructure.getSkuCostRatio().multiply(totalCostPaypalFeeRMB).setScale(3, RoundingMode.HALF_EVEN);
//如果不是国内仓并且发货了 就需要去拿头程费 //如果不是国内仓并且发货了 就需要去拿头程费
...@@ -317,7 +296,7 @@ public class OrderSyncJob extends PointJob { ...@@ -317,7 +296,7 @@ public class OrderSyncJob extends PointJob {
} }
//促销费-原币种 //促销费-原币种
BigDecimal skuCostPromotion = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getCostPromotion()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuCostPromotion = bailunSkuStructure.getSkuCostRatio().multiply(dcBaseOmsOrder.getCostPromotion()).setScale(3, RoundingMode.HALF_EVEN);
//销售额 = 平台SKU产品总售价 - 促销费(如果不是FBA, 还要加上运费收入),这个费用在订单维度已经算好,按比例摊到SKU //SKU销售额人民币
BigDecimal skuAmountSalesRMB = skuAmountSales.multiply(dcBaseOmsOrder.getSellerOrderExchangeRate()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal skuAmountSalesRMB = skuAmountSales.multiply(dcBaseOmsOrder.getSellerOrderExchangeRate()).setScale(3, RoundingMode.HALF_EVEN);
BigDecimal unitSkuAmountSalesRMB = BigDecimal.ZERO; BigDecimal unitSkuAmountSalesRMB = BigDecimal.ZERO;
//FBA费-人民币 //FBA费-人民币
...@@ -421,6 +400,10 @@ public class OrderSyncJob extends PointJob { ...@@ -421,6 +400,10 @@ public class OrderSyncJob extends PointJob {
if (i == 0) { if (i == 0) {
omsOrderMapper.insertSelective(dcBaseOmsOrder); omsOrderMapper.insertSelective(dcBaseOmsOrder);
} }
/**
* 这里存平台维度的东西到表里
* 留作他用, 不参与计算
*/
List<PlatformSku> platformSkuList = omsResult.getPlatformSku(); List<PlatformSku> platformSkuList = omsResult.getPlatformSku();
DcBaseOmsPlatformSku dcBaseOmsPlatformSku = new DcBaseOmsPlatformSku(); DcBaseOmsPlatformSku dcBaseOmsPlatformSku = new DcBaseOmsPlatformSku();
DcBaseOmsPlatformSkuMapper mapper = SessionUtil.getSession().getMapper(DcBaseOmsPlatformSkuMapper.class); DcBaseOmsPlatformSkuMapper mapper = SessionUtil.getSession().getMapper(DcBaseOmsPlatformSkuMapper.class);
...@@ -448,7 +431,7 @@ public class OrderSyncJob extends PointJob { ...@@ -448,7 +431,7 @@ public class OrderSyncJob extends PointJob {
} }
} }
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("Mybatis操作DB失败", e); throw new RuntimeException("Mybatis操作DB失败" + e.getCause().getMessage(), e);
} finally { } finally {
SessionUtil.closeSession(); SessionUtil.closeSession();
} }
...@@ -938,21 +921,42 @@ public class OrderSyncJob extends PointJob { ...@@ -938,21 +921,42 @@ public class OrderSyncJob extends PointJob {
dcBaseOmsOrder.setOrderUpdateTime(omsResult.getOrderUpdateTime()); dcBaseOmsOrder.setOrderUpdateTime(omsResult.getOrderUpdateTime());
dcBaseOmsOrder.setBailunPickingStatus(omsResult.getBailunPickingStatus()); dcBaseOmsOrder.setBailunPickingStatus(omsResult.getBailunPickingStatus());
dcBaseOmsOrder.setBailunRequireLogistics(omsResult.getBailunRequireLogistics()); dcBaseOmsOrder.setBailunRequireLogistics(omsResult.getBailunRequireLogistics());
//礼品包装收入
dcBaseOmsOrder.setAmountGiftWrap((omsResult.getOrderCharge().getAmountGiftWrap() != null && omsResult.getOrderCharge().getAmountGiftWrap().getAmount() != null) ? omsResult.getOrderCharge().getAmountGiftWrap().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountGiftWrap((omsResult.getOrderCharge().getAmountGiftWrap() != null && omsResult.getOrderCharge().getAmountGiftWrap().getAmount() != null) ? omsResult.getOrderCharge().getAmountGiftWrap().getAmount() : BigDecimal.ZERO);
//总收入
dcBaseOmsOrder.setAmountTotal((omsResult.getOrderCharge().getAmountTotal() != null && omsResult.getOrderCharge().getAmountTotal().getAmount() != null) ? omsResult.getOrderCharge().getAmountTotal().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountTotal((omsResult.getOrderCharge().getAmountTotal() != null && omsResult.getOrderCharge().getAmountTotal().getAmount() != null) ? omsResult.getOrderCharge().getAmountTotal().getAmount() : BigDecimal.ZERO);
//运费收入
dcBaseOmsOrder.setAmountShipping((omsResult.getOrderCharge().getAmountShipping() != null && omsResult.getOrderCharge().getAmountShipping().getAmount() != null) ? omsResult.getOrderCharge().getAmountShipping().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountShipping((omsResult.getOrderCharge().getAmountShipping() != null && omsResult.getOrderCharge().getAmountShipping().getAmount() != null) ? omsResult.getOrderCharge().getAmountShipping().getAmount() : BigDecimal.ZERO);
//产品收入或产品金额
dcBaseOmsOrder.setAmountProduct((omsResult.getOrderCharge().getAmountProduct() != null && omsResult.getOrderCharge().getAmountProduct().getAmount() != null) ? omsResult.getOrderCharge().getAmountProduct().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountProduct((omsResult.getOrderCharge().getAmountProduct() != null && omsResult.getOrderCharge().getAmountProduct().getAmount() != null) ? omsResult.getOrderCharge().getAmountProduct().getAmount() : BigDecimal.ZERO);
//税费
dcBaseOmsOrder.setAmountTax((omsResult.getOrderCharge().getAmountTax() != null && omsResult.getOrderCharge().getAmountTax().getAmount() != null) ? omsResult.getOrderCharge().getAmountTax().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountTax((omsResult.getOrderCharge().getAmountTax() != null && omsResult.getOrderCharge().getAmountTax().getAmount() != null) ? omsResult.getOrderCharge().getAmountTax().getAmount() : BigDecimal.ZERO);
//调整费
dcBaseOmsOrder.setAmountAdjustment((omsResult.getOrderCharge().getAmountAdjustment() != null && omsResult.getOrderCharge().getAmountAdjustment().getAmount() != null) ? omsResult.getOrderCharge().getAmountAdjustment().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setAmountAdjustment((omsResult.getOrderCharge().getAmountAdjustment() != null && omsResult.getOrderCharge().getAmountAdjustment().getAmount() != null) ? omsResult.getOrderCharge().getAmountAdjustment().getAmount() : BigDecimal.ZERO);
//运费支出
dcBaseOmsOrder.setCostShipping((omsResult.getOrderCharge().getCostShipping() != null && omsResult.getOrderCharge().getCostShipping().getAmount() != null) ? omsResult.getOrderCharge().getCostShipping().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setCostShipping((omsResult.getOrderCharge().getCostShipping() != null && omsResult.getOrderCharge().getCostShipping().getAmount() != null) ? omsResult.getOrderCharge().getCostShipping().getAmount() : BigDecimal.ZERO);
//FBA费
dcBaseOmsOrder.setCostFbaFee((omsResult.getOrderCharge().getCostFbaFee() != null && omsResult.getOrderCharge().getCostFbaFee().getAmount() != null) ? omsResult.getOrderCharge().getCostFbaFee().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setCostFbaFee((omsResult.getOrderCharge().getCostFbaFee() != null && omsResult.getOrderCharge().getCostFbaFee().getAmount() != null) ? omsResult.getOrderCharge().getCostFbaFee().getAmount() : BigDecimal.ZERO);
//Paypal费
dcBaseOmsOrder.setCostPaypalFee((omsResult.getOrderCharge().getCostPaypalFee() != null && omsResult.getOrderCharge().getCostPaypalFee().getAmount() != null) ? omsResult.getOrderCharge().getCostPaypalFee().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setCostPaypalFee((omsResult.getOrderCharge().getCostPaypalFee() != null && omsResult.getOrderCharge().getCostPaypalFee().getAmount() != null) ? omsResult.getOrderCharge().getCostPaypalFee().getAmount() : BigDecimal.ZERO);
//产品成本
dcBaseOmsOrder.setCostProduct((omsResult.getOrderCharge().getCostProduct() != null && omsResult.getOrderCharge().getCostProduct().getAmount() != null) ? omsResult.getOrderCharge().getCostProduct().getAmount() : BigDecimal.ZERO); dcBaseOmsOrder.setCostProduct((omsResult.getOrderCharge().getCostProduct() != null && omsResult.getOrderCharge().getCostProduct().getAmount() != null) ? omsResult.getOrderCharge().getCostProduct().getAmount() : BigDecimal.ZERO);
//促销费
dcBaseOmsOrder.setCostPromotion((omsResult.getOrderCharge().getCostPromotion() != null && omsResult.getOrderCharge().getCostPromotion().getAmount() != null) ? omsResult.getOrderCharge().getCostPromotion().getAmount() : BigDecimal.ZERO);
//平台渠道费
dcBaseOmsOrder.setCostPlatformFee((omsResult.getOrderCharge().getCostPlatformFee() != null && omsResult.getOrderCharge().getCostPlatformFee().getAmount() != null) ? omsResult.getOrderCharge().getCostPlatformFee().getAmount() : BigDecimal.ZERO);
//百伦处理费,自己的仓库操作费 - 需要计算的费用给个默认值
dcBaseOmsOrder.setCostHandleBailun(BigDecimal.ZERO); dcBaseOmsOrder.setCostHandleBailun(BigDecimal.ZERO);
//第三方仓库操作费 - 需要计算的费用给个默认值
dcBaseOmsOrder.setCostHandlePlatform(BigDecimal.ZERO); dcBaseOmsOrder.setCostHandlePlatform(BigDecimal.ZERO);
//尾程费 - 需要计算的费用给个默认值
dcBaseOmsOrder.setCostTail(BigDecimal.ZERO); dcBaseOmsOrder.setCostTail(BigDecimal.ZERO);
//头程费 - 需要计算的费用给个默认值
dcBaseOmsOrder.setCostFirst(BigDecimal.ZERO); dcBaseOmsOrder.setCostFirst(BigDecimal.ZERO);
//退款金额 - 需要计算的费用给个默认值
dcBaseOmsOrder.setAmountRefund(BigDecimal.ZERO); dcBaseOmsOrder.setAmountRefund(BigDecimal.ZERO);
//销售额 - 需要计算的费用给个默认值
dcBaseOmsOrder.setAmountSales(BigDecimal.ZERO);
if (omsResult.getRefundInfo() !=null) { if (omsResult.getRefundInfo() !=null) {
dcBaseOmsOrder.setRefundTime(omsResult.getRefundInfo().getRefundTime()); dcBaseOmsOrder.setRefundTime(omsResult.getRefundInfo().getRefundTime());
dcBaseOmsOrder.setBailunRefundStatus(omsResult.getRefundInfo().getRefundStatus()); dcBaseOmsOrder.setBailunRefundStatus(omsResult.getRefundInfo().getRefundStatus());
......
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