Нет описания

stock_utils.py 2.8KB

    # -*- coding: utf-8 -*- import json from django.conf import settings from TimeConvert import TimeConvert as tc import jd from jd.api.rest.EdiInventorySendRequest import EdiInventorySendRequest from jd.api.rest.VcAplsStockBatchGetProdStockInfoRequest import VcAplsStockBatchGetProdStockInfoRequest from jd.api.rest.VcItemProductsFindRequest import VcItemProductsFindRequest from stock.models import StockInfo JOS = settings.JOS['TAMRON'] def refresh_stock_info(): jd.setDefaultAppInfo(JOS['appkey'], JOS['secret']) offset = 0 jcontinue = True while jcontinue: a = VcItemProductsFindRequest() a.brand_id = 16795 a.category_id = 834 a.offset = offset a.page_size = 50 try: f = a.getResponse(JOS['accessToken']) print(json.dumps(f)) except Exception, e: print(e) products = f['jingdong_vc_item_products_find_responce']['jos_result_dto']['result'] print products ware_ids = [int(p['ware_id']) for p in products] print ware_ids offset += 50 a.offset += offset if len(ware_ids) < 50: jcontinue = False a = VcAplsStockBatchGetProdStockInfoRequest() a.vendorCode = JOS['vendorCode'] a.skuList = list(set(ware_ids) - set(settings.JOS_SKU_EXCLUDE)) try: f = a.getResponse(JOS['accessToken']) print(json.dumps(f)) except Exception, e: print(e) stocks = f['jingdong_vc_apls_stock_batchGetProdStockInfo_responce']['batchGetProdStockInfoResponse']['stockList'] for stock in stocks: print stock['sku'] s, _ = StockInfo.objects.get_or_create(vendorProductId=stock['sku']) s.vendorProductName = stock['wname'] s.vendorCode = JOS['vendorCode'] s.vendorName = JOS['vendorName'] s.storeId = JOS['storeId'] s.storeName = JOS['storeName'] s.save() def send_stock_info(stock): jd.setDefaultAppInfo(JOS['appkey'], JOS['secret']) a = EdiInventorySendRequest() a.vendorCode = stock.vendorCode a.vendorName = stock.vendorName a.vendorProductId = stock.vendorProductId a.inventoryDate = tc.local_string(tc.to_local_datetime(stock.inventoryDate)) a.totalQuantity = stock.totalQuantity a.estimateDate = tc.local_string(tc.to_local_datetime(stock.estimateDate)) a.totalEstimateQuantity = stock.totalEstimateQuantity a.costPrice = stock.costPrice a.storeId = stock.storeId a.storeName = stock.storeName a.quantity = stock.totalQuantity a.estimateQuantity = stock.totalEstimateQuantity try: f = a.getResponse(JOS['accessToken']) print(json.dumps(f)) except Exception, e: print(e)