def import_orders_from_jd(self, cr, uid, ids, context=None): shop_id = self.browse(cr, uid, ids[0], context= context) req = OrderSearchRequest(shop_id.apiurl, 443, shop_id.appkey, shop_id.appsecret) req.optional_fields = 'order_id,order_payment,order_state,vender_remark,consignee_info,item_info_list,payment_confirm_time,waybill,logistics_id' req.page_size = 20 req.page = 1 req.dateType = 1 req.sortType = 1 req.order_state = 'WAIT_SELLER_STOCK_OUT,WAIT_SELLER_DELIVERY' req.end_date = (datetime.now() + timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S') hours_interval = shop_id.sync_interval if hours_interval : hours_interval -= 8 else: hours_interval = 16 req.start_date = (datetime.now() - timedelta(hours=hours_interval)).strftime('%Y-%m-%d %H:%M:%S') order_total = 100 total_get = 0 order_info_list = [] while total_get < order_total : resp= req.getResponse(shop_id.sessionkey or shop_id.access_token) order_total = resp.get('order_search_response').get('order_search').get('order_total') if order_total > 0: order_info_list += resp.get('order_search_response').get('order_search').get('order_info_list') total_get += req.page_size req.page = req.page + 1 orders = self.clean_jdi_orders(cr, uid, ids, order_info_list, shop_id, context=context) self.create_order_for_jd(cr, uid, ids, orders, context=context)
def import_orders_from_jd(self, cr, uid, ids, context=None): shop_id = self.browse(cr, uid, ids[0], context=context) req = OrderSearchRequest(shop_id.apiurl, 443, shop_id.appkey, shop_id.appsecret) req.optional_fields = 'order_id,order_source,order_total_price,order_payment,freight_price,order_state,vender_remark,order_start_time,consignee_info,item_info_list,payment_confirm_time,waybill,logistics_id,store_order,parent_order_id' req.page_size = 100 req.page = 1 req.order_state = 'WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM' req.end_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S") hours_interval = shop_id.sync_interval req.start_date = ( datetime.now() - timedelta(hours=hours_interval)).strftime('%Y-%m-%d %H:%M:%S') resp = req.getResponse(shop_id.sessionkey or shop_id.access_token) order_info_list = resp.get('order_search_response').get( 'order_search').get('order_info_list') orders = self.clean_jdi_orders(cr, uid, ids, order_info_list, shop_id, context=context) self.create_order_for_jd(cr, uid, ids, orders, context=context)
def import_orders_from_jd(self, cr, uid, ids, context=None): shop_id = self.browse(cr, uid, ids[0], context=context) req = OrderSearchRequest(shop_id.apiurl, 443, shop_id.appkey, shop_id.appsecret) req.optional_fields = 'order_id,order_payment,order_state,vender_remark,consignee_info,item_info_list,order_start_time,payment_confirm_time,pin,waybill,logistics_id' req.page_size = 20 req.page = 1 req.dateType = 1 req.sortType = 1 req.order_state = 'WAIT_SELLER_STOCK_OUT,WAIT_SELLER_DELIVERY' ctx_end_time = context.get('end_time', False) end_time = ctx_end_time and ( datetime.strptime(ctx_end_time, '%Y-%m-%d %H:%M:%S') + timedelta(hours=8)) or self.get_datetime_now() end_time_str = end_time.strftime('%Y-%m-%d %H:%M:%S') req.end_date = end_time_str hours_interval = shop_id.sync_interval # shop if not hours_interval: hours_interval = 24 ctx_start_time = context.get('start_time', False) start_time = ctx_start_time and (datetime.strptime( ctx_start_time, '%Y-%m-%d %H:%M:%S') + timedelta(hours=8)) start_time = start_time or ( end_time and (end_time - timedelta(hours=hours_interval))) or ( datetime.now() - timedelta(hours=hours_interval - 8)) start_time_str = start_time.strftime('%Y-%m-%d %H:%M:%S') req.start_date = start_time_str order_total = 100 total_get = 0 order_info_list = [] while total_get < order_total: resp = req.getResponse(shop_id.sessionkey or shop_id.access_token) order_total = resp.get('order_search_response').get( 'order_search').get('order_total') if order_total > 0: order_info_list += resp.get('order_search_response').get( 'order_search').get('order_info_list') total_get += req.page_size req.page = req.page + 1 jaycee_list, sz_list = self.clean_jdi_hk_orders(cr, uid, ids, order_info_list, shop_id, context=context) self.create_order_for_jd(cr, uid, ids, jaycee_list + sz_list, context=context)