Ejemplo n.º 1
0
 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()
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
    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}')
Ejemplo n.º 6
0
    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