/// <summary> /// 获取订单邮费 /// </summary> public ServiceResult UpdateExpressAmount(OrderExpressViewModel orderExpressInput) { var result = new OrderExpressViewModel(); var order = Resolve <IOrderService>().GetSingle(r => r.Id == orderExpressInput.OrderId); if (order == null) { return(ServiceResult.Failure("订单不存在")); } var user = Resolve <IUserService>().GetSingle(orderExpressInput.LoginUserId); if (user == null) { return(ServiceResult.Failure("当前用户不存在!")); } var pay = Resolve <IPayService>().GetSingle(p => p.Id == order.PayId); if (pay == null) { return(ServiceResult.Failure("订单支付信息不存在")); } //order info order.OrderExtension.OrderAmount.ExpressAmount = orderExpressInput.ExpressAmount; order.OrderExtension.OrderAmount.ExpressDescription = orderExpressInput.ExpressDescription; order.Extension = order.OrderExtension.ToJson(); order.PaymentAmount = order.OrderExtension.OrderAmount.TotalProductAmount + orderExpressInput.ExpressAmount; order.TotalAmount = order.PaymentAmount; //pay info pay.Amount = order.PaymentAmount; pay.PayExtension = pay.Extensions.ToObject <PayExtension>(); pay.PayExtension.TotalAmount = pay.Amount; pay.Extensions = pay.PayExtension.ToJson(); var context = Repository <IOrderRepository>().RepositoryContext; try { context.BeginTransaction(); //update order amount Resolve <IOrderService>().Update(order); //add order action Resolve <IOrderActionService>().Add(order, user, OrderActionType.AdminEditExpressAmount); //pay Resolve <IPayService>().Update(pay); context.CommitTransaction(); } catch (Exception ex) { context.RollbackTransaction(); return(ServiceResult.Failure($"修改邮费异常,{ex.Message}")); } finally { context.DisposeTransaction(); } return(ServiceResult.Success); }
public ApiResult UpdateExpressAmount([FromBody] OrderExpressViewModel orderExpressInput) { if (!this.IsFormValid()) { return(ApiResult.Failure(this.FormInvalidReason(), MessageCodes.ParameterValidationFailure)); } var result = Resolve <IOrderService>().UpdateExpressAmount(orderExpressInput); return(ToResult(result)); }
/// <summary> /// 获取订单邮费 /// </summary> public Tuple <ServiceResult, OrderExpressViewModel> GetExpressAmount(long orderId) { var result = new OrderExpressViewModel(); var order = Resolve <IOrderService>().GetSingle(r => r.Id == orderId); if (order == null) { return(Tuple.Create(ServiceResult.Failure("订单不存在"), result)); } var orderExpress = order.Extension.ToObject <OrderExtension>(); if (orderExpress == null || orderExpress.OrderAmount == null) { return(Tuple.Create(ServiceResult.Failure("订单数据异常"), result)); } result.OrderId = orderId; result.ExpressAmount = orderExpress.OrderAmount.ExpressAmount; result.CalculateExpressAmount = orderExpress.OrderAmount.CalculateExpressAmount; result.ExpressDescription = orderExpress.OrderAmount.ExpressDescription; return(Tuple.Create(ServiceResult.Success, result)); }