def getData(self): base_url = "http://openapi.winit.com.cn/openapi/service" step = 100 data = { "warehouseID": "1000069", "warehouseCode": "UK0001", "inReturnInventory": "Y", "isActive": "Y", "pageSize": str(step), "pageNum": "1" } action = 'queryWarehouseStorage' try: oauth = wytOauth.Wyt() params = oauth.get_request_par(data, action) res = requests.post(base_url, json=params) ret = json.loads(res.content) if ret['code'] == 0: rows = self._parse_response(ret['data']['list']) self.save_data(rows) if ret['data']['total'] >= step: page = math.ceil(ret['data']['total'] / step) for i in range(2, page + 1): data['pageNum'] = str(i) params = oauth.get_request_par(data, action) response = requests.post(base_url, json=params) result = json.loads(response.content) rows = self._parse_response(result['data']['list']) self.save_data(rows) except Exception as e: self.logger.error('failed cause of {}'.format(e))
def get_data(self): step = 100 data = { # "skuCode": "UK-A009801", "pageSize": str(step), "pageNo": "1" } action = 'winit.mms.item.list' try: oauth = wytOauth.Wyt() params = oauth.get_request_par(data, action) res = requests.post(self.base_url, json=params) ret = json.loads(res.content) # print(ret) if ret['code'] == '0': self._parse_response(ret['data']['list']) if ret['data']['pageParams']['totalCount'] > step: page = math.ceil(ret['data']['pageParams']['totalCount'] / step) for i in range(2, page + 1): data['pageNo'] = str(i) params = oauth.get_request_par(data, action) response = requests.post(self.base_url, json=params) result = json.loads(response.content) self._parse_response(result['data']['list']) except Exception as e: self.logger.error('failed cause of {}'.format(e))
def __init__(self): super().__init__() self.config = Config().get_config('ebay.yaml') self.base_name = 'mssql' self.warehouse = 'mysql' self.cur = self.base_dao.get_cur(self.base_name) self.con = self.base_dao.get_connection(self.base_name) self.warehouse_cur = self.base_dao.get_cur(self.warehouse) self.warehouse_con = self.base_dao.get_connection(self.warehouse) self.base_url = "http://openapi.winit.com.cn/openapi/service" self.end_time = str(datetime.datetime.today() - datetime.timedelta(days=1))[:10] self.begin_time = str(datetime.datetime.today() - datetime.timedelta(days=91))[:10] self.oauth = wytOauth.Wyt()
def get_package_number(self, order_num): # 获取跟踪号 action = 'queryOutboundOrder' data = {'outboundOrderNum': order_num} oauth = wytOauth.Wyt() params = oauth.get_request_par(data, action) trackingNum = '' res = requests.post(self.base_url, json=params) ret = json.loads(res.content) if ret['code'] == 0: try: trackingNum = ret['data']['list'][0]['trackingNum'] except BaseException: trackingNum = '' return trackingNum
def create_wyt_order(self, data): # 创建万邑通出库单 action = 'createOutboundOrder' try: oauth = wytOauth.Wyt() params = oauth.get_request_par(data, action) res = requests.post(self.base_url, json=params) ret = json.loads(res.content) trackingNum = '' outboundOrderNum = '' if ret['code'] == 0: outboundOrderNum = ret['data']['outboundOrderNum'] # outboundOrderNum = 'WO3383663327' trackingNum = self.get_package_number(outboundOrderNum) if len(trackingNum) == 0: trackingNum = '待取跟踪号' logs = ('ur_cleaner ' + str(datetime.datetime.today())[:19] + ' >订单编号:' + str(data['sellerOrderNo']) + ' 提交订单成功! 跟踪号: 待取跟踪号 内部单号:' + str(outboundOrderNum)) else: logs = ('ur_cleaner ' + str(datetime.datetime.today())[:19] + ' >订单编号:' + str(data['sellerOrderNo']) + ' 获取跟踪号成功! 跟踪号:' + str(trackingNum)) else: logs = ('ur_cleaner ' + str(datetime.datetime.today())[:19] + ' >订单编号:' + str(data['sellerOrderNo']) + ' 提交订单失败! 跟踪号: 错误信息:' + str(ret['msg'])) # 异常处理 # 加其它备注:邮编,地址超长,收货人,尺寸 self.update_order_remark(data['sellerOrderNo'], ret['msg']) update_params = { 'orderNum': outboundOrderNum, 'trackingNum': trackingNum, 'order_id': data['sellerOrderNo'], 'Logs': logs } self.update_order(update_params) self.logger.info(f'success to create {data["sellerOrderNo"]}') except Exception as e: self.logger.error( f'failed to create {data["sellerOrderNo"]} cause of {e}')
def get_package_number(self, order): action = 'queryOutboundOrderList' begin = str(order['ORDERTIME'])[:10] end = str(datetime.datetime.today())[:10] data = { 'sellerOrderNo': order['NID'], 'dateOrderedStartDate': begin, 'dateOrderedEndDate': end, 'pageSize': 10, 'pageNum': 1 } oauth = wytOauth.Wyt() params = oauth.get_request_par(data, action) tracking_number = '' res = requests.post(self.base_url, json=params) ret = json.loads(res.content) if ret['code'] == 0: tracking_number = ret['data']['list'][0]['trackingNo'] return tracking_number