コード例 #1
0
ファイル: OrderService.cs プロジェクト: adteven/alabo
        /// <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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
ファイル: OrderService.cs プロジェクト: adteven/alabo
        /// <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));
        }