def import_orders_from_jd(self, cr, uid, ids, context=None): shop_id = self.browse(cr, uid, ids[0], context=context) req = WaresListGetRequest(shop_id.apiurl, 443, shop_id.appkey, shop_id.appsecret) req.fields = 'ware_id,spu_id,cid' req.ware_ids = '1100000015' resp = req.getResponse(shop_id.sessionkey) total_results = resp.get('wares')
def search_jd_wares(self, cr, uid, ids, context=None): shop_id = self.browse(cr, uid, ids[0], context=context) product_tmalljd_objs = self.pool.get('product.tmalljd') req = WaresListGetRequest(shop_id.apiurl, 443, shop_id.appkey, shop_id.appsecret) req.fields = 'ware_id,skus,cid,brand_id,vender_id,shop_id,ware_status,title,item_num,upc_code,market_price,stock_num,status,weight,shop_categorys,property_alias' ware_list = self.get_all_ware_ids(cr, uid, ids, context=context) if len(ware_list) < 1: return ware_id_list = [str(o['ware_id']) for o in ware_list] ware_info_list = [] interval = 10 start = end = 0 final_end = len(ware_id_list) while start < final_end: if start + interval > final_end: end = final_end else: end = start + interval sub_list = ware_id_list[start:end] sub_num_iids = ",".join(sub_list) start = end req.ware_ids = sub_num_iids resp = req.getResponse(shop_id.sessionkey or shop_id.access_token) wares = resp.get('ware_list_response').get('wares') if len(wares) > 0: ware_info_list += wares for ware in ware_info_list: product_vals = { 'ec_shop_id': shop_id.id, 'ec_num_iid': str(ware['ware_id']), 'ec_title': ware["title"], 'ec_outer_code': ware.get('item_num') } for sku_item in ware['skus']: pids = product_tmalljd_objs.search( cr, uid, [('ec_sku_id', '=', str(sku_item.get('sku_id'))), ('ec_shop_id', '=', shop_id.id)], context=context) if len(pids) > 0: continue product_vals.update({ 'ec_sku_id': str(sku_item.get('sku_id')), 'ec_price': float(sku_item.get('market_price')), 'ec_qty': sku_item.get('stock_num'), 'ec_color': sku_item.get('color_value') }) product_tmalljd_objs.create(cr, uid, product_vals)