Ejemplo n.º 1
0
        /// <summary>
        /// 获取订单状态接口
        /// </summary>
        /// <param name="OrderId"></param>
        public static void suning_govbus_orderstatus_get(string OrderId)
        {
            var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.OrderStatusGetRequest();

            request.orderId = OrderId;
            var response = SuningClient.Execute(request);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// suning.govbus.batchprodsalestatus.get 商品上下架状态查询接口
        /// </summary>
        /// <param name="skus"></param>
        /// <returns></returns>
        public static List <SNSkuStateDto> GetSkuState(List <string> skus)
        {
            List <SNSkuStateDto> list = new List <SNSkuStateDto>();

            try
            {
                LogHelper.Info("SuningSV.GetSkuState 批量获取苏宁商品上下架状态");
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.BatchProdSaleStatusGetRequest();
                request.skuIds = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.BatchProdSaleStatusGetSkuIdsReq>();
                foreach (var item in skus)
                {
                    var state = new snsdk.suning_api_sdk.Models.CustomGovbusModel.BatchProdSaleStatusGetSkuIdsReq();
                    state.skuId = item;
                    request.skuIds.Add(state);
                }
                var result = SuningClient.Execute(request);
                if (result.onShelvesList != null)
                {
                    foreach (var item in result.onShelvesList)
                    {
                        var skuState = new SNSkuStateDto();
                        skuState.skuId = item.skuId;
                        skuState.state = item.state;
                        list.Add(skuState);
                    }
                    return(list);
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetSkuState 批量获取苏宁商品上下架状态异常", ex);
            }
            return(list);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 取消预占库存订单接口
 /// </summary>
 public static bool suning_govbus_rejectorder_delete(Guid OrderId)
 {
     try
     {
         var relation = SNOrderItem.ObjectSet().Where(w => w.OrderId == OrderId).FirstOrDefault();
         if (relation == null)
         {
             return(false);
         }
         var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.RejectOrderDeleteRequest();
         request.orderId = relation.CustomOrderId;
         var response = SuningClient.Execute(request);
         if (response.respError == null)
         {
             return(response.unCampSuccess == "Y");
         }
         else
         {
             string Message = response.respError.error_msg + "===" + response.respError.error_msg;
             LogHelper.Error(string.Format("苏宁接口[suning.govbus.confirmorder.add]:{0}", Message));
             return(false);
         }
     }
     catch (Exception ex)
     {
         LogHelper.Error("苏宁接口[suning.govbus.confirmorder.add]Exception:" + ex.Message);
         return(false);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 未支付订单取消接口
        /// </summary>
        public static void suning_govbus_unpaidorder_cancel(string OrderId)
        {
            var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.UnpaidorderCancelRequest();

            request.orderId = OrderId;
            var response = SuningClient.Execute(request);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// suning.govbus.pricemessage.query 价格变动消息查询接口
        /// </summary>
        /// <returns></returns>
        public static List <SNPriceMessageDto> GetPriceMessage()
        {
            List <SNPriceMessageDto> list = new List <SNPriceMessageDto>();

            try
            {
                LogHelper.Info("SuningSV.GetPriceMessage 苏宁商品价格变动消息查询");
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.PricemessageQueryRequest();
                var result  = SuningClient.Execute(request);
                if (result.result != null)
                {
                    foreach (var item in result.result)
                    {
                        var priceMsg = new SNPriceMessageDto();
                        priceMsg.cmmdtyCode = item.cmmdtyCode;
                        priceMsg.cityId     = item.cityId;
                        priceMsg.time       = Convert.ToDateTime(item.time);
                        list.Add(priceMsg);
                    }
                    return(list);
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetPriceMessage 苏宁商品价格变动消息查询异常", ex);
            }
            return(list);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 判断商品是否支持退款
        /// </summary>
        /// <param name="orderServerDto"></param>
        public static List <SNGetOrderServiceReturnDTO> SNJudgeOrderServiceType(List <SNGetOrderServiceDTO> orderServerDto)
        {
            List <SNGetOrderServiceReturnDTO> retDto = new List <SNGetOrderServiceReturnDTO>();

            try
            {
                List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdextendGetSkusReq> list = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdextendGetSkusReq>();
                orderServerDto.ForEach(p =>
                {
                    list.Add(new snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdextendGetSkusReq()
                    {
                        price = p.Price,
                        skuId = p.SkuId
                    });
                });

                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ProdextendGetRequest()
                {
                    skus = list
                };
                var response = SuningClient.Execute(request);
                if (response != null)
                {
                    if (response.isSuccess.Equals("Y"))
                    {
                        response.resultInfo.ForEach(p =>
                        {
                            retDto.Add(new SNGetOrderServiceReturnDTO()
                            {
                                ReturnGoods    = p.returnGoods,
                                SkuId          = p.skuId,
                                IncreaseTicket = p.increaseTicket,
                                NoReasonTip    = p.noReasonTip,
                                NoReasonLimit  = p.noReasonLimit
                            });
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.SNJudgeOrderServiceType 判断商品是否支持退款", ex);
            }
            return(retDto);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 获取物流信息
        /// </summary>
        /// <param name="orderLogist"></param>
        /// <returns></returns>
        public static SNOrderLogistOutPutDTO SNGetOrderLogist(SNOrderLogistInputDTO orderLogist)
        {
            SNOrderLogistOutPutDTO retDto = new SNOrderLogistOutPutDTO();

            try
            {
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.OrderLogistGetRequest()
                {
                    orderId     = orderLogist.OrderId,
                    orderItemId = orderLogist.OrderItemId,
                    skuId       = orderLogist.SkuId
                };
                var response = SuningClient.Execute(request);
                if (response != null)
                {
                    List <SNOrderLogistStatusResDTO> OrderLogisticStatusList = new List <SNOrderLogistStatusResDTO>();

                    response.orderLogisticStatus.ForEach(p =>
                    {
                        OrderLogisticStatusList.Add(new SNOrderLogistStatusResDTO()
                        {
                            OperateState = p.operateState,
                            OperateTime  = p.operateTime
                        });
                    });

                    retDto = new SNOrderLogistOutPutDTO()
                    {
                        OrderId             = response.orderId,
                        OrderItemId         = response.orderItemId,
                        SkuId               = response.skuId,
                        ShippingTime        = response.shippingTime,
                        ReceiveTime         = response.receiveTime,
                        OrderLogisticStatus = OrderLogisticStatusList
                    };
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetOrderLogist 获取物流信息", ex);
            }
            return(retDto);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 获取订单物流详情
        /// </summary>
        public static List <SNOrderLogisticsDto> suning_govbus_orderlogistnew_get(SNQueryParamsDto list)
        {
            var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.OrderlogistnewGetRequest();

            request.orderId = list.OrderId;
            if (list.OrderItemIds != null)
            {
                if (list.OrderItemIds.Count > 0)
                {
                    request.orderItemIds = list.OrderItemIds.Select(Item =>
                                                                    new snsdk.suning_api_sdk.Models.CustomGovbusModel.OrderlogistnewGetOrderItemIdsReq
                    {
                        orderItemId = Item.OrderItemId,
                        skuId       = Item.SkuId
                    }).ToList();
                }
            }
            var response = SuningClient.Execute(request);

            if (response.respError != null)
            {
                return(null);
            }
            return(response.packageIds.Select(s => new SNOrderLogisticsDto
            {
                IsPackage = response.isPackage,
                OrderId = response.orderId,
                PackageId = s.packageId,
                ReceiveTime = s.receiveTime,
                ShippingTime = s.shippingTime,
                OrderItemIds = s.orderItemIds.Select(i => new OrderItemIds
                {
                    OrderItemId = i.orderItemId,
                    SkuId = i.skuId
                }).ToList(),
                OrderLogistics = s.orderLogistics.Select(j => new OrderLogistics
                {
                    OperateState = j.operateState,
                    OperateTime = j.operateTime
                }).ToList()
            }).ToList());
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 厂送商品确认收货接口
 /// </summary>
 /// <param name="ConfirmParams"></param>
 /// <returns></returns>
 public static bool suning_govbus_facproduct_confirm(SNConfirmParamsDto ConfirmParams)
 {
     try
     {
         var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.FacProductConfirmRequest();
         request.orderId        = ConfirmParams.OrderId;
         request.skuConfirmList = ConfirmParams.SkuConfirmList.Select(s =>
                                                                      new snsdk.suning_api_sdk.Models.CustomGovbusModel.FacProductConfirmSkuConfirmListReq
         {
             skuId       = s.SkuId,
             confirmTime = s.ConfirmTime
         }).ToList();
         return(SuningClient.Execute(request).apiIsSuccess == "Y");
     }
     catch (Exception ex)
     {
         LogHelper.Error("苏宁接口[suning.govbus.facproduct.confirm]:" + ex.Message);
         return(false);
     }
 }
Ejemplo n.º 10
0
        /// <summary>
        /// suning.govbus.prodimage.query 获取商品图片接口
        /// </summary>
        /// <param name="skuId"></param>
        /// <returns></returns>
        public static List <SNComPicturesDto> GetComPictures(List <string> skuId)
        {
            List <SNComPicturesDto> list = new List <SNComPicturesDto>();

            try
            {
                LogHelper.Info("SuningSV.GetComPictures 批量获取苏宁图片");
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ProdImageQueryRequest();
                request.skuIds = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdImageQuerySkuIdsReq>();
                foreach (var item in skuId)
                {
                    var sku = new snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdImageQuerySkuIdsReq();
                    sku.skuId = item;
                    request.skuIds.Add(sku);
                }
                var result = SuningClient.Execute(request);
                if (result.resultInfo != null)
                {
                    foreach (var item in result.resultInfo)
                    {
                        if (item.urls != null)
                        {
                            foreach (var model in item.urls)
                            {
                                SNComPicturesDto picture = new SNComPicturesDto();
                                picture.skuId   = item.skuId;
                                picture.path    = model.path;
                                picture.primary = model.primary;
                                list.Add(picture);
                            }
                        }
                    }
                    return(list);
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetComPictures 批量获取苏宁图片异常", ex);
            }
            return(list);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// suning.govbus.price.query 批量查询商品价格接口
        /// </summary>
        /// <param name="skuId"></param>
        /// <returns></returns>
        public static List <SNPriceDto> GetPrice(List <string> skuId)
        {
            List <SNPriceDto> list = new List <SNPriceDto>();

            try
            {
                LogHelper.Info("SuningSV.GetPrice 批量获取苏宁价格");
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.PriceQueryRequest();
                //全国统一价 传取价的城市 010-北京
                request.cityId = "010";
                request.skus   = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.PriceQuerySkusReq>();
                foreach (var item in skuId)
                {
                    var sku = new snsdk.suning_api_sdk.Models.CustomGovbusModel.PriceQuerySkusReq();
                    sku.skuId = item;
                    request.skus.Add(sku);
                }
                var result = SuningClient.Execute(request);
                if (result.skus != null)
                {
                    foreach (var item in result.skus)
                    {
                        SNPriceDto price = new SNPriceDto();
                        price.skuId        = item.skuId;
                        price.price        = item.price;
                        price.snPrice      = item.snPrice;
                        price.discountRate = item.discountRate;
                        list.Add(price);
                    }
                    return(list);
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetPrice 批量获取苏宁价格异常", ex);
            }

            return(list);
        }
Ejemplo n.º 12
0
 /// <summary>
 /// suning.govbus.category.get 获取商品目录接口
 /// </summary>
 /// <returns></returns>
 public static List <string> GetCategory()
 {
     try
     {
         List <string> list = new List <string>();
         LogHelper.Info("SuningSV.GetCategory 获取Category");
         var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.CategoryGetRequest();
         var result  = SuningClient.Execute(request);
         if (result.resultInfo != null)
         {
             foreach (var item in result.resultInfo)
             {
                 list.Add(item.categoryId);
             }
             return(list);
         }
     }
     catch (Exception ex)
     {
         LogHelper.Error("SuningSV.GetCategory 获取Category 异常", ex);
     }
     return(new List <string>());
 }
Ejemplo n.º 13
0
        /// <summary>
        /// suning.govbus.prodextend.get 查询商品扩展信息接口
        /// 通过此接口可获取商品是否支持开增票及是否支持无理由退货
        /// 1、商品是否支持开增票,可通过接口“suning.govbus.prodextend.get”获取;
        /// 2、商品是否支持无理由退货,可通过接口“suning.govbus.prodextend.get”获取;
        /// </summary>
        /// <param name="skuId"></param>
        /// <returns></returns>
        public static List <SNComExtendDto> GetComExtend(List <SNPriceDto> prices)
        {
            List <SNComExtendDto> list = new List <SNComExtendDto>();

            try
            {
                LogHelper.Info("SuningSV.GetComExtend 批量获取苏宁商品是否支持开增票及是否支持无理由退货");
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ProdextendGetRequest();
                request.skus = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdextendGetSkusReq>();
                foreach (var item in prices)
                {
                    var price = new snsdk.suning_api_sdk.Models.CustomGovbusModel.ProdextendGetSkusReq();
                    price.price = item.price;
                    price.skuId = item.skuId;
                    request.skus.Add(price);
                }
                var result = SuningClient.Execute(request);
                if (result.resultInfo != null)
                {
                    foreach (var item in result.resultInfo)
                    {
                        var model = new SNComExtendDto();
                        model.increaseTicket = item.increaseTicket;
                        model.noReasonLimit  = item.noReasonLimit;
                        model.noReasonTip    = item.noReasonTip;
                        model.returnGoods    = item.returnGoods;
                        model.skuId          = item.skuId;
                        list.Add(model);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetComExtend 批量获取苏宁商品是否支持开增票及是否支持无理由退货异常", ex);
            }
            return(list);
        }
Ejemplo n.º 14
0
 /// <summary>
 /// suning.govbus.prodpool.query 获取商品池
 /// </summary>
 /// <param name="categoryId"></param>
 /// <returns></returns>
 public static List <string> GetProdPool(string categoryId)
 {
     try
     {
         List <string> list = new List <string>();
         LogHelper.Info("SuningSV.GetProdPool 获取prodpool");
         var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ProdPoolQueryRequest();
         request.categoryId = categoryId;
         var result = SuningClient.Execute(request);
         if (result.resultInfo != null)
         {
             foreach (var item in result.resultInfo)
             {
                 list.Add(item.skuId);
             }
             return(list);
         }
     }
     catch (Exception ex)
     {
         LogHelper.Error("SuningSV.GetProdPool 获取prodpool 异常", ex);
     }
     return(new List <string>());
 }
Ejemplo n.º 15
0
 /// <summary>
 /// 创建订单接口
 /// </summary>
 public static void suning_govbus_order_add(OrderSDTO OrderInfo, Guid OrderId)
 {
     Task.Factory.StartNew(() =>
     {
         var ProductList = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.OrderAddSkuReq>();
         OrderInfo.ShoppingCartItemSDTO.ForEach(ProductItem =>
         {
             if (ThirdECommerceHelper.IsSuNingYiGou(ProductItem.AppId))
             {
                 ProductList.Add(new snsdk.suning_api_sdk.Models.CustomGovbusModel.OrderAddSkuReq
                 {
                     num       = ProductItem.CommodityNumber.ToString(),
                     skuId     = ProductItem.Code,
                     unitPrice = ProductItem.CostPrice.ToString()
                 });
             }
         });
         if (ProductList.Count > 0)
         {
             var request          = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.OrderAddRequest();
             request.sku          = ProductList;
             request.address      = OrderInfo.ReceiptAddress;
             request.amount       = OrderInfo.Price.ToString("F2");
             request.cityId       = OrderInfo.CityCode;
             request.countyId     = OrderInfo.DistrictCode;
             request.email        = string.Empty;
             request.mobile       = OrderInfo.ReceiptPhone;
             request.orderType    = "1";
             request.provinceId   = OrderInfo.ProvinceCode;
             request.receiverName = OrderInfo.ReceiptUserName;
             request.remark       = OrderInfo.Details;
             request.servFee      = "5.00";
             request.taxNo        = string.Empty;
             request.telephone    = string.Empty;
             request.townId       = OrderInfo.StreetCode;
             request.tradeNo      = string.Empty;
             request.zip          = OrderInfo.RecipientsZipCode;
             request.invoiceState = "0";
             if (OrderInfo.InvoiceInfo != null)
             {
                 request.invoiceState = OrderInfo.InvoiceInfo.InvoiceType > 0 ? "1" : "0";
                 if (OrderInfo.InvoiceInfo.InvoiceType > 0)
                 {
                     request.invoiceContent = OrderInfo.InvoiceInfo.InvoiceContent;
                     request.invoiceTitle   = OrderInfo.InvoiceInfo.InvoiceTitle;
                     request.invoiceType    = "6";
                 }
             }
             request.payment = "08";
             var response    = SuningClient.Execute(request);
             if (response.respError != null)
             {
                 string Message = response.respError.error_msg + "===" + response.respError.error_msg;
                 LogHelper.Error(string.Format("苏宁接口[suning.govbus.order.add]:{0}", Message));
             }
             else
             {
                 var SNOrderItemList = new List <SNOrderItemDTO>();
                 OrderItem.ObjectSet().Where(w => w.CommodityOrderId == OrderId)
                 .ToList()
                 .ForEach(Item =>
                 {
                     if (Item.AppId != null)
                     {
                         if (ThirdECommerceHelper.IsSuNingYiGou((Guid)Item.AppId))
                         {
                             var Procdurt = Commodity.ObjectSet()
                                            .Where(w => w.Id == Item.CommodityId)
                                            .FirstOrDefault();
                             if (Procdurt != null)
                             {
                                 var time            = DateTime.Now;
                                 var SuningProcudurt = response.skus.Where(w => w.skuId == Procdurt.JDCode)
                                                       .FirstOrDefault();
                                 SNOrderItemList.Add(new SNOrderItemDTO
                                 {
                                     Id                = Guid.NewGuid(),
                                     OrderId           = OrderId,
                                     OrderItemId       = Item.Id,
                                     OrderCode         = Procdurt.Code,
                                     CustomOrderId     = response.orderId,
                                     CustomOrderItemId = SuningProcudurt.orderItemId,
                                     CustomSkuId       = SuningProcudurt.skuId,
                                     Status            = 0,
                                     ExpressStatus     = 0,
                                     ModifiedOn        = time,
                                     DeliveryType      = 0,
                                     SubTime           = time
                                 });
                             }
                         }
                     }
                 });
                 if (SNOrderItemList.Count > 0)
                 {
                     new SNOrderItemFacade().AddSNOrderItem(SNOrderItemList);
                 }
             }
         }
     });
 }
Ejemplo n.º 16
0
        /// <summary>
        /// 整单退货接口申请
        /// http://open.suning.com/ospos/apipage/toApiMethodDetailMenu.do?interCode=suning.govbus.applyrejected.add
        /// </summary>
        /// <param name="reqDto"></param>
        /// <returns></returns>
        public static SNApplyRejectedReturnDTO ApplyRejected(SNApplyRejectedDTO reqDto)
        {
            SNApplyRejectedReturnDTO ret = new SNApplyRejectedReturnDTO();

            try
            {
                #region 将系统中自有的实体转换为苏宁自己的实体传入
                List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ApplyRejectedAddSkusReq> listApplyRejList = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ApplyRejectedAddSkusReq>();

                reqDto.SkusList.ForEach(p =>
                {
                    listApplyRejList.Add(new snsdk.suning_api_sdk.Models.CustomGovbusModel.ApplyRejectedAddSkusReq()
                    {
                        skuId = p.SkuId
                    });
                });
                snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ApplyRejectedAddRequest request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ApplyRejectedAddRequest()
                {
                    orderId = reqDto.OrderId,
                    skus    = listApplyRejList
                };

                #endregion

                snsdk.suning_api_sdk.BizResponse.CustomGovbusResponse.ApplyRejectedAddResponse response = SuningClient.Execute(request);

                #region 构造返回实体
                if (response != null)
                {
                    List <SNApplyRejectedReturnListDTO> listRet = new List <SNApplyRejectedReturnListDTO>();

                    response.infoList.ForEach(p =>
                    {
                        listRet.Add(new SNApplyRejectedReturnListDTO()
                        {
                            SkuId = p.skuId, Status = p.status, UnableReason = p.unableReason
                        });
                    });

                    ret = new SNApplyRejectedReturnDTO()
                    {
                        OrderId = response.orderId, InfoList = listRet
                    };
                }
                #endregion
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.ApplyRejected 整单退货接口申请", ex);
            }
            return(ret);
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 获取订单详情
        /// </summary>
        /// <param name="snOrderId"></param>
        /// <returns></returns>
        public static SNAfterOrderDetailDTO SNGetOrderDetailById(string snOrderId)
        {
            SNAfterOrderDetailDTO retDto = null;

            try
            {
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.OrderDetailGetRequest()
                {
                    orderId = snOrderId
                };

                var response = SuningClient.Execute(request);
                if (response != null)
                {
                    List <SNAfterOrderDetailListDTO> orderDetail = new List <SNAfterOrderDetailListDTO>();

                    response.orderItemList.ForEach(p =>
                    {
                        orderDetail.Add(new SNAfterOrderDetailListDTO()
                        {
                            /// <summary>
                            /// 商品的品牌名称
                            /// </summary>
                            BrandName = p.brandName,
                            /// <summary>
                            /// 商品编码
                            /// </summary>
                            CommdtyCode = p.commdtyCode,
                            /// <summary>
                            ///     商品名称
                            /// </summary>
                            CommdtyName = p.commdtyName,
                            /// <summary>
                            /// 希望送达时间(yyyy-MM-dd HH:mm:ss)
                            /// </summary>
                            HopeArriveTime = p.hopeArriveTime,
                            /// <summary>
                            /// 苏宁订单行号
                            /// </summary>
                            OrderItemId = p.orderItemId,
                            /// <summary>
                            /// 商品总金额=商品数量*商品单价(含运费分摊)
                            /// </summary>
                            SkuAmt = p.skuAmt,
                            /// <summary>
                            /// 商品的购买数量
                            /// </summary>
                            SkuNum = p.skuNum,
                            /// <summary>
                            ///     商品单价
                            /// </summary>
                            UnitPrice = p.unitPrice
                        });
                    });

                    retDto = new SNAfterOrderDetailDTO()
                    {
                        AccountName = response.accountName,

                        CompanyName = response.companyName,

                        CreateTime = response.createTime,

                        OrderAmt = response.orderAmt,

                        OrderId = response.orderId,

                        OrderItemList = orderDetail,

                        ReceiverAddress = response.receiverAddress,

                        ReceiverTel = response.receiverTel
                    };
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.SNGetOrderDetailById 获取订单详情", ex);
            }
            return(retDto);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// suning.govbus.proddetail.get 获取商品详情接口
        /// </summary>
        /// <param name="skuId"></param>
        /// <returns></returns>
        public static SNComDetailDto GetSNDetail(string skuId)
        {
            SNComDetailDto SnDetail = new SNComDetailDto();

            try
            {
                LogHelper.Info("SuningSV.GetSNDetail 获取proddetail");
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ProdDetailGetRequest();
                request.skuId = skuId;
                var result = SuningClient.Execute(request);
                if (!string.IsNullOrEmpty(result.name))
                {
                    SnDetail.brand        = result.brand;
                    SnDetail.category     = result.category;
                    SnDetail.image        = result.image;
                    SnDetail.introduction = result.introduction;
                    SnDetail.packlisting  = result.packlisting;
                    SnDetail.model        = result.model;
                    SnDetail.name         = result.name;
                    SnDetail.productArea  = result.productArea;
                    SnDetail.saleUnit     = result.saleUnit;
                    SnDetail.skuId        = result.skuId;
                    SnDetail.state        = result.state;
                    SnDetail.upc          = result.upc;
                    SnDetail.weight       = result.weight;
                    List <ProdParams> pros = new List <ProdParams>();
                    List <Param>      pa   = new List <Param>();
                    if (result.prodParams != null)
                    {
                        foreach (var item in result.prodParams)
                        {
                            ProdParams pro = new ProdParams();
                            pro.desc = item.desc;
                            if (item.param != null)
                            {
                                foreach (var model in item.param)
                                {
                                    Param p = new Param();
                                    p.coreFlag            = model.coreFlag;
                                    p.snparameterCode     = model.snparameterCode;
                                    p.snparameterdesc     = model.snparameterdesc;
                                    p.snparametersCode    = model.snparametersCode;
                                    p.snparametersDesc    = model.snparametersDesc;
                                    p.snparameterSequence = model.snparameterSequence;
                                    p.snparameterVal      = model.snparameterVal;
                                    p.snsequence          = model.snsequence;
                                    pro.param.Add(p);
                                }
                            }
                            pros.Add(pro);
                        }
                        SnDetail.prodParams = pros;
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.GetProdPool 获取prodpool 异常", ex);
            }
            return(SnDetail);
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 部分商品退货
        /// http://open.suning.com/ospos/apipage/toApiMethodDetailMenu.do?interCode=suning.govbus.returnpartorder.add
        /// </summary>
        /// <param name="reqDto">实体数据</param>
        /// <returns></returns>
        public static ResultDTO ReturnPartOrder(SNReturnPartOrderDTO reqDto)
        {
            ResultDTO ret = new ResultDTO();

            try
            {
                #region 将系统中自有的实体转换为苏宁自己的实体传入
                List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ReturnpartorderAddSkusReq> skusReqList = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.ReturnpartorderAddSkusReq>();

                reqDto.SkusList.ForEach(p =>
                {
                    skusReqList.Add(new snsdk.suning_api_sdk.Models.CustomGovbusModel.ReturnpartorderAddSkusReq()
                    {
                        skuId = p.SkuId, num = p.Num
                    });
                });

                snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ReturnpartorderAddRequest request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.ReturnpartorderAddRequest()
                {
                    orderId = reqDto.OrderId,
                    skus    = skusReqList
                };
                #endregion


                snsdk.suning_api_sdk.BizResponse.CustomGovbusResponse.ReturnpartorderAddResponse response = SuningClient.Execute(request);
                #region 构造返回实体
                if (response != null)
                {
                    if (response.isSuccess.Equals("Y"))
                    {
                        return(new ResultDTO {
                            isSuccess = true
                        });
                    }
                    else
                    {
                        return(new ResultDTO {
                            isSuccess = false, ResultCode = 1, Message = response.infoList.First().unableReason
                        });
                    }

                    //List<SNReturnPartOrderReturnListDTO> listRet = new List<SNReturnPartOrderReturnListDTO>();

                    //response.infoList.ForEach(p =>
                    //{
                    //    listRet.Add(new SNReturnPartOrderReturnListDTO() { SkuId = p.skuId, Status = p.status, UnableReason = p.unableReason });
                    //});
                    //ret = new SNReturnPartOrderReturnDTO() { OrderId = response.orderId, InfoList = listRet, IsSuccess = response.isSuccess.Equals("Y") ? true : false };
                }
                #endregion
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.ReturnPartOrder 部分商品退货", ex);
            }
            return(ret);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 获取订单状态
        /// </summary>
        /// <param name="snOrderId"></param>
        /// <returns></returns>
        public static SNOrderStatusDTO SNGetOrderStatus(string snOrderId)
        {
            SNOrderStatusDTO orderstatus = new SNOrderStatusDTO();

            try
            {
                var request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.OrderStatusGetRequest()
                {
                    orderId = snOrderId
                };
                snsdk.suning_api_sdk.BizResponse.CustomGovbusResponse.OrderStatusGetResponse response = SuningClient.Execute(request);
                if (response != null)
                {
                    List <SNOrderItemInfo> snOrderItemInfoList = new List <SNOrderItemInfo>();
                    response.orderItemInfoList.ForEach(p =>
                    {
                        snOrderItemInfoList.Add(new SNOrderItemInfo()
                        {
                            OrderItemId = p.orderItemId,
                            SkuId       = p.skuId,
                            StatusName  = p.statusName
                        });
                    });
                    orderstatus = new SNOrderStatusDTO()
                    {
                        OrderId = response.orderId, OrderItemInfoList = snOrderItemInfoList, OrderStatus = response.orderStatus
                    };
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.SNGetOrderStatus 获取订单状态", ex);
            }
            return(orderstatus);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// 判断商品是否厂送
        /// https://open.suning.com/ospos/apipage/toApiMethodDetailMenu.do?interCode=suning.govbus.judgefacproduct.get
        /// </summary>
        /// <param name="factoryDeliverDto"></param>
        /// <returns></returns>
        public static SNFactoryDeliveryReturnDTO JudgeIsFactoryDelivery(SNFactoryDeliveryDTO factoryDeliverDto)
        {
            SNFactoryDeliveryReturnDTO ret = new SNFactoryDeliveryReturnDTO();

            try
            {
                #region 将系统中自有的实体转换为苏宁自己的实体传入
                List <snsdk.suning_api_sdk.Models.CustomGovbusModel.JudgefacproductGetSkuIdsReq> listApplyRejList = new List <snsdk.suning_api_sdk.Models.CustomGovbusModel.JudgefacproductGetSkuIdsReq>();

                factoryDeliverDto.SkuIds.ForEach(p =>
                {
                    listApplyRejList.Add(new snsdk.suning_api_sdk.Models.CustomGovbusModel.JudgefacproductGetSkuIdsReq()
                    {
                        skuId = p.SkuId
                    });
                });

                snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.JudgefacproductGetRequest request = new snsdk.suning_api_sdk.BizRequest.CustomGovbusRequest.JudgefacproductGetRequest()
                {
                    cityId = factoryDeliverDto.CityId,
                    skuIds = listApplyRejList
                };
                #endregion
                snsdk.suning_api_sdk.BizResponse.CustomGovbusResponse.JudgefacproductGetResponse response = SuningClient.Execute(request);

                #region 构造返回实体

                if (response != null)
                {
                    List <SNFactoryDeliveryReturnListDTO> listRet = new List <SNFactoryDeliveryReturnListDTO>();

                    response.results.ForEach(p =>
                    {
                        listRet.Add(new SNFactoryDeliveryReturnListDTO()
                        {
                            IsFactorySend = p.isFactorySend.Equals("01") ? true : false, SkuId = p.skuId
                        });
                    });

                    ret = new SNFactoryDeliveryReturnDTO()
                    {
                        IsSuccess = response.isSuccess.Equals("Y") ? true : false, ResultsList = listRet
                    };
                }
                #endregion
            }
            catch (Exception ex)
            {
                LogHelper.Error("SuningSV.JudgeIsFactoryDelivery 判断商品是否厂送", ex);
            }
            return(ret);
        }