Commit 45125e7a by jianshuqin

优化Walmart退款金额

parent e89f77e7
......@@ -5,13 +5,16 @@ import com.alibaba.fastjson.JSONObject;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.entity.DcBaseCrmRefund;
import com.bailuntec.domain.entity.DcBaseOmsOrder;
import com.bailuntec.domain.entity.DcBaseOmsSku;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.domain.example.DcBaseCrmRefundExample;
import com.bailuntec.domain.example.DcBaseOmsOrderExample;
import com.bailuntec.domain.example.DcBaseOmsSkuExample;
import com.bailuntec.domain.pojo.RefundDetails;
import com.bailuntec.domain.pojo.RefundItem;
import com.bailuntec.mapper.DcBaseCrmRefundMapper;
import com.bailuntec.mapper.DcBaseOmsOrderMapper;
import com.bailuntec.mapper.DcBaseOmsSkuMapper;
import com.bailuntec.support.PointJob;
import com.bailuntec.utils.OkHttpUtil;
import com.bailuntec.utils.PropertiesUtil;
......@@ -25,7 +28,9 @@ import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.RoundingMode;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
......@@ -110,6 +115,29 @@ public class CrmRefundSyncJob extends PointJob {
}
}
}
//
if (dcBaseCrmRefund.getPlatformType().equalsIgnoreCase("walmart")) {
try {
DcBaseOmsSkuMapper omsSkuMapper = SessionUtil.getSession().getMapper(DcBaseOmsSkuMapper.class);
DcBaseOmsSku dcBaseOmsSku = omsSkuMapper.selectOneByExample(DcBaseOmsSkuExample.newAndCreateCriteria().andBailunAccountIdEqualTo(dcBaseCrmRefund.getBailunAccountId()).andOriginOrderIdEqualTo(dcBaseCrmRefund.getOriginOrderId()).andBailunSkuEqualTo((dcBaseCrmRefund.getBailunSku())).example());
if (dcBaseOmsSku != null && dcBaseOmsSku.getAmountTax() != null && dcBaseOmsSku.getAmountTax().compareTo(BigDecimal.ZERO) > 0) {
if (refundItem.getAmountRefund().compareTo(dcBaseOmsSku.getAmountTax()) > 0) {
//退款数量
int refundQuantity = refundItem.getAmountRefund().divide(dcBaseOmsSku.getAmountProduct(), 0, RoundingMode.HALF_UP).intValue();
//退款金额
BigDecimal amountRefund = refundItem.getAmountRefund().subtract(dcBaseOmsSku.getAmountTax().multiply(BigDecimal.valueOf(refundQuantity)));
//退款汇率
BigDecimal exchangeRate = BigDecimal.ONE;
if (refundItem.getAmountRefundRmb().compareTo(refundItem.getAmountRefund()) >= 0) {
exchangeRate = refundItem.getAmountRefundRmb().divide(refundItem.getAmountRefund(), 5, RoundingMode.HALF_UP);
}
dcBaseCrmRefund.setAmountRefund(amountRefund);
dcBaseCrmRefund.setAmountRefundUsd(amountRefund);
dcBaseCrmRefund.setAmountRefundRmb(amountRefund.multiply(exchangeRate));
}
}
} finally {}
}
}
DcBaseCrmRefundMapper mapper = SessionUtil.getSession().getMapper(DcBaseCrmRefundMapper.class);
int i = mapper.updateByExampleSelective(dcBaseCrmRefund, DcBaseCrmRefundExample.newAndCreateCriteria().andCrmIdEqualTo(dcBaseCrmRefund.getCrmId()).example());
......
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