|
# -*- 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'])
a = VcItemProductsFindRequest()
a.brand_id = 16795
a.category_id = 834
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
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 update_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)
|