介绍:本文介绍通过API下载亚马逊平台的订单。
第一步:下载亚马逊平台的客户端库,网址:https://developer.amazonservices.com.cn/doc/orders/orders/v20110101/cSharp.html,解压后,重新生成DLL
第二步:在自己的项目中引用DLL,撰写调用代码。订单下载涉及两个接口:ListOrders和ListOrderItems
下面直接上代码:
参数:
//卖家编号
//商城编号
public string MarketplaceID = "XXX";
//AWS访问密钥
public string AWSAccessKeyID = "XXX";
//密钥
public string Key = "XXX";
public string applicationName = "XXX";
public string applicationVersion = "1.0";
调用ListOrders和ListOrderItems,下载订单信息
/// 订单下载
/// </summary>
private void Down()
{
try
{
ListOrdersRequest req = new ListOrdersRequest();
req.CreatedAfter = DateTime.Now.AddDays(-3);
OrderStatusList statusList=new OrderStatusList();
//待发货
List<OrderStatusEnum> status=new List<OrderStatusEnum> {OrderStatusEnum.Unshipped,OrderStatusEnum.PartiallyShipped};
statusList.Status=status;
req.OrderStatus = statusList;
//卖家编号
req.SellerId = Merchant;
MarketplaceIdList m=new MarketplaceIdList();
List<string> mID=new List<string>();
mID.Add(MarketplaceID);
m.Id=mID;
req.MarketplaceId = m;
MarketplaceWebServiceOrdersConfig config = new MarketplaceWebServiceOrdersConfig();
config.ServiceURL = "https://mws.amazonservices.com.cn/Orders/2011-01-01";
config.SetUserAgent(applicationName, applicationVersion);
MarketplaceWebServiceOrdersClient client = new MarketplaceWebServiceOrdersClient(applicationName, applicationVersion, AWSAccessKeyID, Key, config);
ListOrdersResponse response = client.ListOrders(req);
OrderList orders = response.ListOrdersResult.Orders;
List<Order> orderList=orders.Order;
string otherSOID = "";
string sql = "";
int isImported = 0;
decimal soAmt = 0;
//申通
int expressSysNo = 3;
//网银在线
int paySysNo = 3;
//运费
decimal expressFee = 0;
//买家用户名
string customerUserID = "";
string receiveName = "";
string province = "";
string city = "";
string district = "";
string address = "";
string zip = "";
string tel = "";
string mobile = "";
string customerNote = "";
int customerSysNo = 0;
//亚马逊
int platformSysNo = 16;
int areaSysNo = 0;
int salesManSysNo = 1;
foreach (Order so in orderList)
{
#region 订单
//第三方订单号
isImported = 1;
otherSOID = so.AmazonOrderId;
#region 检查第三方订单号是否存在
#endregion
//订单金额(暂时不确定是否包含运费)
decimal.TryParse(so.OrderTotal.Amount, out soAmt);
customerUserID = so.BuyerName;
//收货人姓名
receiveName = so.ShippingAddress.Name;
address = so.ShippingAddress.AddressLine1+so.ShippingAddress.AddressLine2+so.ShippingAddress.AddressLine3;
province = so.ShippingAddress.StateOrRegion;
city = so.ShippingAddress.City;
district = so.ShippingAddress.County;
zip = so.ShippingAddress.PostalCode;
tel = so.ShippingAddress.Phone;
try
{
List<OrderItem> items=DownOrderItem(otherSOID);
#region 写销售单的主表数据
#endregion
#region 产品
//订单明细
foreach (OrderItem item in items)
{
//产品编码
string productID = item.SellerSKU;
//产品小计金额(即ItemPrice 的值等于商品的售价 x 商品的订购数量。)
decimal itemPrice = 0;
decimal.TryParse(item.ItemPrice.Amount, out itemPrice);
//数量
decimal qty = item.QuantityOrdered;
//售价
decimal productSalePrice = 0;
productSalePrice = itemPrice/qty;
//折后售价
decimal currentPrice = 0;
currentPrice = productSalePrice*(decimal)0.93;
int productSysNo = 0;
//系统原价
decimal oldPrice = 0;
}
#endregion
writelog(otherSOID + "下载成功");
}
catch (Exception err2)
{
writelog(err2.Message);
}
#endregion
}
}
catch (Exception err)
{
writelog(err.Message);
}
}
/// <summary>
/// 根据第三方订单号获取订单明细
/// </summary>
/// <param name="otherSOID"></param>
/// <returns></returns>
private List<OrderItem> DownOrderItem(string otherSOID)
{
List<OrderItem> resualt = new List<OrderItem>();
try
{
#region 获取明细
ListOrderItemsRequest req = new ListOrderItemsRequest();
req.SellerId = Merchant;
req.AmazonOrderId = otherSOID;
MarketplaceWebServiceOrdersConfig config = new MarketplaceWebServiceOrdersConfig();
config.ServiceURL = "https://mws.amazonservices.com.cn/Orders/2011-01-01";
config.SetUserAgent(applicationName, applicationVersion);
MarketplaceWebServiceOrdersClient client = new MarketplaceWebServiceOrdersClient(applicationName, applicationVersion, AWSAccessKeyID, Key, config);
ListOrderItemsResponse response = client.ListOrderItems(req);
resualt=response.ListOrderItemsResult.OrderItems.OrderItem;
#endregion
}
catch (Exception err)
{
writelog(err.Message);
}
return resualt;
}
书名:汇编语言数据结构
作者:王增才
责任编辑:王增才
封面设计:王增才
定价:10元
发行方式:电子版,PDF格式
开本:16开
出版日期:2010年12月7日
版本:第1版
发行:增才网(http://www.zencai.com)
主题词:汇编语言 | 数据结构 | 计算机 | 编程 | 算法
凡购买王增才的电子版书籍,如有缺损问题,请将购买凭证截图或拍照,并发邮件至wzc@zencai.com联系补发。
售价10元每份。有意购买者请发邮件至wzc@zencai.com获取汇款账号或者直接用支付宝汇款给wangzengcai@126.com,亦可在豆丁网上购买。
支付宝如何直接付款http://help.alipay.com/lab/help_detail.htm?help_id=212267
内容简介
本书简明扼要地介绍了各种典型数据结构及其在汇编语言(编译器MASM32v10)中的实现代码。主要内容包括:数组、栈与队列、链表、树、哈希表、图等。
本书可作为计算机类专业的本科生的汇编语言数据结构教材,也可以作为使用计算机的广大科技工作者的参考资料。
前言
本书所有示例的源代码均为汇编语言,编译环境:MASM32V10。MASM32V10下载网址:http://www.masm32.com/
第一章:数组
第二章:栈与队列
第三章:链表
第四章:树
第五章:哈希表
第六章:图
有关更新和勘误可以在下面的网站上找到:
如果由于某种原因造成上面的网址无法访问的话,可通过发邮件给作者来获取更新与勘误。作者的电子邮箱:wzc@zencai.com或wangzengcai@126.com
读者在阅读本书之前,应当已经能够看懂汇编语言编写的程序。
特别感谢自考中国网(http://www.chinazk.com)的站长zwh老师多年来对我的帮助。
问题描述:
一个通过淘宝API2.0接口更新淘宝网上的产品库存的windows服务,因为接口不稳定,导致经常抛出异常,当异常抛出了若干次后,会导致触发"类型为“System.OutOfMemoryException”的异常"
解决办法:
我怀疑是在抛出异常时,程序没有自动回收垃圾,若干次后,导致程序内存溢出。在程序中使用disponse方法释放内存资源。该问题终于解决了。
作者:ejoe
select adddate,pic,spic,* from product where code like '102805687%' --56865
select * from crk where ctype=6 and goods='10050709485658'
select * from orders where goods='10050709485658'
SELECT a.goods,a.id,b.code,a.productnum FROM orders a
left join product b on b.id=a.id
where a.goods='10050709485658'
--insert into crk(goods,ctype,code,productnum,actname,comment)
--values('10050709485658',6,'','','ejoe','平台单导错处理')
--
--update product set stock=stock+ ,jtkc=jtkc+ where id=
declare @strCode nvarchar(20)
declare @Num int
declare @intID int
declare mycursor cursor for
SELECT b.code,a.productnum,a.id FROM orders a
left join product b on b.id=a.id
where a.goods='10050709485658'
open mycursor
fetch next from mycursor into @strCode,@Num,@intID
while(@@fetch_status=0)
begin
insert into crk(goods,ctype,code,productnum,actname,comment)
values('10050709485658',6,@strCode,@Num,'ejoe','平台单导错处理');
update product set stock=stock+@Num ,jtkc=jtkc+@Num where id=@intID;
fetch next from mycursor into @strCode,@Num,@intID
end
close mycursor
deallocate mycursor

