@Override
 @Transactional(propagation = Propagation.REQUIRES_NEW)
 public Delivery addQueryTime(Long deliveryId) {
   Delivery delivery = deliveryManagement.findDeliveryById(deliveryId);
   Assert.notNull(delivery, "delivery is not found! id:" + deliveryId);
   delivery.setQueryTimes(delivery.getQueryTimes() + 1);
   deliveryManagement.addQueryTimes(delivery.getQueryTimes(), delivery.getDeliveryId());
   return delivery;
 }
  @Override
  @Transactional
  public void handleRequest() throws HopsException {
    Delivery delivery = (Delivery) ActionContextUtil.getActionContextParam(ActionMapKey.DELIVERY);
    try {
      Integer deliveryStatus = delivery.getDeliveryStatus();
      logger.debug(
          "修改发货记录状态(DELIVERY_STATUS_WAIT->DELIVERY_STATUS_SENDING) [开始]"
              + delivery.getDeliveryId());
      delivery =
          (Delivery)
              deliveryStatusManagementServiceImpl.updateStatus(
                  delivery.getDeliveryId(),
                  delivery.getDeliveryStatus(),
                  Constant.Delivery.DELIVERY_STATUS_SENDING);
      // deliveryManagement.updateDeliveryStatus(delivery.getDeliveryStatus(), deliveryStatus,
      // delivery.getDeliveryId());
      delivery = deliveryManagement.save(delivery);
      logger.debug(
          "修改发货记录状态(DELIVERY_STATUS_WAIT->DELIVERY_STATUS_SENDING) [结束]"
              + delivery.getDeliveryId());

      ActionContextUtil.setActionContext(ActionMapKey.DELIVERY, delivery);
    } catch (Exception e) {
      logger.error(
          "deliveryStatusSendingAction happen Exception caused by "
              + ExceptionUtil.getStackTraceAsString(e));
      throw new ApplicationException(
          "transaction002006", new String[] {ExceptionUtil.getStackTraceAsString(e)}, e);
    }
  }