コード例 #1
0
 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')
コード例 #2
0
    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)