Ejemplo n.º 1
0
    def express_confirm_direct_return(cls, account='AUTOEXPRESS', order_ids=[], distributor_short_name=''):
        """
        快递直退
        :param account:
        :param order_ids:
        :param distributor_short_name:
        :return:
        """
        print u'*' * 20 + u'快递直退'
        ids = ''
        for order_id in order_ids:
            ids += order_id
            ids += '\n'

        obj = demjson.decode(ExpressUtil.express_get_direct_return_info(account=account, order_ids=order_ids))

        if int(obj['total']) != len(order_ids):
            raise StandardError(u'>>>>>>>>>>有错误的运单号')

        keys = ''
        for item in obj['rows']:
            keys += item['id']
            keys += ','

        url = tmsBase.base_url + '/tms/goods/expressReturnStraightGoodsController/returnStraight.do'

        data = dict()
        data['deliveryDealer'] = BaseInfo.get_distributor(short_name=distributor_short_name)
        data['ids'] = ids
        data['returnGoodsExpnumber'] = datetime.now().strftime('%y%m%d%H%M%S')

        resp = HttpRequest.post_request(TmsLogin.get_session(account), url, data=data)
        print u'退货快递单号:' + data['returnGoodsExpnumber']
        print resp

        return data['returnGoodsExpnumber'], resp