Commit de5572af by yinyong

去除利润率

parent a8ca6978
......@@ -49,22 +49,21 @@ public class RefundLinkOrderJob extends PointJob {
if (dcBaseCrmRefundList != null && dcBaseCrmRefundList.size() > 0) {
for (DcBaseCrmRefund dcBaseCrmRefund : dcBaseCrmRefundList) {
log.warn(dcBaseCrmRefund.getOriginOrderId() +"------" + dcBaseCrmRefund.getBailunAccountId() +"------" + dcBaseCrmRefund.getBailunSku());
DcBaseOmsSku dcBaseOmsSku = null;
DcBaseOmsOrder dcBaseOmsOrder = null;
switch (dcBaseCrmRefund.getPlatformType().toUpperCase()) {
case "EBAY":
dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andTransactionIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo(dcBaseCrmRefund.getBailunSku()).example());
// dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andTransactionIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo(dcBaseCrmRefund.getBailunSku()).example());
dcBaseOmsOrder = omsOrderMapper.selectOneByExample(DcBaseOmsOrderExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andTransactionIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).example());
break;
case "WALMART":
dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andBuyerIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo(dcBaseCrmRefund.getBailunSku()).example());
// dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andBuyerIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo(dcBaseCrmRefund.getBailunSku()).example());
dcBaseOmsOrder = omsOrderMapper.selectOneByExample(DcBaseOmsOrderExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andBuyerIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).example());
break;
default:
dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andOriginOrderIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo(dcBaseCrmRefund.getBailunSku()).example());
// dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andOriginOrderIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo(dcBaseCrmRefund.getBailunSku()).example());
dcBaseOmsOrder = omsOrderMapper.selectOneByExample(DcBaseOmsOrderExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andOriginOrderIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).example());
}
if (dcBaseOmsOrder != null && dcBaseOmsSku != null) {
if (dcBaseOmsOrder != null) {
//利润要减去退款
//利润率要重算
dcBaseOmsOrder.setAmountRefund(dcBaseOmsOrder.getAmountRefund() != null ? dcBaseOmsOrder.getAmountRefund().add(dcBaseCrmRefund.getAmountRefund()) : dcBaseCrmRefund.getAmountRefund());
......@@ -73,18 +72,7 @@ public class RefundLinkOrderJob extends PointJob {
dcBaseOmsOrder.setProfitTotal(profit);
BigDecimal amountSales = dcBaseOmsOrder.getAmountSales().multiply(dcBaseOmsOrder.getSellerOrderExchangeRate());
dcBaseOmsOrder.setProfitRate(amountSales.compareTo(BigDecimal.ZERO) == 0?BigDecimal.ZERO : profit.divide(amountSales,5,RoundingMode.HALF_EVEN));
//利润要减去退款
//利润率要重算
BigDecimal quantityOrderedDecimal = BigDecimal.valueOf(dcBaseOmsSku.getBailunSkuQuantityOrdered());
//退款摊到单个SKU
dcBaseOmsSku.setAmountRefund(dcBaseCrmRefund.getAmountRefund().divide(quantityOrderedDecimal.compareTo(BigDecimal.ZERO) == 1? quantityOrderedDecimal : BigDecimal.ONE, 3, RoundingMode.HALF_EVEN));
dcBaseOmsSku.setRefundTime(dcBaseCrmRefund.getRefundTime());
BigDecimal profitSku = dcBaseOmsSku.getProfitTotal().subtract(dcBaseOmsSku.getAmountRefund().multiply(dcBaseOmsSku.getSellerOrderExchangeRate())).setScale(3, RoundingMode.HALF_EVEN);
dcBaseOmsSku.setProfitTotal(profitSku);
BigDecimal amountSalesSku = dcBaseOmsSku.getAmountSales().multiply(dcBaseOmsSku.getSellerOrderExchangeRate());
dcBaseOmsOrder.setProfitRate(amountSalesSku.compareTo(BigDecimal.ZERO) == 0?BigDecimal.ZERO : profitSku.divide(amountSalesSku,5,RoundingMode.HALF_EVEN));
dcBaseCrmRefund.setLinked(true);
// omsSkuMapper.updateByPrimaryKeySelective(dcBaseOmsSku);
try{
DcBaseCrmRefundMapper refundMapper2 = SessionUtil.getTranstionSession().getMapper(DcBaseCrmRefundMapper.class);
DcBaseOmsOrderMapper omsOrderMapper2 = SessionUtil.getTranstionSession().getMapper(DcBaseOmsOrderMapper.class);
......
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