拉取订单的工作:
@Override
public List<OrderModel> getAmazonOrders(Date startTime , Date endTime ,String platform) throws Exception {
List<OrderModel> orderModels = new ArrayList<>();
//查询amazon平台店铺
List<SaleStoreModel> saleStoreModels = beforeshipSaleStoreService.getSaleStoresByPlatform( platform );
if(saleStoreModels == null || saleStoreModels.size() <= 0){
throw new Exception("店铺信息并不存在");
}
for(SaleStoreModel saleStoreModel : saleStoreModels)
{
LOG.info("sale store id=" + saleStoreModel.getCode());
PlatformAccountModel platformAccountModel = saleStoreModel.getPlatformAccount();
//判断账户相关信息是否都存在
if(null != platformAccountModel)
{
if(StringUtils.isBlank(platformAccountModel.getAccessKeyId()) || StringUtils.isEmpty(platformAccountModel.getMarketplaceId()) || StringUtils.isBlank(platformAccountModel.getSecretAccessKey())
|| StringUtils.isBlank(platformAccountModel.getAccount()))
{
continue;
}
}
else
{
continue;
}
//开启线程调用amazon订单接口
new Thread(saleStoreModel.getCode())
{
@Override
public void run() {
LOG.info("启动线程名,name="+Thread.currentThread().getName());
final long startDate = System.currentTimeMillis();
if(!Registry.hasCurrentTenant())
{
Registry.activateMasterTenant();
}
//将SaleStoreModel数据带入到接口中
List<OrderModel> saleStoreOrderModels = startThreadOrder(saleStoreModel ,startTime , endTime);
LOG.info("amzon 同步订单完成,saleStore="+saleStoreModel.getCode()+",总订单条数="+saleStoreOrderModels.size());
LOG.info("amazon同步订单耗时:" + ToolUtil.timeConsume(startDate)+"秒");
}
}.start();
}
return orderModels;
}