コード例 #1
0
    def search_orders_by_tids(self, cr, uid, ids, context=None, tids = ''):  # 根据电商单号 下载 订单
        port = 80
        shop = self.browse(cr, uid, ids[0], context = context)
        partner_id = shop.partner_id.id		
        setDefaultAppInfo(shop.appkey, shop.appsecret)
        req = TradeGetRequest(shop.apiurl,port) 		
        req.fields="tid,pay_time,seller_memo,created,buyer_nick,orders.num,orders.store_code,orders.num_iid,orders.sku_id,orders.oid, orders.total_fee,orders.payment,orders.outer_sku_id"
		
        tids = []
        note = shop.last_log or ''	
        tmijdi_nos = note.strip().split(',')     	
        for tmijdi_no in tmijdi_nos:
            tmijdi_no = tmijdi_no.strip()		
            if tmijdi_no != '' : tids.append( tmijdi_no )
			
        order_list = []		
        for tid in tids:            	
            req.tid = tid
            resp = req.getResponse(shop.sessionkey)
            order = resp.get('trade_get_response').get('trade', '')				
		
            if order : 	
                seller_memo = order.get('seller_memo','')
                order['is_jaycee'] = seller_memo.find(u'jaycee订单') >= 0 or seller_memo.find(u'anja订单') >= 0		
                order['is_kevin'] = seller_memo.find(u'kevin订单') >= 0 or seller_memo.find(u'anja订单') >= 0	
                order['is_sz'] = seller_memo.find(u'深圳发货') >= 0	
                order['is_hk'] = seller_memo.find(u'香港四方转运') >= 0	or seller_memo.find(u'香港发货') >= 0						
                order_list.append( order )	
				
        order_id = self.create_order(cr, uid, ids, order_list, context = context )
        if order_id : shop.import_salesorder = order_id
        return order_id			
コード例 #2
0
    def search_orders_seller_memo(self, cr, uid, ids, context=None, orders={}):
        port = 80
        shop = self.browse(cr, uid, ids[0], context=context)
        partner_id = shop.partner_id.id
        setDefaultAppInfo(shop.appkey, shop.appsecret)
        req = TradeGetRequest(shop.apiurl, port)
        req.fields = "seller_memo"
        res = []

        for order in orders:

            lines = order["orders"]["order"]
            is_baosui = False
            for line in lines:
                store_code = line.get('store_code') or ''
                if store_code not in ['loewie', '']:
                    is_baosui = True
                    break  # 如果 是 天猫国际 保税仓发货 则跳过此订单
            if is_baosui: continue

            req.tid = order["tid"]
            resp = req.getResponse(shop.sessionkey)
            seller_memo = resp.get('trade_get_response',
                                   '').get('trade', '').get('seller_memo', '')
            order['is_jaycee'] = seller_memo.find(
                u'jaycee订单') >= 0 or seller_memo.find(u'anja订单') >= 0
            order['is_kevin'] = seller_memo.find(
                u'kevin订单') >= 0 or seller_memo.find(u'anja订单') >= 0
            order['is_sz'] = seller_memo.find(u'深圳发货') >= 0
            order['is_hk'] = seller_memo.find(
                u'香港发货') >= 0 or seller_memo.find(u'香港四方转运') >= 0
            res.append(order)
            """			
            if order['is_jaycee'] or order['is_kevin'] or order['is_sz'] or order['is_hk'] or ids[0]==1 : continue  # 如果是 天猫国内店铺(乐易成人用品专营店id==1)的订单 跳过

            lines = order["orders"]["order"]			
            for line in lines:            			
			
                store_code = line.get('store_code') or ''				
                if store_code != 'loewie' : break  # 如果 是 天猫国际 保税仓发货 则跳过此订单
				
                sku_id = line.get('sku_id',False) or line.get('num_iid','')			
                cr.execute("select id from product_tmalljd where ec_sku_id = '%s' limit 1" % sku_id)
                product_tmalljd_ids = 0			
                for i in cr.fetchall():	
                    product_tmalljd_ids = i[0]				
				
                if not product_tmalljd_ids:
                    syncerr = u"订单导入错误: 匹配不到商品。tid=%s, 商品num_iid=%s, outer_sku_id=%s, sku_id=%s " % ( tid, line.get('num_iid', ''),  line.get('outer_sku_id', ''), line.get('sku_id', '') )
                    raise osv.except_osv(u"ERP中不存在以下产品", syncerr)

                product_tmalljd_obj = self.pool.get('product.tmalljd').browse(cr, uid, product_tmalljd_ids, context = context)
                name_template = product_tmalljd_obj.erp_product_id.name_template				
                if name_template.find("ml") < 1 :  # 如果发现产品不是液体则HK-ERP不导入此订单,默认由深圳SZ-ERP发货
                    order['is_sz'] = True
                    break
            """

        return res
コード例 #3
0
    def update_orders_seller_memo(self, cr, uid, ids, context=None, tids=[]):
        port = 80
        shop = self.browse(cr, uid, ids[0], context=context)
        partner_id = shop.partner_id.id
        setDefaultAppInfo(shop.appkey, shop.appsecret)
        req = TradeGetRequest(shop.apiurl, port)
        req.fields = "seller_memo"

        tid_memos = {}
        for tid in tids:
            req.tid = tid
            resp = req.getResponse(shop.sessionkey)
            seller_memo = resp.get('trade_get_response',
                                   '').get('trade', '').get('seller_memo', '')
            if tid not in tid_memos.keys():
                tid_memos[tid] = seller_memo

        req = TradeMemoUpdateRequest(shop.apiurl, port)
        error_list = []
        _index = 1
        for key in tid_memos.keys():
            req.tid = key
            memo = ("%d. SZ-ERP downloaded. " % _index) + tid_memos[key]
            req.memo = memo  # .encode("utf-8")
            _index += 1
            resp = req.getResponse(shop.sessionkey)
            if not resp.get('trade_memo_update_response', ''):
                error_list.append(key)
コード例 #4
0
    def search_orders_seller_memo(self, cr, uid, ids, context=None, orders={}):
        port = 80
        shop = self.browse(cr, uid, ids[0], context=context)
        partner_id = shop.partner_id.id
        setDefaultAppInfo(shop.appkey, shop.appsecret)
        req = TradeGetRequest(shop.apiurl, port)
        req.fields = "seller_memo"

        for order in orders:
            req.tid = order["tid"]
            resp = req.getResponse(shop.sessionkey)
            seller_memo = resp.get('trade_get_response',
                                   '').get('trade', '').get('seller_memo', '')
            order['is_jaycee'] = seller_memo.find(u'jaycee订单') >= 0

        return orders
コード例 #5
0
    def update_tmi_jdi_no_state(self, cr, uid, ids, context=None):
        port = 80
        shop = self.browse(cr, uid, ids[0], context=context)
        partner_id = shop.partner_id.id
        setDefaultAppInfo(shop.appkey, shop.appsecret)
        req = TradeGetRequest(shop.apiurl, port)
        req.fields = "seller_memo"
        res = []

        for order in orders:

            lines = order["orders"]["order"]
            is_baosui = False
            for line in lines:
                store_code = line.get('store_code') or ''
                if store_code not in ['loewie', '']:
                    is_baosui = True
                    break  # 如果 是 天猫国际 保税仓发货 则跳过此订单
            if is_baosui: continue

            req.tid = order["tid"]
            resp = req.getResponse(shop.sessionkey)
            seller_memo = resp.get('trade_get_response',
                                   '').get('trade', '').get('seller_memo', '')
コード例 #6
0
    def search_orders_seller_memo(self, cr, uid, ids, context=None, orders = {}):
        port = 80
        shop = self.browse(cr, uid, ids[0], context = context)
        partner_id = shop.partner_id.id		
        setDefaultAppInfo(shop.appkey, shop.appsecret)
        req = TradeGetRequest(shop.apiurl,port) 		
        req.fields="seller_memo"
        normal_list = []		
        si_fang_list = []		
		
        for order in orders:            	
            req.tid = order["tid"]
            resp= req.getResponse(shop.sessionkey)
            seller_memo = resp.get('trade_get_response','').get('trade','').get('seller_memo','')
            order['is_si_fang'] = seller_memo.find(u'香港四方转运') >= 0  			
            order['is_kevin'] = seller_memo.find(u'kevin订单') >= 0 or seller_memo.find(u'anja订单') >= 0 or seller_memo.find(u'jaycee订单') >= 0
            order['is_hk'] = seller_memo.find(u'香港发货') >= 0				
            order['is_sz'] = seller_memo.find(u'深圳发货') >= 0	
            if order['is_si_fang'] : 
                si_fang_list.append(order)
                continue				
            normal_list.append(order)			
					
        return normal_list, si_fang_list