protected override GetSalesReturnDetailRD ProcessRequest(DTO.Base.APIRequest <GetSalesReturnDetailRP> pRequest)
        {
            var rd   = new GetSalesReturnDetailRD();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var salesReturnBLL     = new T_SalesReturnBLL(loggingSessionInfo);
            var historyBLL         = new T_SalesReturnHistoryBLL(loggingSessionInfo);

            var inoutService      = new InoutService(loggingSessionInfo);
            var tInoutDetailBll   = new TInoutDetailBLL(loggingSessionInfo);
            var inoutBLL          = new T_InoutBLL(CurrentUserInfo);
            var salesReturnEntity = salesReturnBLL.GetByID(para.SalesReturnID);
            var PaymentTtpeBLL    = new T_Payment_TypeBLL(loggingSessionInfo);

            if (salesReturnEntity != null)
            {
                var orderInfo = inoutBLL.GetByID(salesReturnEntity.OrderID);

                rd.SalesReturnID = salesReturnEntity.SalesReturnID.ToString();
                rd.SalesReturnNo = salesReturnEntity.SalesReturnNo;
                rd.OrderID       = salesReturnEntity.OrderID;

                rd.OrderNo = orderInfo.order_no;

                rd.Status       = salesReturnEntity.Status;
                rd.DeliveryType = salesReturnEntity.DeliveryType;
                rd.Reason       = salesReturnEntity.Reason;
                rd.Qty          = salesReturnEntity.Qty;
                rd.ActualQty    = salesReturnEntity.ActualQty;
                rd.Contacts     = salesReturnEntity.Contacts;
                rd.Phone        = salesReturnEntity.Phone;
                rd.Address      = string.Empty;

                if (orderInfo != null)
                {
                    rd.Address = orderInfo.Field4;
                }
                rd.ServicesType = salesReturnEntity.ServicesType;

                //根据订单ID获取订单明细[复用]
                DataRow drItem = inoutService.GetOrderDetailByOrderId(salesReturnEntity.OrderID).Tables[0].Select(" item_id= '" + salesReturnEntity.ItemID + "'").FirstOrDefault();
                //获取商品的图片[复用]
                //string itemImage = tInoutDetailBll.GetOrderDetailImageList("'" + salesReturnEntity.ItemID + "'").Tables[0].Rows[0]["imageUrl"].ToString();
                string  itemImage = string.Empty;
                DataSet ds        = tInoutDetailBll.GetOrderDetailImageList("'" + salesReturnEntity.ItemID + "'");
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    itemImage = ds.Tables[0].Rows[0]["imageUrl"].ToString();
                }

                //获取订单详细列表中的商品规格[复用]
                DataRow[] drSku = inoutService.GetInoutDetailGgByOrderId(salesReturnEntity.OrderID).Tables[0].Select(" sku_id='" + salesReturnEntity.SkuID + "'");

                //订单的商品信息
                var orderDetail = new OrderInfoDetail();

                orderDetail.ItemName   = drItem["item_name"].ToString();
                orderDetail.SalesPrice = Convert.ToDecimal(drItem["enter_price"]);
                orderDetail.Qty        = Convert.ToInt32(drItem["enter_qty"]);
                if (!string.IsNullOrEmpty(itemImage))
                {
                    orderDetail.ImageUrl = ImagePathUtil.GetImagePathStr(itemImage, "240");
                }

                orderDetail.PayTypeName = salesReturnEntity.PayTypeName;
                //支付方式名称
                var    OrderData     = inoutBLL.GetByID(salesReturnEntity.OrderID);
                string m_PayTypeName = "";
                if (OrderData != null)
                {
                    var PayTypeData = PaymentTtpeBLL.GetByID(OrderData.pay_id);
                    if (PayTypeData != null)
                    {
                        m_PayTypeName = PayTypeData.Payment_Type_Name;
                    }
                }
                orderDetail.PayTypeName = m_PayTypeName;


                orderDetail.RefundAmount  = salesReturnEntity.RefundAmount == null ? 0 : salesReturnEntity.RefundAmount.Value;
                orderDetail.ConfirmAmount = salesReturnEntity.ConfirmAmount == null ? 0 : salesReturnEntity.ConfirmAmount.Value;
                rd.OrderDetail            = orderDetail;
                //订单的商品规格
                if (drSku.Count() > 0)
                {
                    SkuDetailInfo skuDetail = new SkuDetailInfo();
                    skuDetail.PropName1       = drSku[0]["prop_1_name"].ToString();
                    skuDetail.PropDetailName1 = drSku[0]["prop_1_detail_name"].ToString();
                    skuDetail.PropName2       = drSku[0]["prop_2_name"].ToString();
                    skuDetail.PropDetailName2 = drSku[0]["prop_2_detail_name"].ToString();
                    skuDetail.PropName3       = drSku[0]["prop_3_name"].ToString();
                    skuDetail.PropDetailName3 = drSku[0]["prop_3_detail_name"].ToString();
                    rd.OrderDetail.SkuDetail  = skuDetail;
                }
                var history = historyBLL.QueryByEntity(new T_SalesReturnHistoryEntity()
                {
                    SalesReturnID = salesReturnEntity.SalesReturnID
                }, new[] { new OrderBy {
                               FieldName = "CreateTime", Direction = OrderByDirections.Desc
                           } });
                rd.HistoryList = history.Select(t => new HistoryInfo()
                {
                    HistoryID = t.HistoryID.ToString(), OperationDesc = t.OperationDesc, HisRemark = t.HisRemark, OperatorName = t.OperatorName, CreateTime = t.CreateTime.Value.ToString("yyyy-MM-dd HH:mm")
                }).ToArray();
            }
            return(rd);
        }
        protected override GetRefundOrderDetailRD ProcessRequest(DTO.Base.APIRequest <GetRefundOrderDetailRP> pRequest)
        {
            var rd   = new GetRefundOrderDetailRD();
            var para = pRequest.Parameters;

            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var refundOrderBLL     = new T_RefundOrderBLL(loggingSessionInfo);

            var inoutService    = new InoutService(loggingSessionInfo);
            var tInoutDetailBll = new TInoutDetailBLL(loggingSessionInfo);
            var t_InoutBLL      = new T_InoutBLL(loggingSessionInfo);
            var PaymentTtpeBLL  = new T_Payment_TypeBLL(loggingSessionInfo);
            var refundEntity    = refundOrderBLL.GetByID(para.RefundID);

            if (refundEntity != null)
            {
                rd.RefundID           = refundEntity.RefundID;
                rd.RefundNo           = refundEntity.RefundNo;
                rd.Status             = refundEntity.Status;
                rd.OrderNo            = refundEntity.OrderNo;
                rd.Contacts           = refundEntity.Contacts;
                rd.Phone              = refundEntity.Phone;
                rd.ConfirmAmount      = refundEntity.ConfirmAmount;
                rd.ActualRefundAmount = refundEntity.ActualRefundAmount;
                rd.Points             = refundEntity.Points == null ? 0 : refundEntity.Points;
                rd.PointsAmount       = refundEntity.PointsAmount == null ? 0 : refundEntity.PointsAmount;
                rd.ReturnAmount       = refundEntity.ReturnAmount == null ? 0 : refundEntity.RefundAmount;
                rd.Amount             = refundEntity.Amount == null ? 0 : refundEntity.Amount;

                //支付方式名称
                var    OrderData     = t_InoutBLL.GetByID(refundEntity.OrderID);
                string m_PayTypeName = "";
                if (OrderData != null)
                {
                    var PayTypeData = PaymentTtpeBLL.GetByID(OrderData.pay_id);
                    if (PayTypeData != null)
                    {
                        m_PayTypeName = PayTypeData.Payment_Type_Name;
                    }
                }
                rd.PayTypeName = m_PayTypeName;


                rd.PayOrderID = refundEntity.PayOrderID;
                rd.OrderID    = refundEntity.OrderID;
                rd.ItemID     = refundEntity.ItemID;

                if (!string.IsNullOrEmpty(refundEntity.ItemID)) //取消订单时,直接跳转到订单详情
                {
                    //根据订单ID获取订单明细[复用]
                    DataRow drItem = inoutService.GetOrderDetailByOrderId(refundEntity.OrderID).Tables[0].Select(" item_id= '" + refundEntity.ItemID + "'").FirstOrDefault();
                    //获取商品的图片[复用]
                    string  itemImage = string.Empty;
                    DataSet ds        = tInoutDetailBll.GetOrderDetailImageList("'" + refundEntity.ItemID + "'");
                    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                    {
                        itemImage = ds.Tables[0].Rows[0]["imageUrl"].ToString();
                    }
                    //获取订单详细列表中的商品规格[复用]
                    DataRow[] drSku = inoutService.GetInoutDetailGgByOrderId(refundEntity.OrderID).Tables[0].Select(" sku_id='" + refundEntity.SkuID + "'");

                    //订单的商品信息
                    var orderDetail = new OrderInfoDetail();

                    orderDetail.ItemName   = drItem["item_name"].ToString();
                    orderDetail.SalesPrice = Convert.ToDecimal(drItem["enter_price"]);
                    orderDetail.Qty        = Convert.ToInt32(drItem["enter_qty"]);
                    if (!string.IsNullOrEmpty(itemImage))
                    {
                        orderDetail.ImageUrl = ImagePathUtil.GetImagePathStr(itemImage, "240");
                    }
                    rd.OrderDetail = orderDetail;
                    //订单的商品规格
                    if (drSku.Count() > 0)
                    {
                        SkuDetailInfo skuDetail = new SkuDetailInfo();
                        skuDetail.PropName1       = drSku[0]["prop_1_name"].ToString();
                        skuDetail.PropDetailName1 = drSku[0]["prop_1_detail_name"].ToString();
                        skuDetail.PropName2       = drSku[0]["prop_2_name"].ToString();
                        skuDetail.PropDetailName2 = drSku[0]["prop_2_detail_name"].ToString();
                        skuDetail.PropName3       = drSku[0]["prop_3_name"].ToString();
                        skuDetail.PropDetailName3 = drSku[0]["prop_3_detail_name"].ToString();
                        rd.OrderDetail.SkuDetail  = skuDetail;
                    }
                }
            }
            return(rd);
        }