예제 #1
0
        public void TestYintaiItemCode()
        {
            var client = new YintaiApiClient("http://60.247.44.101:9100", "1000000", "12345678", "C", "1000000");
            var para   = new Dictionary <string, string> {
                { "itemCode", "05-02D-0027" }
            };
            var rsp = client.Post(para, "Yintai.OpenApi.Inventory.GetInventoryByItemCode");

            Assert.IsNotNull(rsp);
        }
예제 #2
0
        public void TestYintaiApi()
        {
            var dict = new Dictionary <string, string> {
            };
            //{"channelId", "1000000"}
            var client = new YintaiApiClient();
            var rsp    = client.Post(dict, "Yintai.OpenApi.Item.GetVirtualCategoryByChannel");

            Assert.IsNotNull(rsp);
        }
예제 #3
0
        public void TestYintaiApiClient()
        {
            var client = new YintaiApiClient("http://60.247.44.101:9100", "1000000", "12345678", "C", "1000000");
            var para   = new Dictionary <string, string> {
                { "channelID", "111111" }
            };
            var rsp = client.Post(para, "Yintai.OpenApi.Item.GetVirtualCategoryByChannel");

            Assert.IsNotNull(rsp);
        }
예제 #4
0
        private void Notify2Yintai(OPC_RMA rma)
        {
            Logger.ErrorFormat("Notify to yintai: {0}", rma.RMANo);
            using (var context = new YintaiHZhouContext())
            {
                var linq = from detail in context.OPC_RMADetail
                           from item in context.OrderItems
                           from stock in context.Inventories
                           where
                           detail.OrderItemId == item.Id && item.ProductId == stock.ProductId &&
                           item.ColorValueId == stock.PColorId && item.SizeValueId == stock.PSizeId && detail.RMANo == rma.RMANo
                           select new
                {
                    ItemCode    = stock.Id,
                    RMAQuantity = detail.BackCount,
                    rma.Reason
                };


                dynamic data = new
                {
                    OPCSONumber       = rma.OrderNo,
                    Status            = rma.Status == (int)EnumRMAStatus.ShipVerifyNotPass ? 300 : 800,
                    RMAType           = 1,
                    OperaterFrom      = 5,
                    OPCRMATrancaction = linq,
                    CacelReason       = rma.Status == (int)EnumRMAStatus.ShipVerifyNotPass ? "物流审核未通过" : "退货",
                    rma.Reason,
                };

                var parameter = JsonConvert.SerializeObject(data);
                var rmaInfos  = new Dictionary <string, string>
                {
                    { "Data", parameter },
                };

                var client = new YintaiApiClient();
                var rsp    = client.Post(rmaInfos, "Yintai.OpenApi.Vendor.AddRMAByOPC");
                if (rsp == null)
                {
                    Logger.ErrorFormat("调用银泰网接口返回NULL 退货单号: {0} 参数明细 {1}", rma.RMANo, parameter);
                    return;
                }
                if (rsp.IsSuccessful)
                {
                    context.OPC_RMANotificationLog.Add(new OPC_RMANotificationLog
                    {
                        CreateDate = DateTime.Now,
                        CreateUser = -10000,
                        RMANo      = rma.RMANo,
                        Status     = (int)NotificationStatus.Sync2Yintai,
                        Message    = "Success"
                    });
                    context.SaveChanges();
                    Logger.ErrorFormat("通知银泰网RMA订单成功,RMANO {0}", rma.RMANo);
                }
                else
                {
                    Logger.ErrorFormat("推送退货单至RMA失败:RMANO:{0},银泰网返回错误:{1}", rma.RMAReason, rsp.Description);
                }
            }
        }