コード例 #1
0
 /// <summary>
 /// 后台取消已付款为发货订单
 /// </summary>
 /// <param name="orderCancelCauseId">
 /// 订单编码
 /// </param>
 /// <param name="cancelDescription">
 /// 取消订单备注
 /// </param>
 /// <param name="refund">
 /// 退款对象
 /// </param>
 /// <returns>
 /// 操作结果:0-订单状态异常,1-操作成功,2-已发货,3-订单已取消、损失或者作废,4-订单未付款
 /// </returns>
 public int OrderCancelRefundByBackstage(int orderCancelCauseId, string cancelDescription, Aftersale_Refund refund)
 {
     var orderCancel = new Order_Cancel
                           {
                               OrderID = refund.OrderID,
                               OrderCancelCauseID = orderCancelCauseId,
                               Description = cancelDescription,
                               EmployeeID = refund.EmployeeID
                           };
     return this.orderCancelDA.OrderCancelWithRefundByBackstage(orderCancel, refund);
 }
コード例 #2
0
        /// <summary>
        /// 后台取消已付款未发货订单
        /// </summary>
        /// <param name="orderCancelCauseID">
        /// 订单取消原因编码
        /// </param>
        /// <param name="cancelDescription">
        /// 订单取消备注
        /// </param>
        /// <param name="refund">
        /// 取消对象
        /// </param>
        /// <returns>
        /// 操作状态
        /// </returns>
        public int OrderCancelRefundByBackstage(
            int orderCancelCauseID,
            string cancelDescription,
            Aftersale_Refund refund)
        {
            var state = new OrderCancelService().OrderCancelRefundByBackstage(
                orderCancelCauseID,
                cancelDescription,
                refund);
            if (state == 1)
            {
                // 取消成功时,写订单修改日志
                try
                {
                    var orderStatusLogService = new OrderStatusLogService();
                    orderStatusLogService.Insert(
                        new Order_Status_Log
                        {
                            EmployeeID = refund.EmployeeID,
                            OrderID = refund.OrderID,
                            Remark = cancelDescription,
                            Status = 6
                        },
                        null);
                }
                catch (Exception exception)
                {
                    TextLogger.Instance.Log(
                        string.Format("后台取消订单--订单状态日志写入错误.(订单编码:{0},操作员编码:{1})", refund.OrderID, refund.EmployeeID),
                        Category.Error,
                        exception);
                }
            }

            return state;
        }
コード例 #3
0
        /// <summary>
        /// 后台取消已付款未发货订单
        /// </summary>
        /// <param name="orderCancel">
        /// 订单取消对象
        /// </param>
        /// <param name="refund">
        /// 售后退款对象
        /// </param>
        /// <returns>
        /// 操作结果:0-订单状态异常,1-操作成功,2-已发货,3-订单已取消、损失或者作废,4-订单未付款
        /// </returns>
        public int OrderCancelWithRefundByBackstage(Order_Cancel orderCancel, Aftersale_Refund refund)
        {
            /**
            Create Procedure sp_Order_Cancel_Refund
                @OrderID int,
                @OrderCancelCauseID int,
                @EmployeeID int = default,
                @UserID int =default, --后台操作,则为空
                @CancelDescription ntext=default,
                @RefundMethodID int, --退款方式编号(1:退至虚拟账户,2:人工退款至指定帐号)
                @ActualRefundMoney float, --实际退款金额
                @RefundDescription nvarchar(512)=default,
                @CreateTime datetime,
                @Result int output
            As
             * **/
            var paras = new List<SqlParameter>
                            {
                                this.SqlServer.CreateSqlParameter(
                                    "OrderID",
                                    SqlDbType.Int,
                                    orderCancel.OrderID,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "OrderCancelCauseID",
                                    SqlDbType.Int,
                                    orderCancel.OrderCancelCauseID,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "EmployeeID",
                                    SqlDbType.Int,
                                    orderCancel.EmployeeID,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "CancelDescription",
                                    SqlDbType.NVarChar,
                                    orderCancel.Description,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "RefundMethodID",
                                    SqlDbType.Int,
                                    refund.RefundMethodID,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "ActualRefundMoney",
                                    SqlDbType.Float,
                                    refund.ActualRefundMoney,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "RefundDescription",
                                    SqlDbType.NVarChar,
                                    refund.RefundDescription,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "CreateTime",
                                    SqlDbType.DateTime,
                                    DateTime.Now,
                                    ParameterDirection.Input),
                                this.SqlServer.CreateSqlParameter(
                                    "Result",
                                    SqlDbType.Int,
                                    null,
                                    ParameterDirection.Output)
                            };

            this.SqlServer.ExecuteNonQuery(CommandType.StoredProcedure, "sp_Order_Cancel_Refund", paras, null);
            return (int)paras.Find(p => p.ParameterName == "Result").Value;
        }