Exemple #1
0
  @Override
  public Double handleSoItem(
      Tuple tuple, JumpMQOrderVo parentOrder, JumpMQOrderVo order, JumpMQOrderItemVo soItem) {
    // 业务逻辑,如果金额和积分同时为零,则不算成交
    if (!BusinessLogic.isTransation(soItem)) {
      return 0D;
    }

    // 积分兑换
    if (soItem.getOrderItemAmount().compareTo(new BigDecimal("0")) == 0) {
      return 0D;
    }

    // 成交净额口径
    double pmNetAmt =
        soItem.getOrderItemAmount().doubleValue()
            - soItem.getPromotionAmount().doubleValue()
            - soItem.getCouponAmount().doubleValue()
            - soItem.getOrderItemAmount().doubleValue()
                / order.getOrderAmount().doubleValue()
                * order.getOrderPaidByRebate().doubleValue();

    logger.info("pmNetAmt:" + pmNetAmt + soItem.baseInfo());
    return pmNetAmt;
  }