我认为写的好的代码

拉取订单的工作:
@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;
}



猜你喜欢

转载自blog.csdn.net/moveflower/article/details/80569616
今日推荐